Fórum Ajuda com Join entre dataset #390066
06/11/2010
0
Ola galera, é a primeira que eu post uma ajuda aqui no forum...apezar de sempre estár usando as boasn dicas que se encontram aqui.
bem então vamos a minha DUVIDA!
eu estou fazendo um trabalho de TCC (um software de controle de compra e venda de veiculos usados)
TABELA MODELO:
MODELO_PK
MODELO_NOME
MARCA_FK
TABELA CADASTRO DE VEICULOS:
VEICULO_PK
MODELO_FK
STATUS
...
... e por ai vai os outros campo que não vem ao caso aqui
na minha tabela de COMPRA DE VEICULOS eu tenho um componente DBLookupcombobox que está com a sua propriedade LISTESOURCE ligada a um componente DATASOURCE que por sua vez está ligado a um componente DATASET.
na propriedade SELECTSQL desse componente DATASET eu faço um JOIN (VEJA ABAIXO) entre as tabelas de MODELO E CADASTRO DE VEICULOS para que me mostre o campo MODELO_NOME da tabela de modelos na propriedade LISTFIELD do DBLookupcombobox, e na propriedade KEYFIELD eu gravo o campo VEICULO_PK da tabela de cadastro de veiculos, até ai tudo bem agora vem o PROBLEMA:
JOIN
select V.*, M.MODELO_NOME
from VEICULO V, MODELO M
where (M.MODELO_PK = V.MODELO_FK) and (V.STATUS = 'Cadastro')
or (STATUS = 'Vendido') order by MODELO_NOME PROBLEMA: o join está funcionando perfeitamente, me mostra somente o nome do veiculo com o campo STATUS data bela de veiculos em CADASTRO ou VENDIDO. Também grava certinho no banco de dados. Porem no DBLookupcombobox em nem um momento me mostra o NOME do veiculo (somente quando eu abro ele para escolher um veiculo), depois que gravo só esse campo que fica sem ser mostrado. O que fazer para resolver isso? Já tentei de tudo aqui e NADA. pensei eu criar um procedimento usando uma QUERY para fazer esse JOIN e chamar ele no evento ONSHOW (porque acho que ele está perdendo o ponteiro) do form, porem eu não sei crir um join via progração em uma QUERY. BOM SE ALGUEM PUDER ME AJUDAR DESDE JÁ AGRADEÇO..... OBS: uso Firebird 2.0 e Delphi 7
from VEICULO V, MODELO M
where (M.MODELO_PK = V.MODELO_FK) and (V.STATUS = 'Cadastro')
or (STATUS = 'Vendido') order by MODELO_NOME PROBLEMA: o join está funcionando perfeitamente, me mostra somente o nome do veiculo com o campo STATUS data bela de veiculos em CADASTRO ou VENDIDO. Também grava certinho no banco de dados. Porem no DBLookupcombobox em nem um momento me mostra o NOME do veiculo (somente quando eu abro ele para escolher um veiculo), depois que gravo só esse campo que fica sem ser mostrado. O que fazer para resolver isso? Já tentei de tudo aqui e NADA. pensei eu criar um procedimento usando uma QUERY para fazer esse JOIN e chamar ele no evento ONSHOW (porque acho que ele está perdendo o ponteiro) do form, porem eu não sei crir um join via progração em uma QUERY. BOM SE ALGUEM PUDER ME AJUDAR DESDE JÁ AGRADEÇO..... OBS: uso Firebird 2.0 e Delphi 7
Carlos Catanduva
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)