Um DbGrid para pesquisa e 2(duas) querys .. É possível ?
29/05/2008
0
[quote:77b22ff6cd=´Moderação´][color=red:77b22ff6cd]Título editado por Massuda
Por favor, não use apenas letras maiúsculas no título/texto.
No caso de reincidência, seus tópicos poderão vir a ser bloqueados.
Leia as :arrow: [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url] do fórum.[/color:77b22ff6cd][/quote:77b22ff6cd]
Ola Amigos,
Desculpem, mas se nao persistir, nao aprendo...
Tenho 2 Formularios: Um de Cadastro Fornecedores, e outro de Cadastro de Clientes:
Pois bem, cada formulario tem tabela diferente. O CadFornecedor Abre a Tabela de Fornecedor e o CadCliente, abre a tabela de Cliente.
O problema pra mim está no DBGrid, que só tenho um, no Form de Pesquisa, SENDO QUE A PROPRIEDADE DATASOURCE, SÓ APONTA PARA UMA TABELA
a Pergunta é: ATRAVES DE CÓDIGO, É POSSIVEL MUDAR O DATASET E O DATASOURCE DO DBGRID???
Eu Nao consegui, ele sempre vai me jogar para o que esta apontando na na propriedade do DataSet do DbGrid.
Se for possivel, me digam tambem por gentileza, se tem algum Truque, para dizer no codigo, de que formulario estou vindo, (para montar a SQL com a tabela referente ao formulario)
Eu criei uma Variavel publica para isso, (Ex: 0=Fornec 1=Cliente), mas deve ter outro meio, talvez um TAG etc...
Agradeço a atençao que me for dada.
Jotas.
.
Por favor, não use apenas letras maiúsculas no título/texto.
No caso de reincidência, seus tópicos poderão vir a ser bloqueados.
Leia as :arrow: [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url] do fórum.[/color:77b22ff6cd][/quote:77b22ff6cd]
Ola Amigos,
Desculpem, mas se nao persistir, nao aprendo...
Tenho 2 Formularios: Um de Cadastro Fornecedores, e outro de Cadastro de Clientes:
Pois bem, cada formulario tem tabela diferente. O CadFornecedor Abre a Tabela de Fornecedor e o CadCliente, abre a tabela de Cliente.
O problema pra mim está no DBGrid, que só tenho um, no Form de Pesquisa, SENDO QUE A PROPRIEDADE DATASOURCE, SÓ APONTA PARA UMA TABELA
a Pergunta é: ATRAVES DE CÓDIGO, É POSSIVEL MUDAR O DATASET E O DATASOURCE DO DBGRID???
Eu Nao consegui, ele sempre vai me jogar para o que esta apontando na na propriedade do DataSet do DbGrid.
Se for possivel, me digam tambem por gentileza, se tem algum Truque, para dizer no codigo, de que formulario estou vindo, (para montar a SQL com a tabela referente ao formulario)
Eu criei uma Variavel publica para isso, (Ex: 0=Fornec 1=Cliente), mas deve ter outro meio, talvez um TAG etc...
Agradeço a atençao que me for dada.
Jotas.
.
Jotas
Curtir tópico
+ 0
Responder
Posts
30/05/2008
Du_nirvana
Olá, talvez o melhor nesse caso seja alterar apenas o sql da consulta, trabalhando apenas com um objeto de cada, ou seja, quando você mudar de formulario é só carregar no query no novo sql :
query.sql.text := ´select ...´
você só precisa tomar cuidado com a formatação das colunas no dbgrid, ai você precisará de algo como:
procedure formataColunas;
var
vl_titulo : tcolumntitle;
begin
vl_titulo := TColumnTitle.Create(DBG1.Columns[0]);
WITH vl_titulo DO
BEGIN
Caption := ´Descrição´;
END;
DBG1.Columns[0].Width := 285;
....
Bom é isso, foi uma idéia...
query.sql.text := ´select ...´
você só precisa tomar cuidado com a formatação das colunas no dbgrid, ai você precisará de algo como:
procedure formataColunas;
var
vl_titulo : tcolumntitle;
begin
vl_titulo := TColumnTitle.Create(DBG1.Columns[0]);
WITH vl_titulo DO
BEGIN
Caption := ´Descrição´;
END;
DBG1.Columns[0].Width := 285;
....
Bom é isso, foi uma idéia...
Responder
31/05/2008
Mazzi
Ola, Faca o seguinte, crie no form onde esta a grid que vc quer popular...
1- TQuery;
1-DataSoruce
conecte a Query com a DataBase.
conecte o DataSource com a Query.
coloque um Radio ou COmbo com as Opcoes
-Clientes
-Fornecedores
para consultar pelos nomes dos mesmos coloque um Edit.txt
e um botao para localiza-los (ou insira um metodo em OnChange no Edit.text)
var qry:TQuery;
qry:= TQuery.Create(self);
qry.DatabaseName:= TDatabase;
qry.Close;
----------------------
if (FornecedoreSELECIONADO)
qry.sql.clear;
qry.sql.add(´SELECT * FROM FORNECEDOR WHERE FORNOME =:PARAM´);
qry.ParamByName(´param´).asString:= Edit.text;
qry.Open;
else
----------------------
if (clienteSelecionado)
qry.sql.clear;
qry.sql.add(´SELECT * FROM CLIENTE WHERE CLINOME =:PARAM´);
qry.ParamByName(´param´).asString:= Edit.text;
qry.Open;
Pronto!!!
1- TQuery;
1-DataSoruce
conecte a Query com a DataBase.
conecte o DataSource com a Query.
coloque um Radio ou COmbo com as Opcoes
-Clientes
-Fornecedores
para consultar pelos nomes dos mesmos coloque um Edit.txt
e um botao para localiza-los (ou insira um metodo em OnChange no Edit.text)
var qry:TQuery;
qry:= TQuery.Create(self);
qry.DatabaseName:= TDatabase;
qry.Close;
----------------------
if (FornecedoreSELECIONADO)
qry.sql.clear;
qry.sql.add(´SELECT * FROM FORNECEDOR WHERE FORNOME =:PARAM´);
qry.ParamByName(´param´).asString:= Edit.text;
qry.Open;
else
----------------------
if (clienteSelecionado)
qry.sql.clear;
qry.sql.add(´SELECT * FROM CLIENTE WHERE CLINOME =:PARAM´);
qry.ParamByName(´param´).asString:= Edit.text;
qry.Open;
Pronto!!!
Responder
Clique aqui para fazer login e interagir na Comunidade :)