Retorno de Valores em Forms
Olá!
Crio dinamicamente apartir de um form -> cadastro
e mostro em ´modal´
um form -> consulta.
(frm_consulta.showmodal)
no form -> consulta tem
um grid,
um edit,
um button localizar,
um button fechar.
no caso vou fazer um select no campo -> nome
com o valor informado no -> edit
quando clicado em -> localizar
na query, digamos que retorne ´N´ registros
com os respectivos campos
-> nome
-> chave.
O usuario teria que selecionar no grid
um determinado -> nome,
e neste momento eu pegaria -> a chave
Não sei como trazer para o
form -> cadastro (que chamou)
o form -> consulta
o valor da -> chave (uma string)
quando o usuário clicar no botão fechar.
eu teria que testar se retornou -> sem conteudo
(não achou dados ou o usuário não selecionou)
ou se retornou alguma -> chave
(achou e o usuario selecionou no grid)
para pesquisar se for o caso -> a chave
para mostrar todos os dados (campos)
no form -> cadastro
para edição, exclusão, etc.
utilizo delphi 7, dbexpress, firebird.
grato se puderem me dar um exemplo.
User-BA
Crio dinamicamente apartir de um form -> cadastro
e mostro em ´modal´
um form -> consulta.
(frm_consulta.showmodal)
no form -> consulta tem
um grid,
um edit,
um button localizar,
um button fechar.
no caso vou fazer um select no campo -> nome
com o valor informado no -> edit
quando clicado em -> localizar
na query, digamos que retorne ´N´ registros
com os respectivos campos
-> nome
-> chave.
O usuario teria que selecionar no grid
um determinado -> nome,
e neste momento eu pegaria -> a chave
Não sei como trazer para o
form -> cadastro (que chamou)
o form -> consulta
o valor da -> chave (uma string)
quando o usuário clicar no botão fechar.
eu teria que testar se retornou -> sem conteudo
(não achou dados ou o usuário não selecionou)
ou se retornou alguma -> chave
(achou e o usuario selecionou no grid)
para pesquisar se for o caso -> a chave
para mostrar todos os dados (campos)
no form -> cadastro
para edição, exclusão, etc.
utilizo delphi 7, dbexpress, firebird.
grato se puderem me dar um exemplo.
User-BA
Userba
Curtidas 0
Respostas
Kenio_c
31/08/2005
Ola amigo,
De uma olhada no comando Locate, ele funciona assim
vc seleciona a chave primaria e passa como um parametro a qual ele vai setar, no seu caso onde a pesso clicar no seu grid, depois no close do formulario passa esse comando que no seu outro form estara as informacoes setadas.
De uma olhada no comando Locate, ele funciona assim
vc seleciona a chave primaria e passa como um parametro a qual ele vai setar, no seu caso onde a pesso clicar no seu grid, depois no close do formulario passa esse comando que no seu outro form estara as informacoes setadas.
GOSTEI 0
Userba
31/08/2005
Ola amigo,
De uma olhada no comando Locate, ele funciona assim
vc seleciona a chave primaria e passa como um parametro a qual ele vai setar, no seu caso onde a pesso clicar no seu grid, depois no close do formulario passa esse comando que no seu outro form estara as informacoes setadas.
Deixe-me tentar explicar melhor...
no form da consulta vou utilizar um ex:
sqlquery1 para executar uma SQL.
mas eu preciso que uma ´variável´ me retorne
a chave selecionada ou um valor ´´ (em branco)
caso não localize registros.
Porque no form que chamou o da consulta
eu vou ter fazer um outro SQL (mais complexo)
em outra sqlquery2
com base no valor de tal variável
(que seria a -> chave, caso ela tenha retorno <> de branco ´´).
essa chave é do tipo string.
Será que eu tenho que criar uma varíavel ´global´
para assumir o valor da ´chave´ ou em ´branco´...
(resulta de sqlquery1)
de forma que eu possa enchergar este ´valor´
no form que chamou?
Fico pensando se tem como chamar um form passando um parametro.
no caso a variavel que retornaria o resultado da consulta :
s_resultado_consulta (a chave ou em branco)
he he he..
algo parecedido com:
frm_consulta.showmodal(s_resultado_consulta);
e quando o form da consulta fosse fechado
eu tivesse como retorno
a variavel s_resultado_consulta já preenchida
(com a chave ou em branco).
normalmente chamo meus forms assim:
procedure Tfrm_principal.mnu_usuariosClick(Sender: TObject);
var
frm_usuarios : Tfrm_usuarios;
begin
frm_usuarios := Tfrm_usuarios.Create(Application);
frm_usuarios.ShowModal;
frm_usuarios.Free;
end;
utilizo delphi7, dbexpress, firebird.
GOSTEI 0
Rjun
31/08/2005
Crie uma propriedade no seu form de consulta que armazene o codigo de retorno. Depois no form q chamou a consulta você acessa essa propriedade.
GOSTEI 0
José Henrique
31/08/2005
userba,
Esta dica pode complementar o que você está procurando: você pode usar o retorno do método .ShowModal para saber que tecla o usuário apertou no frm_usuarios
No frm_usuarios você tem que acertar a propriedade ´ShowModal´ dos botões conforme o desejado (mrOk, mrCancel etc.) ou atribuir via código antes de fechar o form:
Esta dica pode complementar o que você está procurando: você pode usar o retorno do método .ShowModal para saber que tecla o usuário apertou no frm_usuarios
if frm_usuarios.ShowModal = idOk then //apertou o botão OK else //apertou Cancelar (ou outro ou fechou); frm_usuarios.Free
No frm_usuarios você tem que acertar a propriedade ´ShowModal´ dos botões conforme o desejado (mrOk, mrCancel etc.) ou atribuir via código antes de fechar o form:
ModalResult := mrOK;
GOSTEI 0