Ver Mensaje Individual
  #15  
Antiguo 04-01-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 25
Caral Va por buen camino
Hola
Como soy casi adivino, lo sabia, abres la tabla en el formshow, que es casi lo mismo que el formcreate.
Solucion:
Coloca un nuevo boton (Actualiza).
y el codigo quedaria asi:
Código Delphi [-]
unit UAsignatura;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, DB, Mask, DBCtrls, Buttons, ComCtrls, Grids,
DBGrids;
type
TFAsignatura = class(TForm)
Label1: TLabel;
EdCodigoas: TDBEdit;
DataSource1: TDataSource;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
GroupBox1: TGroupBox;
Label7: TLabel;
Edcodigoemp: TDBEdit;
Image1: TImage;
CBNombreas: TDBComboBox;
CBGradoas: TDBComboBox;
CBCicloas: TDBComboBox;
CBNivelas: TDBComboBox;
CBSemestreas: TDBComboBox;
BtnNuevo: TBitBtn;
BtnGuardar: TBitBtn;
BtnModificar: TBitBtn;
BtnEliminar: TBitBtn;
BtnSalir: TBitBtn;
Panel1: TPanel;
StatusBar1: TStatusBar;
Label8: TLabel;
DBEdit1: TDBEdit;
DataSource2: TDataSource;
Label9: TLabel;
DBEdit2: TDBEdit;
DBGAsignatura: TDBGrid;
Panel2: TPanel;
procedure BtnNuevoClick(Sender: TObject);
procedure EdCodigoasKeyPress(Sender: TObject; var Key: Char);
procedure CBGradoasKeyPress(Sender: TObject; var Key: Char);
procedure CBCicloasKeyPress(Sender: TObject; var Key: Char);
procedure CBNombreasKeyPress(Sender: TObject; var Key: Char);
procedure CBNivelasKeyPress(Sender: TObject; var Key: Char);
procedure CBSemestreasKeyPress(Sender: TObject; var Key: Char);
procedure EdcodigoempKeyPress(Sender: TObject; var Key: Char);
procedure BtnGuardarClick(Sender: TObject);
procedure BtnModificarClick(Sender: TObject);
procedure BtnEliminarClick(Sender: TObject);
procedure BtnSalirClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BtnCtualizaClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FAsignatura: TFAsignatura;
implementation
uses UDTM;
{$R *.dfm}

// aqui empieza la parte nueva
procedure TFAsignatura.BtnActualizaClick(Sender: TObject);
begin
dtm.ASIGNATURA.Close;
dtm.ASIGNATURA.Open;
end;
// aqui termina

procedure TFAsignatura.BtnNuevoClick(Sender: TObject);
begin
// dtm.ASIGNATURA.Open; ya esta abierta la tabla en el FormShow
dtm.ASIGNATURA.Insert;
// dtm.ASIGNATURA.Edit; esto es innecesario
Edcodigoas.Enabled:=true;
CBNombreas.Enabled:=true;
CBGradoas.Enabled:=true;
CBCicloas.Enabled:=true;
CBNivelas.Enabled:=true;
CBSemestreas.Enabled:=true;
EdCodigoemp.Enabled:=true;
end;
procedure TFAsignatura.EdCodigoasKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
CBNombreas.SetFocus;
end;
end;
procedure TFAsignatura.CBGradoasKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
CBcicloas.SetFocus;
end;
end;
procedure TFAsignatura.CBCicloasKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
CBNivelas.SetFocus;
end;
end;
procedure TFAsignatura.CBNombreasKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
CBgradoas.SetFocus;
end;
end;
procedure TFAsignatura.CBNivelasKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
CBsemestreas.SetFocus;
end;
end;
procedure TFAsignatura.CBSemestreasKeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 then
begin
EdCodigoemp.SetFocus;
end;
end;
procedure TFAsignatura.EdcodigoempKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
btnGuardar.SetFocus;
end;
end;
procedure TFAsignatura.BtnGuardarClick(Sender: TObject);
begin
dtm.ASIGNATURA.Post;
Edcodigoas.Enabled:=false;
CBNombreas.Enabled:=false;
CBGradoas.Enabled:=false;
CBCicloas.Enabled:=false;
CBNivelas.Enabled:=false;
CBSemestreas.Enabled:=false;
EdCodigoemp.Enabled:=false;
btnguardar.SetFocus;
end;
procedure TFAsignatura.BtnModificarClick(Sender: TObject);
begin
if MessageDlg('Esta seguro que desea modificar este registro', mtInformation, [mbyes, mbno], 0) = mryes then
begin
// dtm.ASIGNATURA.Open;   Ya esta abierta
dtm.ASIGNATURA.Edit;
Edcodigoas.Enabled:=true;
CBNombreas.Enabled:=true;
CBGradoas.Enabled:=true;
CBCicloas.Enabled:=true;
CBNivelas.Enabled:=true;
CBSemestreas.Enabled:=true;
EdCodigoemp.Enabled:=true;
BtnGuardar.SetFocus;
end
end;
procedure TFAsignatura.BtnEliminarClick(Sender: TObject);
begin
if MessageDlg('Esta seguro que desea eliminar este registro', mtInformation, [mbyes, mbno], 0) = mryes then
begin
dtm.ASIGNATURA.Delete;
end
else
abort;
end;
procedure TFAsignatura.BtnSalirClick(Sender: TObject);
begin
Fasignatura.Close;
end;
procedure TFAsignatura.FormShow(Sender: TObject);
begin
dtm.ASIGNATURA.Open;
end;
end.
Espero lo entiendas.
Saludos
Responder Con Cita