Fórum duplo clique dbgrid #254042

11/10/2004

0

queria saber como faço para abir o cadastro de um cliente apenas dando um duplo clique no dbgrid.

por exemplo - filtro todos os cliente que tenham o nome Marcelo da Tabela clientes(isso no formulario de pesquisa).

aparece 10 marcelos.

queria q atravez do form de pesquisa abrisse o cadastro de cliente ja no registro do cliente selecionado.

me ajudem por favor...

agradeço a todos atencipadamente...

Obrigado!!!


Marcelo_vms

Marcelo_vms

Responder

Posts

12/10/2004

Oscar Candido

Amigo, diz qual banco de dados e quais componentes está usando.
:lol: :lol:


Responder

Gostei + 0

12/10/2004

Marcelo_vms

Foi mal colega!!!

Uso Banco de Dados paradox7 SQL, Table e um DbGrid.

sou iniciante no assunto...


Se puder me ajudar ficaria muito agradecido...


antecipadamente, Obrigado


Responder

Gostei + 0

12/10/2004

Oscar Candido

Amigo, vou tentar te dizer mais ou menos como eu faria, usando um componente table e um Query;
No componete table, dê um duplo clique sobre ele e na janela que abrir, clique com o botão direito e depois em Add all Fields.Isso fara com que os campos da sua tuabela possam ser tratados como componentes no seu sistema.
Em um componente TQuery, que seria usado para a pesquisa, na propriedade SQL , vc pode usar o seguine código:
Select * from SuaTabela where Nome like :ParNome

Nesse código, o texto ´:ParNome´ é um parâmetro que vai receber o nome do seu cliente.
No evento OnDbClick do DbGrid vc pode usar
  Query1.CLose;
  Query1.ParamByName(´ParNome´).AsString := Table1Name.Value;
  Query1.Open;
  Form2.show;//Seu Formulário de pesquisa 

No seu formulário de pesquisa os componentes devem estar ligados ao componente Query.
Espro que vc tenha entendito tudo bem, e que eu não tenha exagerado nas explicações.
Caso haja mais duvidas é só postar de novo
Um Abraço
Espero ter ajudado


Responder

Gostei + 0

12/10/2004

Marcelo_vms

caro colega...

agradeço pela ajuda, mas esta com um probleminha...

quando vou mudar o campo active do query1 para true, surge a seguinte mensagem.

[i:4db7b320e5]´Query1: Field´ParNome´is of unknown Type´ [/i:4db7b320e5]

Será que poderia me ajudar...

quando executo o sistema sem ativar o query aparece a mesma mensagem quando dou um clique duplo sobre o nome selecionado...


Será que poderia me ajudar...

agradeço...


Responder

Gostei + 0

12/10/2004

Marcelo_vms

Alguem pode me ajudar


Responder

Gostei + 0

12/10/2004

Oscar Candido

Amigo isso está acontecendo pq o parâmentro está vazio.Só abra seu query quando já estiver passado o valor pro parâmetro, deve funcionar assim.
Um Abraço


Responder

Gostei + 0

12/10/2004

Marcelo_vms

estou tentando aki colega ainda nao consegui mas agradeço a sua ajuda..

sou iniciante no assunto...kkkkkkk

obrigado...


Responder

Gostei + 0

13/10/2004

Rômulo Barros

Na sua query, Abra o [u:8db70ed2a4]editor de parâmetros[/u:8db70ed2a4] que está no [b:8db70ed2a4]Object Inspector[/b:8db70ed2a4] (propriedade Params), Selecione o seu parâmetro e configure as propriedades:

DataType    = ftString
ParamType = ftInput


:arrow: [color=blue:8db70ed2a4][b:8db70ed2a4]Agora, basta seguir os passos informados pelos amigos, anteriormente.[/b:8db70ed2a4][/color:8db70ed2a4]


Responder

Gostei + 0

13/10/2004

Marcelo_vms

ainda nao consegui fiz tudo que vcs me indicaram mas ainda nao consequi...

algum de vcs teriam um simples sisteminha, ou qualquer exemplo para me enviar para que eu possa aprender...

se alguem tiver ou puder me ajudar agradeço...


antecipadamente...obrigado...


Responder

Gostei + 0

14/10/2004

Oscar Candido

Amigo, diz exatamente o erro que esta acontecendo, e poste o seu código SQL, pode ser algo nisso tb.
Não desiste não, no final tudo da certo :lol:


Responder

Gostei + 0

15/10/2004

Marcelo_vms

colega agradeço mesmo a sua boa vontade e paciencia comigo.

mas vamos la entao...

Tenho um query, datasource2
Tenho um table1, datasource1

Dbgrid com todos os campos

No dbduploclick tem o seguinte codigo
begin
Query1.CLose;
Query1.ParamByName(´ParNome´).AsString := Table1Nome.Text;
Query1.Open;
Tabsheet2.TabIndex;
end;

No Query1 o parametro na propriedade SQL:

Select * from SuaTabela where Nome like :ParNome

No editor de parametros da query:
DataType = ftString
ParamType = ftInput


quando vou mudar o campo active do query1 para true, surge a seguinte mensagem.

´Query1: Field´ParNome´is of unknown Type´

quando dou um duplo click no grid aparece a seguinte mensagem:

Query1: Field´ParNome´ not found.


agradeço a todos a ajuda....

muito obrigado


Responder

Gostei + 0

15/10/2004

Marcelo_vms

corrigindo...

No duploclick do grid tem o seguinte codigo:
begin
Query1.CLose;
Query1.ParamByName(´ParNome´).AsString := Table1Nome.Text;
Query1.Open;
FrmClientes.show;


obrigado...pela atenção colegas...


Responder

Gostei + 0

15/10/2004

Oscar Candido

Amigo, Algumas observações:
[list:ada26fae33]A menos que o nome da tabela seja ´SuaTabela´, existe um erro na seu código do Query

Select * from [color=red:ada26fae33]SuaTabela [/color:ada26fae33]where [color=green:ada26fae33]Nome [/color:ada26fae33]like :ParNome


No lugar do texto em vermelho, vc deve colocar o nome da tabela que vc criou pra guardar seus registros, e no lugar do texto em verde o nome do campo onde está o nome do seu cliente.

Em tempo de projeto não é necessário mudar o active do Query pra true, no momento em que vc usa o ´Query1.Open´ no duplo clique do dbgrid é como se vc mudasse o Active do componente pra true, sendo assim, vc pode deixa-lo com false mesmo em tempo de projeto.[/list:u:ada26fae33]
Amigo, espero que funcione assim, caso contrário não deixa de postar de novo :D
Um Abraço


Responder

Gostei + 0

15/10/2004

Marcelo_vms

ola colega sou eu de novo

realmente nos campos suatabela e nome estao corretos, no projeto nome seria o nome do cliente.

suatabela seria clientes.


sera que o problema é porque nao uso datamodulo nos meus projetos ou nao tem nada a ver...

sempre aparece aquela mensagem parNome not found.

teria que declarar esse parnome em algum lugar?

agradeço novamente colega a paciencia e a atençao...


Responder

Gostei + 0

16/10/2004

Rômulo Barros

Amigo, ,vamos tentar acessar o parametro pelo seu index. Segue:

No duploclick do grid tem o seguinte codigo: begin Query1.CLose; Query1.Params[0].AsString := Table1Nome.Text; Query1.Open; FrmClientes.show;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar