duplo clique dbgrid
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!!!
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
Curtidas 0
Respostas
Oscar Candido
11/10/2004
Amigo, diz qual banco de dados e quais componentes está usando.
:lol: :lol:
:lol: :lol:
GOSTEI 0
Marcelo_vms
11/10/2004
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
Uso Banco de Dados paradox7 SQL, Table e um DbGrid.
sou iniciante no assunto...
Se puder me ajudar ficaria muito agradecido...
antecipadamente, Obrigado
GOSTEI 0
Oscar Candido
11/10/2004
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:
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
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
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
GOSTEI 0
Marcelo_vms
11/10/2004
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...
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...
GOSTEI 0
Marcelo_vms
11/10/2004
Alguem pode me ajudar
GOSTEI 0
Oscar Candido
11/10/2004
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
Um Abraço
GOSTEI 0
Marcelo_vms
11/10/2004
estou tentando aki colega ainda nao consegui mas agradeço a sua ajuda..
sou iniciante no assunto...kkkkkkk
obrigado...
sou iniciante no assunto...kkkkkkk
obrigado...
GOSTEI 0
Rômulo Barros
11/10/2004
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:
:arrow: [color=blue:8db70ed2a4][b:8db70ed2a4]Agora, basta seguir os passos informados pelos amigos, anteriormente.[/b:8db70ed2a4][/color:8db70ed2a4]
DataType = ftString ParamType = ftInput
:arrow: [color=blue:8db70ed2a4][b:8db70ed2a4]Agora, basta seguir os passos informados pelos amigos, anteriormente.[/b:8db70ed2a4][/color:8db70ed2a4]
GOSTEI 0
Marcelo_vms
11/10/2004
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...
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...
GOSTEI 0
Oscar Candido
11/10/2004
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:
Não desiste não, no final tudo da certo :lol:
GOSTEI 0
Marcelo_vms
11/10/2004
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
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
GOSTEI 0
Marcelo_vms
11/10/2004
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...
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...
GOSTEI 0
Oscar Candido
11/10/2004
Amigo, Algumas observações:
[list:ada26fae33]A menos que o nome da tabela seja ´SuaTabela´, existe um erro na seu código do Query
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
[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
GOSTEI 0
Marcelo_vms
11/10/2004
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...
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...
GOSTEI 0
Rômulo Barros
11/10/2004
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;
GOSTEI 0
Marcopolo5
11/10/2004
Se você não quiser selecionar o registro corrente através de um select que fica mais fácil e de menor custo para o sistema você deve utilizar uma variável do tipo TBookMark ex.:
var
BookMarkList : TBookmark;
begin
BookMarkList := Query.GetBookMark;
quando vc quizer retornar no formulário vc deve fazer
frmFormulario.Query.Gotobookmark(BookMarkList);
// obs as duas queryes devem ser rigorosamente iguais
var
BookMarkList : TBookmark;
begin
BookMarkList := Query.GetBookMark;
quando vc quizer retornar no formulário vc deve fazer
frmFormulario.Query.Gotobookmark(BookMarkList);
// obs as duas queryes devem ser rigorosamente iguais
GOSTEI 0