Fórum Tratar campos #242796
13/07/2004
0
Vou manda o codigo , ele ta com uns erros na cara dura!
procedure TDataModule2.ClientDataSetBeforePost(DataSet: TDataSet);
begin
if FRMinserir.DBEdit2.Text = ´´ then
begin
ShowMessage(´Insira a espécie do pedido´);
FRMinserir.DBEdit2.SetFocus;
DataModule1.Abrir.Execute;
end;
if FRMinserir.DBEdit3.Text = ´´ then
begin
ShowMessage(´Insira a o sistema do pedido saida´);
end;
if FRMinserir.DBEdit4.Text = ´´ then
begin
ShowMessage(´Insira a data de transição´);
end;
if FRMinserir.DBEdit5.Text = ´´ then
begin
ShowMessage(´Insira o numero da atualização´);
end;
if FRMinserir.DBEdit6.Text = ´´ then
begin
ShowMessage(´Insira a data de atualização´);
end;
if FRMinserir.DBEdit7.Text = ´´ then
begin
ShowMessage(´Insira o tipo de ajuste´);
end;
if FRMinserir.DBEdit8.Text = ´´ then
begin
ShowMessage(´Insira a espécie do pedido´);
end;
if FRMinserir.DBEdit9.Text = ´´ then
begin
ShowMessage(´Insira o modo de pagamento´);
end;
Isso é um parte dele, tem ainda!
Aguardo respostas !
Obrigado!
Deryck
Curtir tópico
+ 0Posts
13/07/2004
Tnaires
Primeiro, é mais seguro tratar os Values dos campos, não os Texts dos DBEdits. Substituindo uma das suas linhas, ficaria assim:
if Table1Campo1.AsString = ´´ then begin ShowMessage(´Insira a o sistema do pedido saida´); end;
Ou, dependendo do caso:
if Table1Campo1.IsNull then begin ShowMessage(´Insira a o sistema do pedido saida´); end;
Segundo, todas essas linhas podem ser retiradas se vc ajustar os campos no seu banco de dados como Requeridos. Dependendo do seu banco, as mensagens de erro podem ser ajustadas nele, e vc somente faz o Delphi capturar o objeto Exception resultante do erro e mostrar na tela a mensagem q vc indicou (E.Message).
Gostei + 0
13/07/2004
Tnaires
Gostei + 0
13/07/2004
Deryck
if Table1Campo1.AsString = ´´ then begin ShowMessage(´Insira a o sistema do pedido saida´); end;
if Table1Campo1.IsNull then begin ShowMessage(´Insira a o sistema do pedido saida´); end;
Não uso componente table, o que eu quero é quando ele vereficar e encotrar um erro, que seja possível eu editar logo apos eu der ok na exibição do erro!
Ele ,ao invés de deixar eu modificar o campo que esta errado, ele continua a execução e acaba aceitando!
Gostei + 0
13/07/2004
Rômulo Barros
procedure TfrmOpeEmpresa.btbtnConfirmarClick(Sender: TObject); Var intC : Byte; begin For intC := 0 To ClientDataSet.FieldCount -1 Do Begin If(ClientDataSet.Fields[intC].Required)Then Begin If(Trim(ClientDataSet.Fields[intC].Text)=´´)Then Begin ShowMessage(´Preencha o campo ´ + ClientDataSet.Fields[intC].DisplayLabel); Exit; End; End; End; ClientDataSet.Post; ClientDataSet.ApplyUpdates(0);
Gostei + 0
13/07/2004
Tnaires
Primeiro, não importa o tipo de componente (Table, Query, IBQuery, etc..). Herdando de TDataSet, serve.
Segundo, o q eu te falei faz exatamente o q vc afirmou, com a vantagem d vc economizar escrita d código no seu programa e deixar q o seu banco d dados faça a tarefa para vc.
[b:ee8b37a0a2]Eu[/b:ee8b37a0a2] acho bem mais útil.
Abraços.
Gostei + 0
13/07/2004
Deryck
Ah soh, so que o problema é que quem me mando fazer, mando eu faze dessa forma, no banco seria mais fácil mesmo,mas valeu a intenção !
Ate mais !
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)