Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pseudalopex

Erro na consulta

Recommended Posts

Boa tarde pessoal.

 

Estou com uma consulta rodando no Access 100% mas quando coloco o código SQL no ASP da esse erro abaixo:

 

Tipo de erro:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[IBM][iSeries Access ODBC Driver][DB2 UDB]SQL0104 - Token [ was not valid. Valid tokens: ( + - ? : DAY RRN CASE CAST CHAR DATE DAYS HASH HOUR LEFT RANK.

Segue a consulta.

mSQL="SELECT F4101.IMITM, F4101.IMDSC2, F4101.IMAITM, F4101.IMDSC1, F4101.IMLITM, Max(IIf([F41002].[UMUM]='CP',[F41002].[UMCONV])) AS CP, FROM ((F4101 LEFT JOIN F41002 ON F4101.IMITM = F41002.UMITM) LEFT JOIN F41002 AS F41002_1 ON F4101.IMITM = F41002_1.UMITM) LEFT JOIN F41002 AS F41002_2 ON F4101.IMITM = F41002_2.UMITM GROUP BY F4101.IMITM, F4101.IMDSC2, F4101.IMAITM, F4101.IMDSC1, F4101.IMLITM HAVING (((F4101.IMITM)=438795))"

O erro está acontecendo na parte que calcula o comprimento CP. Nesse IIf(). Se eu retiro essa parte funciona mas nao me retorna o valor que preciso.

 

Se alguem puder me ajudar desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faltou você mandar executar a consulta ... tipo

 

mSQL="SELECT F4101.IMITM, F4101.IMDSC2, F4101.IMAITM, F4101.IMDSC1, F4101.IMLITM, Max(IIf([F41002].[UMUM]='CP',[F41002].[UMCONV])) AS CP, FROM ((F4101 LEFT JOIN F41002 ON F4101.IMITM = F41002.UMITM) LEFT JOIN F41002 AS F41002_1 ON F4101.IMITM = F41002_1.UMITM) LEFT JOIN F41002 AS F41002_2 ON F4101.IMITM = F41002_2.UMITM GROUP BY F4101.IMITM, F4101.IMDSC2, F4101.IMAITM, F4101.IMDSC1, F4101.IMLITM HAVING (((F4101.IMITM)=438795))"
set rs = cnn.execute(mSQL)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Axo q ai é o banco de dados q ñ está aceitando alguma coisa imprime na tela a sua sql

response.write sql
response.end()

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum se você fez isso

response.write msql

response.end()

e ñ mostrou nada, a sua linha sql deve tá com erro no mysql ... Cara dá uma pesquisada nos comandos MySql ou posta lá na parte de banco de dados ... Abraçossss

Compartilhar este post


Link para o post
Compartilhar em outros sites

feita por Odbc, está funcionando direitinho.

Se eu retiro essa parte funciona:

Max(IIf([F41002].[UMUM]='CP',[F41002].[UMCONV])) AS CP
a única coisa que mudei do access para colocar no ASP

foi retirar as Aspas ""

Max(IIf([F41002].[UMUM]="CP",[F41002].[UMCONV])) AS CP

Compartilhar este post


Link para o post
Compartilhar em outros sites

e a conexão com o banco?

Posta ae mesmo ... Pois para conectar o Asp cpm MySql precisa de um driver, você tem esse driver ?? Posta a conexão ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[IBM][iSeries Access ODBC Driver][DB2 UDB]

o banco de dados é access

 

 

agora apareceu o comando SQL no response.write

SELECT F4101.IMITM, F4101.IMDSC2, F4101.IMAITM, F4101.IMDSC1, F4101.IMLITM, Max(IIf([F41002].[UMUM]='CP',[F41002].[UMCONV])) AS CP, FROM ((F4101 LEFT JOIN F41002 ON F4101.IMITM = F41002.UMITM) LEFT JOIN F41002 AS F41002_1 ON F4101.IMITM = F41002_1.UMITM) LEFT JOIN F41002 AS F41002_2 ON F4101.IMITM = F41002_2.UMITM GROUP BY F4101.IMITM, F4101.IMDSC2, F4101.IMAITM, F4101.IMDSC1, F4101.IMLITM HAVING (((F4101.IMITM)=438795))

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.