Erro ShowMessage
07/12/2003
0
Como fazer para interceptar o erro, emitir uma menssagem e sair do procedimento quando, as datas não forem preenchidas ou a data inicial for maior que a data final?
Estou usando esta consulta:
procedure TfrmConsulta.SpeedButton1Click(Sender: TObject);
begin
qOSnull.Close;
qOSnull.SQL.Clear;
qSomanull.Close;
qSomanull.SQL.Clear;
qOSnull.SQL.Add(´Select OS, Codigo, Aparelho, Marca, Entrada, Orcamento, Saida, DtaExe, Tecnico, Maodeobra, Comissao, Totalpecas, TotalGeral From tlbOrdemServ Where Aparelho Like :Apa And Entrada Between :Data1 And :Data2´);
qSomanull.SQL.Add(´Select Sum(tlbOrdemServ. Maodeobra) As Servico, Sum(tlbOrdemServ.Comissao) As Cota, Sum(tlbOrdemServ.Totalpecas) As Pecas, Sum(tlbOrdemServ.TotalGeral) As Total From tlbOrdemServ Where Aparelho Like :Apa And Entrada Between :Data1 And :Data2´);
qOSnull.Parameters.ParamByName(´Apa´).Value:=´¬´+Edit1.Text+´¬´;
qOSnull.Parameters.ParamByName(´Data1´).Value:=MaskEdit1.Text;
qOSnull.Parameters.ParamByName(´Data2´).Value:=Maskedit2.Text;
qSomanull.Parameters.ParamByName(´Apa´).Value:=´¬´+Edit1.Text+´¬´;
qSomanull.Parameters.ParamByName(´Data1´).Value:=MaskEdit1.Text;
qSomanull.Parameters.ParamByName(´Data2´).Value:=Maskedit2.Text;
qOSnull.Open;
qSomanull.Open;
speedbutton1.Flat:=true;
end;
Estou usando esta consulta:
procedure TfrmConsulta.SpeedButton1Click(Sender: TObject);
begin
qOSnull.Close;
qOSnull.SQL.Clear;
qSomanull.Close;
qSomanull.SQL.Clear;
qOSnull.SQL.Add(´Select OS, Codigo, Aparelho, Marca, Entrada, Orcamento, Saida, DtaExe, Tecnico, Maodeobra, Comissao, Totalpecas, TotalGeral From tlbOrdemServ Where Aparelho Like :Apa And Entrada Between :Data1 And :Data2´);
qSomanull.SQL.Add(´Select Sum(tlbOrdemServ. Maodeobra) As Servico, Sum(tlbOrdemServ.Comissao) As Cota, Sum(tlbOrdemServ.Totalpecas) As Pecas, Sum(tlbOrdemServ.TotalGeral) As Total From tlbOrdemServ Where Aparelho Like :Apa And Entrada Between :Data1 And :Data2´);
qOSnull.Parameters.ParamByName(´Apa´).Value:=´¬´+Edit1.Text+´¬´;
qOSnull.Parameters.ParamByName(´Data1´).Value:=MaskEdit1.Text;
qOSnull.Parameters.ParamByName(´Data2´).Value:=Maskedit2.Text;
qSomanull.Parameters.ParamByName(´Apa´).Value:=´¬´+Edit1.Text+´¬´;
qSomanull.Parameters.ParamByName(´Data1´).Value:=MaskEdit1.Text;
qSomanull.Parameters.ParamByName(´Data2´).Value:=Maskedit2.Text;
qOSnull.Open;
qSomanull.Open;
speedbutton1.Flat:=true;
end;
Jose
Curtir tópico
+ 0
Responder
Posts
07/12/2003
Adilsond
if Trim(MaskEdit1.Text) = ´/ /´ then
begin
MaskEdit1.SetFocus;
Raise Exception.Create(´Informe a data inicial.´);
end;
if Trim(MaskEdit2.Text) = ´/ /´ then
begin
MaskEdit2.SetFocus;
Raise Exception.Create(´Informe a data final.´);
end;
try
StrToDate(MaskEdit1.Text);
except
MaskEdit1.SetFocus;
Raise Exception.Create(´Data inicial inválida.´);
end;
try
StrToDate(MaskEdit2.Text);
except
MaskEdit2.SetFocus;
Raise Exception.Create(´Data final inválida.´);
end;
if StrToDate(MaskEdit2.Text) < StrToDate(MaskEdit1.Text) then
begin
MaskEdit1.SetFocus;
Raise Exception.Create(´Data inicial menor que a data final.´);
end;
coloque aqui o seu código
begin
MaskEdit1.SetFocus;
Raise Exception.Create(´Informe a data inicial.´);
end;
if Trim(MaskEdit2.Text) = ´/ /´ then
begin
MaskEdit2.SetFocus;
Raise Exception.Create(´Informe a data final.´);
end;
try
StrToDate(MaskEdit1.Text);
except
MaskEdit1.SetFocus;
Raise Exception.Create(´Data inicial inválida.´);
end;
try
StrToDate(MaskEdit2.Text);
except
MaskEdit2.SetFocus;
Raise Exception.Create(´Data final inválida.´);
end;
if StrToDate(MaskEdit2.Text) < StrToDate(MaskEdit1.Text) then
begin
MaskEdit1.SetFocus;
Raise Exception.Create(´Data inicial menor que a data final.´);
end;
coloque aqui o seu código
Responder
08/12/2003
Sparch
Achei o codigo bastante interessante, postei-o novamente somente com a formatação...
if Trim(MaskEdit1.Text) = ´/ /´ then begin MaskEdit1.SetFocus; Raise Exception.Create(´Informe a data inicial.´); end; if Trim(MaskEdit2.Text) = ´/ /´ then begin MaskEdit2.SetFocus; Raise Exception.Create(´Informe a data final.´); end; try StrToDate(MaskEdit1.Text); except MaskEdit1.SetFocus; Raise Exception.Create(´Data inicial inválida.´); end; try StrToDate(MaskEdit2.Text); except MaskEdit2.SetFocus; Raise Exception.Create(´Data final inválida.´); end; if StrToDate(MaskEdit2.Text) < StrToDate(MaskEdit1.Text) then begin MaskEdit1.SetFocus; Raise Exception.Create(´Data inicial menor que a data final.´); end; //coloque aqui o seu código
Responder
Clique aqui para fazer login e interagir na Comunidade :)