Fórum Delphi Firebird, salvar e imediatamente imprimir o registro #366390
23/11/2008
0
Delphi e Firebird 2.0 conexao componente IBDAC
Tenho a tabela AIH com o campo chave primaria id_aih, com o autoincremento feito no proprio Firebird.
no Form tem os botoes (salvar, excluir...e tambem o botao imprimir) deixei o campo id_aih requerid = false.
o botao salvar funciona:
DatMod.Aih.Post;
mas o botão imprimir não funciona se eu na hora que salvar mandar imprimir o mesmo registro, da o seguinte erro:
´is not a valid integer value´. Process stopped. Use Step or Run to continue.
mas se depois que eu salvar, navegar pelos campos ele imprime qualquer um deles.
botao imprimir:
procedure TAih.Button5Click(Sender: TObject);
begin
MyQueryAIH.Active := False;
MyQueryAIH.SQL.Clear;
MyQueryAIH.SQL.Add(´SELECT * from aih´);
MyQueryAIH.SQL.Add(´where id_aih = :cod´);
MyQueryAIH.Params[0].AsInteger := StrToInt(DBedit1.Text);
MyQueryAIH.Open;
MyQueryAIH.Active:=true;
MyQueryAIH.Active := False;
end;
Tenho a tabela AIH com o campo chave primaria id_aih, com o autoincremento feito no proprio Firebird.
no Form tem os botoes (salvar, excluir...e tambem o botao imprimir) deixei o campo id_aih requerid = false.
o botao salvar funciona:
DatMod.Aih.Post;
mas o botão imprimir não funciona se eu na hora que salvar mandar imprimir o mesmo registro, da o seguinte erro:
´is not a valid integer value´. Process stopped. Use Step or Run to continue.
mas se depois que eu salvar, navegar pelos campos ele imprime qualquer um deles.
botao imprimir:
procedure TAih.Button5Click(Sender: TObject);
begin
MyQueryAIH.Active := False;
MyQueryAIH.SQL.Clear;
MyQueryAIH.SQL.Add(´SELECT * from aih´);
MyQueryAIH.SQL.Add(´where id_aih = :cod´);
MyQueryAIH.Params[0].AsInteger := StrToInt(DBedit1.Text);
MyQueryAIH.Open;
MyQueryAIH.Active:=true;
MyQueryAIH.Active := False;
end;
Boavida
Curtir tópico
+ 0
Responder
Posts
26/11/2008
Sistemald
Rapaz, o grande problema é que você não tem o ID que é gerado no Firebird, fica dificil chamar a impressão do mesmo, minha solução é você pegar o valor do generator e passar ele no cadastro, desta forma você terá o ID do registro e poderá chamar o relatório.
SQL para pegar o valor de um generator
é só passar o nome do genertator no parametro :GEN
SQL para pegar o valor de um generator
select gen_id(:GEN, 1) result from rdb$database
é só passar o nome do genertator no parametro :GEN
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)