FUNCAO LIKE
Preciso de ajuda para corrigir este SELECT:
SELECT APCattool.APID, APControl_Ordem.ordem, APControl_Ordem.mof, APCattool.cliente, APControl_Proj.data_cadastro FROM APControl_Proj INNER JOIN (APCattool INNER JOIN APControl_Ordem ON APCattool.APID = APControl_Ordem.APID) ON (APControl_Proj.APID = APCattool.APID) AND (APControl_Proj.APID = APControl_Ordem.APID)
WHERE (((APCattool.cliente) Like "%Embratel%") AND ((APControl_Proj.data_cadastro)>=DateAdd(""m"",-2,Date())) AND ((APControl_Ordem.ordem)<>0)) GROUP BY APCattool.APID, APControl_Ordem.ordem, APControl_Ordem.mof, APCattool.cliente, APControl_Proj.data_cadastro;
O problema é que tenho uma função LIKE usando % ao inves de *, e mesmo invertendo o Bando de Dados Acess não retorna um valor.
Estou usando a funçao errada ou tem outra regra pra esse caso?
Obrigada.
SELECT APCattool.APID, APControl_Ordem.ordem, APControl_Ordem.mof, APCattool.cliente, APControl_Proj.data_cadastro FROM APControl_Proj INNER JOIN (APCattool INNER JOIN APControl_Ordem ON APCattool.APID = APControl_Ordem.APID) ON (APControl_Proj.APID = APCattool.APID) AND (APControl_Proj.APID = APControl_Ordem.APID)
WHERE (((APCattool.cliente) Like "%Embratel%") AND ((APControl_Proj.data_cadastro)>=DateAdd(""m"",-2,Date())) AND ((APControl_Ordem.ordem)<>0)) GROUP BY APCattool.APID, APControl_Ordem.ordem, APControl_Ordem.mof, APCattool.cliente, APControl_Proj.data_cadastro;
O problema é que tenho uma função LIKE usando % ao inves de *, e mesmo invertendo o Bando de Dados Acess não retorna um valor.
Estou usando a funçao errada ou tem outra regra pra esse caso?
Obrigada.
o like provavelmente esta certo, vc ja tenho fazer a mesma pesquisa em este filto para ver se retorna resultados?
Eu fiz a consulta no Acess e ele me retorna uma valor normalmente, mas quando passo para o codigo, ele dá fim de arquivo.
mas se tu queres buscar todos os registros q esteja apenas COMO EMBRATEL Pq ta usando o like pq nao usa um filtro direto para o campo ou seja filtrar o campo diretamente pela palavra WHERE campo=embratel nao usando o like
agora se a questao é like mesmo pq vc nao muda qndo passar o codigo do pro vb por exemplo, ao inves de usar "%EMBRATEL%" TROQUE AS " POR SIMPLES '
agora se a questao é like mesmo pq vc nao muda qndo passar o codigo do pro vb por exemplo, ao inves de usar "%EMBRATEL%" TROQUE AS " POR SIMPLES '
SELECT APCattool.APID, APControl_Ordem.ordem, APControl_Ordem.mof, APCattool.cliente, APControl_Proj.data_cadastro FROM APControl_Proj INNER JOIN APCattool INNER ON (APControl_Proj.APID = APCattool.APID) inner JOIN APControl_Ordem ON (APCattool.APID = APControl_Ordem.APID) inner join APControl_Ordem on (APControl_Proj.APID = APControl_Ordem.APID)
WHERE (((APCattool.cliente) Like "%Embratel%") AND ((APControl_Proj.data_cadastro)>=DateAdd(""m"",-2,Date())) AND ((APControl_Ordem.ordem)<>0)) GROUP BY APCattool.APID, APControl_Ordem.ordem, APControl_Ordem.mof, APCattool.cliente, APControl_Proj.data_cadastro;
WHERE (((APCattool.cliente) Like "%Embratel%") AND ((APControl_Proj.data_cadastro)>=DateAdd(""m"",-2,Date())) AND ((APControl_Ordem.ordem)<>0)) GROUP BY APCattool.APID, APControl_Ordem.ordem, APControl_Ordem.mof, APCattool.cliente, APControl_Proj.data_cadastro;
é e tem o detarlhe das aspas simples que esqueci
Eu preciso usar o LIKE pq o nome não é somente Embratel.
No caso das aspas, isso eu já testei e não influencia, eu acredito que seja pq o Acess reconhece apenas * ao invés de % depois do LIKE.
Mas dei um break no codigo e fiz uma consulta nesse SELECT e ele funfou normal.
Não entendo.
No caso das aspas, isso eu já testei e não influencia, eu acredito que seja pq o Acess reconhece apenas * ao invés de % depois do LIKE.
Mas dei um break no codigo e fiz uma consulta nesse SELECT e ele funfou normal.
Não entendo.
COntinuo nao conseguindo. Já mudei de * para % e nada!
Alguem pode me ajudar?
Alguem pode me ajudar?
usando "DAO" tem que ser "*"
usando "ADO" tem que ser "%"
tenta substituir o nome por uma variavel
usando "ADO" tem que ser "%"
tenta substituir o nome por uma variavel
dim cliente as string
cliente = "Embratel"
SELECT APCattool.APID, APControl_Ordem.ordem, APControl_Ordem.mof, APCattool.cliente, APControl_Proj.data_cadastro FROM APControl_Proj INNER JOIN (APCattool INNER JOIN APControl_Ordem ON APCattool.APID = APControl_Ordem.APID) ON (APControl_Proj.APID = APCattool.APID) AND (APControl_Proj.APID = APControl_Ordem.APID)
WHERE (((APCattool.cliente) Like '%"& cliente &"%') AND ((APControl_Proj.data_cadastro)>=DateAdd(""m"",-2,Date())) AND ((APControl_Ordem.ordem)<>0)) GROUP BY APCattool.APID, APControl_Ordem.ordem, APControl_Ordem.mof, APCattool.cliente, APControl_Proj.data_cadastro
O problema é que estou trabalhando com uma QUERY no Banco de Dados, e não em codigo, não tem como armazenar em uma variavel.
Agradeço sua ajuda mais continuo sem solução.
Agradeço sua ajuda mais continuo sem solução.
Tópico encerrado , respostas não são mais permitidas