AGRUPAR E MOSTAR O ULTIMO

WEBIER 02/12/2009 16:30:20
#328996
sem problema amigo!

eu espero!

RCMRO 02/12/2009 23:39:29
#329024
Ufa.... Essa foi meio hard mas, vamos lá...
Fiz o SELECT e vc completa alterando para a string do VB. Não esquece de trocar as datas pelas variáveis do VB....

SELECT 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 #2009-11-10# AND #2009-11-13# 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
WEBIER 03/12/2009 14:43:32
#329082
Deu erro ao executar assim:

Run-time error [ô]3131[ô]:
Erro de sintaxe de clausula FROM

olha meu codigo conforme me passou com as modificações:
SQL = [Ô]SELECT 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 #[Ô] & Format(Mask1, [Ô]mm/dd/yy[Ô]) & [Ô]# and #[Ô] & Format(Mask2, [Ô]mm/dd/yy[Ô]) & [Ô]# 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[Ô]
RCMRO 03/12/2009 14:49:47
#329083
Então, reparei que o Banco está em ACCESS 97 e eu precisei converter para ACCESS 2000/2003 pois eu não tinha o 97.
Esse SELECT funcionou com o banco que me enviou, em 2000/2003 sem problemas. Será que o 97 não tem problemas com SUB-SELECT?? Tenho 99% de certeza que é isso. Não quer experimentar com um ACCESS 2000 ou 2003 e ver se funciona? Se funcionar, é só fazer o update da versão, sem problemas, e atualizar o ADO para o 2.7 ou 2.8.

Tentei fazer sem uzar sub-selects mas sinseramente, assumo a minha limitação... Não consegui.
WEBIER 03/12/2009 16:36:08
#329092
amigo, fiz os seguintes passos:

-Convertir de Access 97 para 2000
-no menu Project, escolhi a Preferences e depois Microsoft DAO 2.8


Quando executo o programa ele diz que não reconhece o formato do banco de dados.

quando dou um Debug ele seleciona a linha q tá em negrito abaixo:

Sub ABRIR_BD_SEM_DATA1()
Set AreaTrabalho = DBEngine.Workspaces(0)
Set BD = AreaTrabalho.OpenDatabase(App.Path & [Ô]\cyberbase.mdb[Ô], False, False)
End Sub
RCMRO 04/12/2009 08:37:18
#329131
Opss.... Se está usando DAO, tenta usar a [Ô]Microsoft DAO 3.51 Object Library[Ô] ou [Ô]Microsoft DAO 3.6 Object Library[Ô]. Pensei que usava ADO. Acredito que a 2.8 possa não ser compatível com o ACCESS 2000
WEBIER 04/12/2009 13:11:10
#329161
Amigo, usando DAO 3.6 funcionou perfeitamente...

O problema eh q meu projeto tem uns 40 formularios usando DAO 3.51...

tem como fazer essa consulta ai no formado de DAO 3.51 ?
RCMRO 04/12/2009 13:18:53
#329162
Ao que parece, o DAO 3.51 não tem um pré-compilador tão completo de SQL (ou algo parecido com isso), por isso talvez ele não consiga trabalhar com sub-queries.
De qualquer forma, parece que os benefícios são grandes e, se os 40 forms estiverem todos no mesmo projeto, não precisa alterar os forms, só apontando para o DAO 3.6 no projeto e apagando a referência para o 3.51 que funcionará...
Seria trabalhoso se vc quizesse mudar para ADO.
WEBIER 04/12/2009 13:39:51
#329164
um exemplo de erro por causa da mudança:

[ô]codigo do botão
ABRIR_BD_com_Data Me.Data2
Data2.RecordSource = [Ô]SELECT DISTINCT DESCRICAO FROM PRODUTOS ORDER BY DESCRICAO[Ô]
Data2.Refresh

[ô]função ABRIR_BD_com_Data
Sub ABRIR_BD_com_Data(objData As Data)
objData.DatabaseName = (App.Path & [Ô]\CYBERBASE.mdb[Ô])
End Sub

ai ele dar o erro de banco de dados nao conhecido.

O que preciso fazer ai para corrigir esse problema?
RCMRO 04/12/2009 23:00:35
#329200
Aproveitando que abriu um novo tópico só com a dúvida do DAO e que este já pode encerrar, fecha ele e me pontua afinal, este deu um belo trampo (rs).

Entretando, vou pesquisar sobre a alteração do DAO e continuamos no novo tópico.

Abraços.
Página 3 de 4 [31 registro(s)]
Tópico encerrado , respostas não são mais permitidas