SINTAXE ERRADA

JOYYY 12/07/2016 15:48:29
#464743
Oi Pessoal,

Mais uma vez preciso de uma ajudinha com uma sintaxe....

Estou montando a estrutura abaixo para selecionar um movimento de uma empresa em determinada data.

 RsMov.Open [Ô]SELECT [Movimento].[DataMovimento], [Movimento].[Lanç],[Ô] & _
[Ô] [Movimento].[Seq], [ContasAnalíticas].[NomeConta], [Movimento].[Valor], [Movimento].[Dc], [Ô] & _
[Ô][Movimento].[Histórico], [Movimento].[ContraPartida], [Movimento].[ImpostoRenda][Ô] _
& [Ô] FROM Movimento INNER JOIN ContasAnalíticas ON [Movimento].[NúmeroConta] =[Ô] & _
[Ô][ContasAnalíticas].[NúmeroConta] WHERE DataMovimento =#[Ô] _
& Format(Me.TxtData1, [Ô]mm-dd-yyyy[Ô]) & _
[Movimento].[CodEmp] = [Ô] & Me.txtCodEmp[Ô] & _
[Ô]# ORDER BY Data,Lanç,Seq;[Ô], DB, adOpenKeyset, adLockOptimistic, adCmdText



Porém, esta aparecendo o erro 424, conforme imagem abaixo. Já verifiquei e constatei que todos os textboxes e colunas existem. O que será que estou errando?

PERCIFILHO 12/07/2016 16:36:21
#464748
O seu order by está correto?

[Ô]# ORDER BY Data,Lanç,Seq;[Ô], 


Não seria DataMovimento?
JOYYY 12/07/2016 16:41:33
#464750
Tá sim PERCIFILHO, data é uma outra coluna da tabela.

Mas agradeço desde já por seu interesse em ajudar.
JOYYY 12/07/2016 19:00:02
#464758
Mudei um pouquinho a estrutura, acho que assim é mais correto. Mas agora apareceu outra mensagem.....

RsMov.Open [Ô]SELECT [Movimento].[DataMovimento], [Movimento].[Lanç],[Ô] & _
[Ô] [Movimento].[Seq], [ContasAnalíticas].[NomeConta], [Movimento].[Valor], [Movimento].[Dc], [Ô] & _
[Ô][Movimento].[Histórico], [Movimento].[ContraPartida], [Movimento].[ImpostoRenda][Ô] _
& [Ô] FROM Movimento INNER JOIN ContasAnalíticas ON [Movimento].[NúmeroConta] =[Ô] & _
[Ô][ContasAnalíticas].[NúmeroConta] WHERE DataMovimento =[Ô] _
& Format(Me.TxtData1, [Ô]mm-dd-yyyy[Ô]) & [Ô] AND [Ô] & [Ô]CodEmp =[Ô] & txtCodEmp & [Ô] ORDER BY Data,Lanç,Seq;[Ô], _
DB, adOpenKeyset, adLockOptimistic, adCmdText




E realmente existe o campo CodEmp nas duas tabelas
JABA 12/07/2016 19:48:41
#464759
Resposta escolhida
Testa assim:

RsMov.Open [Ô]SELECT [Movimento].[DataMovimento], [Movimento].[Lanç],[Ô] & _
[Ô] [Movimento].[Seq], [ContasAnalíticas].[NomeConta], [Movimento].[Valor], [Movimento].[Dc], [Ô] & _
[Ô][Movimento].[Histórico], [Movimento].[ContraPartida], [Movimento].[ImpostoRenda][Ô] _
& [Ô] FROM Movimento INNER JOIN ContasAnalíticas ON [Movimento].[NúmeroConta] =[Ô] & _
[Ô][ContasAnalíticas].[NúmeroConta] WHERE [txt-color=#e80000][Movimento].[/txt-color]DataMovimento =[Ô] _
& Format(Me.TxtData1, [Ô]mm-dd-yyyy[Ô]) & [Ô] AND [txt-color=#e80000][Movimento].[/txt-color]CodEmp =[Ô] & txtCodEmp & [Ô] ORDER BY Data,Lanç,Seq;[Ô], _
DB, adOpenKeyset, adLockOptimistic, adCmdText

OBS: Se o campo CodEmp estiver como VarChar no banco, você terá que usar aspas simples.
JOYYY 13/07/2016 11:09:34
#464775
Sintaxe correta, obrigada.

Mas eu cometi um vacilo na condição. Assim não realizou o filtro que pretendo, que seria por data e empresa.

Acho que a estrutura correta seria acrescentar 2 condições no INNER JOIN. Uma para comparar a data na tabela Movimento e Contas Analíticas e outra para comparar a empresa nas mesmas tabelas.

Algo mais ou menos assim.... só não consegui montar a sintaxe certa de novo....

RsMov.Open [Ô]SELECT [Movimento].[DataMovimento], [Movimento].[Lanç],[Ô] & _
[Ô] [Movimento].[Seq], [ContasAnalíticas].[NomeConta], [Movimento].[Valor], [Movimento].[Dc], [Ô] & _
[Ô][Movimento].[Histórico], [Movimento].[ContraPartida], [Movimento].[ImpostoRenda][Ô] _
& [Ô] FROM Movimento INNER JOIN ContasAnalíticas ON [Movimento].[NúmeroConta] =[Ô] & _
[Ô][ContasAnalíticas].[NúmeroConta] ON [Movimento].CodEmp = [ContasAnalíticas].[CodEmp] WHERE[Movimento].DataMovimento =#[Ô] _
& Format(Me.TxtData1, [Ô]mm-dd-yyyy[Ô]) & _
[Ô]# ORDER BY Data,Lanç,Seq;[Ô], _
DB, adOpenKeyset, adLockOptimistic, adCmdText
JABA 13/07/2016 13:09:58
#464780
Faça assim:

RsMov.Open [Ô]SELECT [Movimento].[DataMovimento], [Movimento].[Lanç],[Ô] & _
[Ô] [Movimento].[Seq], [ContasAnalíticas].[NomeConta], [Movimento].[Valor], [Movimento].[Dc], [Ô] & _
[Ô][Movimento].[Histórico], [Movimento].[ContraPartida], [Movimento].[ImpostoRenda][Ô] _
& [Ô] FROM Movimento INNER JOIN ContasAnalíticas ON [Movimento].[NúmeroConta] =[Ô] & _
[Ô][ContasAnalíticas].[NúmeroConta] [txt-color=#e80000]AND[/txt-color] [Movimento].CodEmp = [ContasAnalíticas].[CodEmp] WHERE[Movimento].DataMovimento =#[Ô] _
& Format(Me.TxtData1, [Ô]mm-dd-yyyy[Ô]) & _
[Ô]# ORDER BY Data,Lanç,Seq;[Ô], _
DB, adOpenKeyset, adLockOptimistic, adCmdText
JOYYY 13/07/2016 14:50:22
#464784
Perfeito mais uma vez Jaba !

Uma curiosidade, tem algum curso ou local onde eu possa estudar para me aprimorar nas sintaxes ?

Obrigada por tudo
Tópico encerrado , respostas não são mais permitidas