COMO FACO ESSA SQL USANDO DAO 3,51
Citação:WEBIER escreveu:
fiz e tb nao deu nada!
tentou informar as datas manualmente em todos os formatos?
tentou eliminar as datas?
se nada deu cero, vai aki uma sugestão
cria o sql no proprio access 97 e roda a consulta para ver se funciona ....depois vc copia e cola no vb
Citação:RCMRO escreveu:
WEBIER,
Não faça isso. O Marcos está tentando te ajudar e vc sabe que não é por ai.
Se você executar o SELECT original como uma CONSULTA no ACCESS 97 ele dá pau mas se usar o ACCESS 2003 ele funciona sem problemas, como já te disse no tópico em que eu te ajudei a criar o SQL.
Porque não experimenta rodar o SQL abaixo no ACCESS 2003, confirma que lá roda sem problemas e procura a solução no VB, tentando trocar a referencia do seu DAO ?? O ACCESS 97 pura e simplesmente não executa SUB-QUERIES. Para isso você precisa do ACCESS 2003. Só isso... Nada a ver com o formato da data.
Executa no 2003, please, e procura a solução noa DAOSELECT prd.DESCRICAO AS var_Desc,
prd.CODIGO AS var_codEnt,
prd.QUANT_ESTOQUE AS var_Quant,
peiult.CUSTO AS var_Custo,
peiult.FRETE AS var_Frete,
peiult.IMPOSTO_VALOR_COMPRA AS var_ImpCompra,
peiult.CUSTO_COMPRA AS var_VlrCompra,
peiult.VENDA AS var_VENDA
FROM Produtos AS prd
INNER JOIN Produtos_Entrada_Itens AS peiult
ON prd.Codigo = peiult.Codigo_Produto
INNER JOIN (SELECT pei1.CODIGO_PRODUTO,
MAX(pei1.Data_Entrada) AS Data_Entrada,
MAX(pei1.Codigo) AS Codigo
FROM Produtos_Entrada_Itens AS pei1
WHERE pei1.Data_Entrada BETWEEN #11/01/2009# AND #11/30/2009#
GROUP BY pei1.CODIGO_PRODUTO) AS pei
ON peiult.Codigo_Produto = pei.Codigo_Produto
AND peiult.Data_Entrada = pei.Data_Entrada
AND peiult.Codigo = pei.Codigo
ORDER BY prd.descricao
Na verdade RCMRO, o access97 suporta subquery, mas existe algumas frescuras na sintaxe.
Citação:PH1959 escreveu:
webbier
se nada deu cero, vai aki uma sugestão
cria o sql no proprio access 97 e roda a consulta para ver se funciona ....depois vc copia e cola no vb
já fiz isso com a sql q nosso amigo MARCOSLING me passou...
... no access 97 funciona blz... o problema tah no VB q nao mostra nada e nem dar erro.
Tirei tudo q se tratava em relação a campos do tipo DATA/HORA e mudei o MAX() para pegar o CODIGO.
ficou assim:
[Ô]SELECT tb_prod.DESCRICAO AS var_Desc, tb_prod.CODIGO AS var_codEnt, tb_prod.QUANT_ESTOQUE AS var_Quant, tb_proEnt_Itens.CUSTO AS var_Custo, tb_proEnt_Itens.FRETE AS var_Frete, tb_proEnt_Itens.IMPOSTO_VALOR_COMPRA AS var_ImpCompra, tb_proEnt_Itens.CUSTO_COMPRA AS var_VlrCompra, tb_proEnt_Itens.VENDA AS var_VENDA FROM (Produtos AS tb_prod INNER JOIN Produtos_Entrada_Itens AS tb_proEnt_Itens ON tb_prod.CODIGO = tb_proEnt_Itens.CODIGO_PRODUTO) INNER JOIN [SELECT tb_Prod_Ent_Itens2.CODIGO_PRODUTO, Max(tb_Prod_Ent_Itens2.CODIGO) AS Codigo FROM Produtos_Entrada_Itens AS tb_Prod_Ent_Itens2 GROUP BY tb_Prod_Ent_Itens2.CODIGO_PRODUTO]. AS tb_imaginada ON (tb_proEnt_Itens.CODIGO_PRODUTO = tb_imaginada.CODIGO_PRODUTO) AND (tb_proEnt_Itens.CODIGO = tb_imaginada.Codigo) ORDER BY tb_prod.descricao[Ô]
o nosso amigo MARCOSLING ajudou a chegar a esse ponto ai...
Obrigado!