Forrm de consulta ser chamado em varios forms?
Pessoal, como faço para aproveitar um form de consulta ser chamado em varios forms o resultado da consulta?
Por exemplo: No form cadastro de contas a receber tenho um botão e chamo o form consulta e no form consulta localizo um cliente e retorno em em dbedit do form cadastro contas receber o nome deste cliente.
O mesmo processo feito chamando de outros forms só que retornando o resultado para o dbedit daquele outro form que chamou.
Para ser retornado por apenas um form eu uso assim (estou concatenando o ID do cliente + o nome do cliente num só resultado, mais isso não tem haver, é apenas para efeito de mostrar no outro edit)
frmcadordserv.cbclientes.text := Format( '%.6d', [dm.clientesidclientes.value ] )+ ' | '+dslocal.DataSet.FieldByName('nomeclie').asstring;
close;
frmcadordserv.cbclientes.SetFocus;
Agora para varios form's ai eu não sei como fazer.
Por exemplo: No form cadastro de contas a receber tenho um botão e chamo o form consulta e no form consulta localizo um cliente e retorno em em dbedit do form cadastro contas receber o nome deste cliente.
O mesmo processo feito chamando de outros forms só que retornando o resultado para o dbedit daquele outro form que chamou.
Para ser retornado por apenas um form eu uso assim (estou concatenando o ID do cliente + o nome do cliente num só resultado, mais isso não tem haver, é apenas para efeito de mostrar no outro edit)
frmcadordserv.cbclientes.text := Format( '%.6d', [dm.clientesidclientes.value ] )+ ' | '+dslocal.DataSet.FieldByName('nomeclie').asstring;
close;
frmcadordserv.cbclientes.SetFocus;
Agora para varios form's ai eu não sei como fazer.
Adriano Dolce
Curtidas 0
Respostas
Adriano Dolce
17/04/2010
Até que ja estou chamando o form de consulta, mas não esta funcionando como deveria. Ou seja na
primeira chamada não traz o nome do cliente, apenas da segunda em diante
O codigo de chamada do form é este
Código:
No form de consulta tenho setado no dblclick do dbgrid o mesmo do botão de sair do form que é
Código:
Estranho que faço o mesmo processo para chamar este form de outro form (Tfrmcadordserv) e funciona na primeira chamada
Código:
Se eu debugar o código esta voltando um erro estranho de CPU
Vejam a imagem
O codigo de chamada do form é este
Código:
procedure
TfrmCadContasReceber.spBuscaClienteClick(Sender: TObject);
begin
{---------------------------------------------------------------------}
{ chama o form de consulta de clientes, uso este método para chamar
}
{ de qualquer form }
{---------------------------------------------------------------------}
Application.CreateForm(Tfrmlocalcli, frmlocalcli);
if frmlocalcli.ShowModal = mrOk then
begin
txtNome_Cliente.Text := dm.clientesnomeclie.AsString;
txtNome_Cliente.SetFocus;
end;
FreeAndNil(frmlocalcli);
end;No form de consulta tenho setado no dblclick do dbgrid o mesmo do botão de sair do form que é
Código:
modalresult := mrOk;
Estranho que faço o mesmo processo para chamar este form de outro form (Tfrmcadordserv) e funciona na primeira chamada
Código:
procedure
Tfrmcadordserv.buscaclieClick(Sender: TObject);
begin
{---------------------------------------------------------------------}
{ chama o form de consulta de clientes, uso este método para chamar
}
{ de qualquer form }
{---------------------------------------------------------------------}
Application.CreateForm(Tfrmlocalcli, frmlocalcli);
if frmlocalcli.ShowModal = mrOk then
begin
txtNome_Cliente.text := Format( '%.6d', [dm.clientesidclientes.value
] )+ ' | '+dm.clientesnomeclie.AsString;
txtNome_Cliente.SetFocus;
end;
FreeAndNil(frmlocalcli);
end;Se eu debugar o código esta voltando um erro estranho de CPU
Vejam a imagem
GOSTEI 0
Adriano Dolce
17/04/2010
Resolvido, em vez de eu jogar para o dbedit o resultado mandei direto para o dataset
Valeu pessoal....
Application.CreateForm(Tfrmlocalcli, frmlocalcli);
if frmlocalcli.ShowModal = mrOk then
begin
dslocal.DataSet.FieldByName('CLIENTE').AsString := dm.clientesnomeclie.AsString;
txtNome_Cliente.SetFocus;
end;
FreeAndNil(frmlocalcli);Valeu pessoal....
GOSTEI 0
Fábio Cruz
17/04/2010
Amigo tem um ótimo componente de terceiros que faz isso
é LapComponents
de uma olhada na video-aula https://www.devmedia.com.br/post-4716-Sistema-completo-com-Delphi-7-dbExpress-e-Firebird-2-0-Parte-VII.html
A única coisa que ele funciona com DBExpress
é LapComponents
de uma olhada na video-aula https://www.devmedia.com.br/post-4716-Sistema-completo-com-Delphi-7-dbExpress-e-Firebird-2-0-Parte-VII.html
A única coisa que ele funciona com DBExpress
GOSTEI 0
Adriano Dolce
17/04/2010
Obrigado pela ajuda Fabio, mais eu não utilizo DBX...
Valeu amigo
Valeu amigo
GOSTEI 0