Problema com pesquisa
08/07/2004
0
O que não estou conseguindo fazer, é após achar o funcionário q quero manipular, fechar esse form de pesquisa e fazer com q esse funcionário pesquisado vá para o form de cadastro (o 1° aberto), já fiz isso em sistema q usava dbedit, aí dava um findkey na tabela e já era, qdo fechava a pesquisa o form de cadastro já estava no registro selecionado, mas nesse sistema preciso usar somente edit ao invés de dbedit.
Alguém tem alguma dica ou sugestão?
Marco
Posts
08/07/2004
Omar Cury
há várias formas de se fazer isso...
ex. usando 2 tabelas (tabPesquisa e tabCliente)
Antes de vc fechar o formulario de pesquisa(depois que vc achou o cliente) vc tem que localizar na tabClientes a chave primária da tabela ´tabPesquisa´ atraves de um select(com parametros), locate ou usando o FindKey.
ex. do Locate
tabClientes.locate(´Codigo´,TabPesquisaCodigo.Value,[]);
Se nao entendeu, eu tento melhorar na próxima... :wink:
09/07/2004
J_gus
ve se te serve...
primeiro crie um form onde vc colocara um DBGrid, coloque nesse form uma query e uma DataSource. Ligue o DBGrid a query e o DataSource
adicione tambem a esse form dois BitBtn. Sete a propriedade Kind de um como bkOk e o outro como bkCancel.
agora no evento onKeyPress do edit que vc vai realizar a busca no seu formulario principal carregue a query do form que vc criou com o comando SQL tipo assim:
Form1 := TForm1.Create(Self);
Form1.Query1.SQL.Add(´blablablablala´);
depois abra a query.. faca a verificacao se ela trouxe algum registro. Se achar coloque assim:
Begin
if Form1.showmodal = MrOk then
Begin
QBusca.Close;
QBusca.SQL.Clear;
QBusca.SQL.Add(´SELECT * FROM MOTIVO_DEVOLUCAO WHERE COD_MDV = ´ + IntToStr(F_Busca.QBuscager.FieldByName(´CODIGO´).AsInteger) );
QBusca.Prepare;
QBusca.Open;
deste modo ele vai carregar o registro que foi encontrado e selecionado em uma query no seu proprio form ai eh só mandar os registros para o Edit.
Não sei se ficou bem claro.. quelquer dúvida entre em contato ok???
09/07/2004
Beppe
edFuncName.Text := tabFuncs.FieldByName(´NOME´).AsString;
12/07/2004
Adeno
Bom se for essa idéia, eu vou te dar uma idéia, é o seguinte:
- Depois de filtrar ai da maneira que vc quiser, ou filter, ou query vc vai ter seu dataset
- Nesse form que vc ta aperta Alt+F11, e escolhe a Unit do Form que vc quer enviar os dados.
O que vai acontecer?
Agora vc terá acesso aos itens do outro form, então quando vc estiver no seu Form2->Unit2 poderá mandar seus dados para o Form1->Unit1.
Exemplo:
Form1.Edit1.Text:=Edit1.Text;
Vc vai mandar um texto do Edit1 do seu Form2 para o Edit1 do Form1, não sei se era bem isso que vc tava kerendo....
Falow
Clique aqui para fazer login e interagir na Comunidade :)