Fórum Consulta Sql #218784
06/03/2004
0
Bem pessoALL, tenho um consulta entre datas cujo resultado aparece num DbGrid, mas ocorre o seguinte tenho uma tabela relacionada..a de ´concorrente´. tabela pincipal ´produtos´
No Grid, quando aparece o concorrente aparece o cod do concorrente e nao o nome....
Como faço para aparecer o nome do concorrente no grid, e nao o COD...
Estou usando SQL...
aqui vai a pesquisa de datas que uso.
QryProdutos.Close;
QryProdutos.Sql.Clear;
QryProdutos.Sql.Add(´Select* From Produtos´);
QryProdutos.Sql.Add(´Where DtOferta >=:inicio´);
QryProdutos.ParamByName(´inicio´).AsDate := DateTimePicker1.date;
QryProdutos.Sql.Add(´and DtOferta <=:Termino´);
QryProdutos.ParamByName(´Termino´).AsDate := DateTimePicker2.date;
QryProdutos.Prepare;
QryProdutos.Open;
[]´s
Juninho
No Grid, quando aparece o concorrente aparece o cod do concorrente e nao o nome....
Como faço para aparecer o nome do concorrente no grid, e nao o COD...
Estou usando SQL...
aqui vai a pesquisa de datas que uso.
QryProdutos.Close;
QryProdutos.Sql.Clear;
QryProdutos.Sql.Add(´Select* From Produtos´);
QryProdutos.Sql.Add(´Where DtOferta >=:inicio´);
QryProdutos.ParamByName(´inicio´).AsDate := DateTimePicker1.date;
QryProdutos.Sql.Add(´and DtOferta <=:Termino´);
QryProdutos.ParamByName(´Termino´).AsDate := DateTimePicker2.date;
QryProdutos.Prepare;
QryProdutos.Open;
[]´s
Juninho
Junior#
Curtir tópico
+ 0
Responder
Posts
06/03/2004
Skaarj
seguinte.. tu ja mexeu com campos calaculados?
Vamos fazer um:
Dá dois cliques em cima do componente TQuery;
Abre o submenu e escolhe ´New Field´;
Na tela que abre escolha um nome [calConcorrente serve?]. escolha tipo [como é nome é string] e tamanho [vamos por 50 no exemplo];
Blz.. Agora sete a coluna de concorrente do grid nesse campo recém criado;
Agora clique no TQuery e abra seus eventos, repare que tem um chamado OnCalcFields, dá dois cliques e agora voce vai fazer o seguinte:
cria um select que pesquise o nome do concorrente pelo codigo e joga dento desse campo, assim:
oq fizemos foi criar um campo, que cada para cada linha da query 1 faz uma pesquisa com outra query recebe o nome a partirvalor pesquisado do codigo...
Vamos fazer um:
Dá dois cliques em cima do componente TQuery;
Abre o submenu e escolhe ´New Field´;
Na tela que abre escolha um nome [calConcorrente serve?]. escolha tipo [como é nome é string] e tamanho [vamos por 50 no exemplo];
Blz.. Agora sete a coluna de concorrente do grid nesse campo recém criado;
Agora clique no TQuery e abra seus eventos, repare que tem um chamado OnCalcFields, dá dois cliques e agora voce vai fazer o seguinte:
cria um select que pesquise o nome do concorrente pelo codigo e joga dento desse campo, assim:
with Qryconcorrente do begin close; sql.text := "select nome from concorrentes where codigo = :Scod"; parambyname(´scod´).asstring:= qryprincipal.fieldbyname(´cod_concorrente´).asstring; open; end; qryprincipalcalconcorrente.asstring := qryconcorrente.fieldbyname(´nome´).asstring;
oq fizemos foi criar um campo, que cada para cada linha da query 1 faz uma pesquisa com outra query recebe o nome a partirvalor pesquisado do codigo...
Responder
Gostei + 0
06/03/2004
Tnaires
Ou então, mude seu SQL:
Aí é so adicionar o campo no DBGrid.
Abraços
SELECT * FROM CONCORRENTES, PRODUTOS WHERE CONCORRENTES.CODIGO = PRODUTOS.CODIGO AND DTOFERTA BETWEEN :DATA_INICIO AND :DATA_FIM
Aí é so adicionar o campo no DBGrid.
Abraços
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)