Delete record?

04/12/2003

3

Não consigo traduzir o delete record, dá essa mensagem abaixo:

[Error] uDM.pas(87): Statement expected, but expression of type ´Integer´
found

tentei isso no evento beforedelete

if MessageDlg(´Eliminar o Registro?´,mtConfirmation,[mbYes,mbNo],0)<>mrYes then Abort;

e quando eu coloque sysutils na frente do abort, tipo sysutils.abort, compila , mas a mensagem continua delete record?


Responder

Posts

04/12/2003

Deus

Bem, não sei quem é o objeto que está tentando deletar o registro, mas eu desconfio que seja um DBGrid, a julgar pela caixa de diálogo. Se for, verifique se Options -> dgConfirmDelete está em [b:124ebf98b1]False[/b:124ebf98b1], pois aí pode estar o seu problema. Se for outro componente, verifique se ele tem alguma propriedade parecida, e faça com que o controle de deleção não seja dele, mas exclusivamente do DataSet ou da Query ao qual o componente está ligado.

Espero que tenha sido útil. ;) Abraços, dEUS.


Responder

04/12/2003

Luineumann

Acredito que o que vc queira seja isso:

procedure Tdm.tbTipBeforeDelete(DataSet: TDataSet);
begin
if MessageDlg(´Eliminar o Registro?´,mtConfirmation,[mbYes,mbNo],0)<>mrYes then DataSet.Cancel;

onde DataSet é o parametro da procedure BeforeDelete e é Cancel, não Abort

end;


Responder

04/12/2003

Norotico

funcionou, porém. antes de aparecer a tela traduzida, apareça a tela padrão delete record, eu dou ok nessa só aí aparece a traduzida


Responder

04/12/2003

Luineumann

deculpe, falei besteira o cancel apenas cancela um edit ou insert e não um delete ... deveria ser o abort mas dá erro

o seu programa tem onde a declaração da tabela - no próprio formulário ou no data module - fiz um teste e colquei numa tabela declarada no próprio formulário e não do data module então compila ok ...

experimenta fazer o seguinte -

mude a ordem dos uses no início da sua unit? ela tem uses bde? se tiver coloca

no meu teste estava

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, LibFuncs, DBTables, Bde ; // chamada da unit Bde após a SysUtils

mudei para

uses
Windows, Messages, Bde, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, LibFuncs, DBTables; // chamada da unit Bde antes da SysUtils - compilou ok


Responder