INNER JOIN O QUE ESTA ERRADO?
                    FBURGARDT:
Fiz um select semelhante ao seu, desta vez não gerou erro, mas não trouxe nenhum registro:
Acredito que no meu caso, mesmo os nomes da chave primária e estrangeira estarem iguais, esse não seria o problema, pois a chave estrangeira eu não coloco a chave do access.
Eu até fiz um teste para trazer dados de apenas duas tabelas com JOIN e funcionou:
                
            Fiz um select semelhante ao seu, desta vez não gerou erro, mas não trouxe nenhum registro:
SELECT 
tblDetSec.det_sec_h, tblDetSec.det_sec_t1, tblDetSec.det_sec_t2, 
tblDetSec.det_sec_t3, tblDetSec.det_sec_t4, 
tblDetTrat.det_trat_h, tblDetTrat.det_trat_t1, tblDetTrat.det_trat_t2, 
tblDetTrat.det_trat_t3, tblDetTrat.det_trat_t4, 
tblHstCli.hst_cli_nome, 
tblHstProd.hst_prod_nome, tblHstProd.hst_prod_vol, tblHstProd.hst_prod_uni, 
tblHstCiclo.hst_ncrt, tblHstCiclo.hst_nl, tblHstCiclo.hst_bstmp, tblHstCiclo.hst_nlt, 
tblHstCiclo.hst_ntrat, tblHstCiclo.hst_desc, tblHstCiclo.hst_inicic, tblHstCiclo.hst_fimcic, 
tblHstCiclo.hst_initrat, tblHstCiclo.hst_dttrat, tblHstCiclo.hst_sensor, 
tblHstCiclo.hst_tc, tblHstCiclo.hst_tt, tblHstCiclo.hst_tmpt, tblHstCiclo.hst_resp, 
tblHstCiclo.hst_op, tblHstCiclo.hst_run 
FROM (((tblHstCiclo inner join tblDetSec on tblHstCiclo.hst_id=tblDetSec.hst_idA) 
INNER JOIN tblDetTrat on tblDetTrat.hst_idB=tblHstCiclo.hst_id) 
INNER JOIN tblHstCli on tblHstCli.hst_idC=tblHstCiclo.hst_id) 
INNER JOIN tblHstProd on tblHstProd.hst_cli_id=tblHstCli.hst_cli_id;Acredito que no meu caso, mesmo os nomes da chave primária e estrangeira estarem iguais, esse não seria o problema, pois a chave estrangeira eu não coloco a chave do access.
Eu até fiz um teste para trazer dados de apenas duas tabelas com JOIN e funcionou:
SELECT 
tblsec.det_sec_h, tblsec.det_sec_t1, tblsec.det_sec_t2, 
tblsec.det_sec_t3, tblsec.det_sec_t4, 
tblhst.hst_ncrt, tblhst.hst_nl, tblhst.hst_bstmp, tblhst.hst_nlt, 
tblhst.hst_ntrat, tblhst.hst_desc, tblhst.hst_inicic, tblhst.hst_fimcic, 
tblhst.hst_initrat, tblhst.hst_dttrat, tblhst.hst_sensor, 
tblhst.hst_tc, tblhst.hst_tt, tblhst.hst_tmpt, tblhst.hst_resp, 
tblhst.hst_op, tblhst.hst_run 
FROM tblDetSec tblsec 
left outer join tblHstCiclo tblhst on (tblhst.hst_id = tblsec.hst_id) 
WHERE 
tblhst.hst_id = 10;
                    é estranho não retornar nenhum dado....
Não entendi quando vc diz que não coloca a chave do ACCESS.
Se vc puder me mandar o DB, eu dou uma olhada...
[ ]ÂÂÂ's
                
            Não entendi quando vc diz que não coloca a chave do ACCESS.
Se vc puder me mandar o DB, eu dou uma olhada...
[ ]ÂÂÂ's
                    Carinha, super esquisito, fiz uma query básica:
Com apenas um INNER JOIN, funciona perfeitamente, mas se coloco o segundo, dá erro de sintaxe. Estou usando Office 2003 com Access 2000 File Format. Importei para MySQL e rodou perfeitamente! Não sei como posso te ajudar nessa, realmente um mistério!
                
             
SELECT
C.*,  T.*,  S.*
FROM tblHstCiclo  C
INNER JOIN tblDetTrat T 
ON (T.hst_id = C.hst_id)
INNER JOIN tblDetSec  S
ON (S.hst_id = C.hst_id)
WHERE C.hst_id = 10;
Com apenas um INNER JOIN, funciona perfeitamente, mas se coloco o segundo, dá erro de sintaxe. Estou usando Office 2003 com Access 2000 File Format. Importei para MySQL e rodou perfeitamente! Não sei como posso te ajudar nessa, realmente um mistério!
                    ok, acabei de enviar para o seu e-mail do terra.
                
            
                    manda o BD pro meu email: hugo.santiago@tedablio.com.br
                
            
                    cara... pelo que eu vi é assim:
ex:
tabela1 - 1 registro
tabela2 - 60 registros
tabela3 - 30 registros
então... pra cada registro da tabela1 ele vai voltar 60 registros da tabela2 + 30 registros da tabela3.
pra cada registro da tabela2 ele vai voltar 30 registros
por isso volta aquele monte de registros.
e no access eu nunca consegui usar mais de 1 join....
                
            ex:
tabela1 - 1 registro
tabela2 - 60 registros
tabela3 - 30 registros
então... pra cada registro da tabela1 ele vai voltar 60 registros da tabela2 + 30 registros da tabela3.
pra cada registro da tabela2 ele vai voltar 30 registros
por isso volta aquele monte de registros.
e no access eu nunca consegui usar mais de 1 join....
                    Certo, o jeito vai ser eu fazer uma consulta para cada tabela por enquanto e futuramente quando eu colocar um BD decente, eu utilizo o JOIN.
Mas me digam uma coisa, esse meu relacionamento entre as tabelas tblHstCiclo, tblHstProd e tblHstCli está certo? No meu caso eu vou ter 1 histórico com muitos clientes e produtos, assim como terei produtos com o mesmo nome entre clientes do mesmo histórico, alterando apenas o volume.
                
            Mas me digam uma coisa, esse meu relacionamento entre as tabelas tblHstCiclo, tblHstProd e tblHstCli está certo? No meu caso eu vou ter 1 histórico com muitos clientes e produtos, assim como terei produtos com o mesmo nome entre clientes do mesmo histórico, alterando apenas o volume.
                        Tópico encerrado , respostas não são mais permitidas
                    
                

