Delphi - DbNavigator

 
Vista:

DbNavigator

Publicado por roger (21 intervenciones) el 13/10/2000 00:00:00
Hola:

Como puedo controlar, cuando el usuario pulsa el boton de grabar, si el registro existe en la tabla? Lo he intentado hacer dentro del evento OnClick del DbNavigator, pero cuando entra en ese evento, el error ya ha sido tratado por DELPHI.

Muchas Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE: HAZLE ASI...

Publicado por JACOBO BRITO SALAS (83 intervenciones) el 13/10/2000 00:00:00
Pues hace poco, tenia el mismo problema, pero lo resolví, selecciona tu tabla, ve al evento OnErrorPost(algo asi..), ahi puedes controlarlo, que mande el mensaje que tu quieras P/e "El Registro ya Existe", que tengas suerte...
JABS..
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

prueba

Publicado por rcmks (2 intervenciones) el 19/10/2000 00:00:00
para delphi 3 en adelante:

procedure TForm1.TTable1PostError(DataSet:TDataSet; E: EDatabaseError; var action: TDataAction);
var i:Integer;
begin
if(E is EDBEngineError) then
with (E as EDBEngineError) do
for i:= Pred(ErrorCount) downto 0 do
with Errors[i] do
if ErrorCode = DBIERR_KEYVIOL then
begin
MessageBeep($FFFF);
MessageDlg(´Tu mensaje´,mtWarning,[mbOk],0);
Action:= daAbort;
Break;
end
Else
begin
MessageBeep($FFFF);
MessageDlg(´Error al actualizar la información, si el error persiste reinicie el sistetema...´,mtWarning,[mbOk],0);
Action:= daAbort;
Break;
end;

TTable1.Cancel;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DbNavigator

Publicado por Fausto Fabian Garcete (1 intervención) el 22/03/2010 04:06:58
este es un ejemplo de cuando se pulsa unos de los botones, en este caso el boton cancel.

procedure Tcierrecaja.DBNavigator2Click(Sender: TObject;
Button: TNavigateBtn);
begin
if button = nbcancel then
button2.Enabled := false;
end;

tambien les dejo este otro truco sirve para detectar cualquier boton pulsado.

Podemos determinarlo usando el evento OnClick del propio TDBNavigator

Un ejemplo:



procedure TForm1.DBNavigator1Click(Sender: TObject; Button:
TNavigateBtn);
var
BtnName: string;
begin
case Button of
nbFirst : BtnName := 'nbFirst';
nbPrior : BtnName := 'nbPrior';
nbNext : BtnName := 'nbNext';
nbLast : BtnName := 'nbLast';
nbInsert : BtnName := 'nbInsert';
nbDelete : BtnName := 'nbDelete';
nbEdit : BtnName := 'nbEdit';
nbPost : BtnName := 'nbPost';
nbCancel : BtnName := 'nbCancel';
nbRefresh: BtnName := 'nbRefresh';

end;
MessageDlg(BtnName + ' button clicked.', mtInformation, [mbOK], 0);
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar