Seabra 0 Posted April 5, 2011 Report Share Posted April 5, 2011 Boas Tenho esta query. cmd.CommandText = "Select * From Registos as R INNER JOIN Ferramentas as F ON R.Cod_Ferramenta=F.ID INNER JOIN Clientes as C ON R.Cliente=C.ID Where " & SubSQL & " Data BETWEEN @Campo1 and @Campo2" dá um erro de falta de um operador. Se eu retirar a primeira junção funciona Se eu retirar a seunda junção e mantiver aprimeira, também funciona. As duas junções juntas dá erro de falta de operador. Base de dados Access 2007 Ende estará o problemas? Cumprimentos Seabra Link to post Share on other sites
Caça 17 Posted April 5, 2011 Report Share Posted April 5, 2011 Data BETWEEN @Campo1 and @Campo2 Deve-te faltar um AND antes disto Pedro Martins Não respondo a duvidas por PM Link to post Share on other sites
Seabra 0 Posted April 5, 2011 Author Report Share Posted April 5, 2011 Data BETWEEN @Campo1 and @Campo2 Deve-te faltar um AND antes disto Não não. Esse And está a ser enviado pela string "SubSQL" Assim não funciona: cmd.CommandText = "Select * From Registos as R INNER JOIN Ferramentas as F ON R.Cod_Ferramenta=F.ID INNER JOIN Clientes as C ON R.Cliente=C.ID Where " & SubSQL & " Data BETWEEN @Campo1 and @Campo2" Assim funciona: cmd.CommandText = "Select * From Registos as R INNER JOIN Clientes as C ON R.Cliente=C.ID Where " & SubSQL & " Data BETWEEN @Campo1 and @Campo2" Assim funciona: cmd.CommandText = "Select * From Registos as R INNER JOIN Ferramentas as F ON R.Cod_Ferramenta=F.ID Where " & SubSQL & " Data BETWEEN @Campo1 and @Campo2" O problema deve estar mesmo na junção das tabelas. A Access permite unir mais do que 2 tabelas? Seabra Link to post Share on other sites
Caça 17 Posted April 5, 2011 Report Share Posted April 5, 2011 Para te podermos ajudar melhor, precisamos de saber o que está dentro da variável SubSQL quando dá erro. Pedro Martins Não respondo a duvidas por PM Link to post Share on other sites
Seabra 0 Posted April 5, 2011 Author Report Share Posted April 5, 2011 Para te podermos ajudar melhor, precisamos de saber o que está dentro da variável SubSQL quando dá erro. Coloquei um textbox e deu isto: Select * From Registos as R INNER JOIN Ferramentas as F ON R.Cod_Ferramenta = F.ID INNER JOIN Clientes as C ON R.Cliente = C.ID Where R.Data BETWEEN @Campo1 and @Campo2 Nesse momento em que dá erro a String final é essa. Seabra Link to post Share on other sites
Caça 17 Posted April 5, 2011 Report Share Posted April 5, 2011 Aparentemente está Ok Pedro Martins Não respondo a duvidas por PM Link to post Share on other sites
Seabra 0 Posted April 5, 2011 Author Report Share Posted April 5, 2011 Obrigado mas já resolvi. Select * From (Registos as R INNER JOIN Ferramentas as F ON R.Cod_Ferramenta = F.ID) INNER JOIN Clientes as C ON R.Cliente = C.ID Where R.Data BETWEEN @Campo1 and @Campo2 Faltavam os parênteses Eu nunca tinha unido 3 tabelas! Cumprimentos Seabra Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now