[resolvido] Entrave na Cláusula WHERE

Moderador: Avelino Sampaio

jbcotrim
Mensagens: 17
Registrado em: 08 Jun 2015, 13:13

[resolvido] Entrave na Cláusula WHERE

Mensagempor jbcotrim » 21 Fev 2017, 00:25

Boa noite amigos!

Estou com um entrave na cláusula WHERE da seguinte sentença:

"SELECT tblunidades.CodUnid, CONCAT(NomeUnid, ' - ', NomeContato) AS Unid, tblunidades.NomeUnid, tblcontatos.NomeContato FROM tblunidades INNER JOIN tblcontatos ON tblunidades.CodUnid = tblcontatos.id_CodUnid WHERE tblunidades.Unid_CodCond =" & CondAtivo() & " ORDER BY tblunidades.NomeUnid;"

Explico: Trata-se de um sistema de administração de condomínios que desenvolvi em ACCESS e agora estou tentando levar o "BACK END" para o MYSQL. Estou usando o exemplo disponibilizado pelo amigo Jefferson Braz no site do Avelino conforme disse no post anterior. Para trabalhar com um condomínio específico, no ACCESS em cada FRONT END tem uma tabela chamada tblCondAtivo. Ou seja, quando abro o sistema, eu chamo o condomínio que quero trabalhar e o código deste condomínio fica Ativo nesta tabela. Neste caso, estou testando a COMBOBOX. Quando clico na COMBOBOX ela deve mostrar as unidades do Condomínio Ativo. Neste caso, criei a função:

Código:
Public Function CondAtivo()
CondAtivo = DLookup("[Valor]", "_Parametros", "[ID]=16") ' Usando a tabela __Parametros do exemplo do Jefferson Braz
End Function


Entretanto, está dando "Erro de SINTAXE" na Sentença acima. Como posso resolver isso?

Desde já agradeço a atenção de todos!
Um forte abraço!
Jeser

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Avatar do usuário
Avelino Sampaio
Mensagens: 1901
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Entrave na Cláusula WHERE

Mensagempor Avelino Sampaio » 21 Fev 2017, 07:50

Jeser,

o que acontece se colocar um valor fixo ? Funciona a consulta ?

"SELECT tblunidades.CodUnid, CONCAT(NomeUnid, ' - ', NomeContato) AS Unid, tblunidades.NomeUnid, tblcontatos.NomeContato FROM tblunidades INNER JOIN tblcontatos ON tblunidades.CodUnid = tblcontatos.id_CodUnid WHERE tblunidades.Unid_CodCond = 23 ORDER BY tblunidades.NomeUnid;"

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

jbcotrim
Mensagens: 17
Registrado em: 08 Jun 2015, 13:13

Re: Entrave na Cláusula WHERE

Mensagempor jbcotrim » 21 Fev 2017, 22:26

Olá Avelino.

Exatamente. Colocando um valor fixo funciona. Eu me esqueci de mencionar isso. E por acaso, você quase acertou no número. Nos testes, eu estou usando o número 22 que é código de um dos condomínios cadastrados.
Interessante que com o back end no access, funciona usando a função "CodCondAtivo()" ou buscando de um campo do formulário.
Com ADO eu já tentei buscar de um campo no formulário que recebe este número e também não funciona.

Jeser

Avatar do usuário
Avelino Sampaio
Mensagens: 1901
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Entrave na Cláusula WHERE

Mensagempor Avelino Sampaio » 22 Fev 2017, 20:29

Jeser,

acrescente uma caixa de mensagem para visualizar se a função retorna com o valor desejado. Exemplo:

MsgBox CondAtivo()
"SELECT tblunidades.CodUnid, CONCAT(NomeUnid, ' - ', NomeContato) AS Unid, tblunidades.NomeUnid, tblcontatos.NomeContato FROM tblunidades INNER JOIN tblcontatos ON tblunidades.CodUnid = tblcontatos.id_CodUnid WHERE tblunidades.Unid_CodCond = 23 ORDER BY tblunidades.NomeUnid;"

Caso esteja retornando com valor correto, coloque a SELECT na caixa de mensagem e veja se exibe a sintaxe corretamente. Exemplo:

Código:
dim strSql$
strsql = "SELECT ... WHERE tblunidades.Unid_CodCond = " & CondAtivo() & " ORDER BY tblunidades.NomeUnid;"
msgbox strsql


Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


jbcotrim
Mensagens: 17
Registrado em: 08 Jun 2015, 13:13

Re: Entrave na Cláusula WHERE

Mensagempor jbcotrim » 22 Fev 2017, 23:49

Caro Avelino.

Mais uma vez agradeço imensamente por sua atenção.

Testei como me orientou e a Mensagem trouxe o código do Condomínio Ativo = 22.

Qual é a xarada? Eu já havia escrito a sentença assim e estava dando erro de sintaxe. Agora está funcionando.
Não entendi.
De qualquer forma, lhe agradeço mais uma vez pela orientação.
Resolvido.
Um forte abraço meu amigo!
Jeser

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.



Voltar para “Access x MySql”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 1 visitante