Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Microsoft JET Database Engine error '80040e07'


diegonanets

Pergunta

te conceituado Fórum....

Sou novato aqui e sou leigo na linguagem .asp . Aqui na empresa onde trabalho faço atualizações mensalmente num banco de dados .mdb. onde são exibidos os aniversariantes do mes. O caro entra na pagina aniversariantes.asp e clica no mes e dia que ele desejar ver quem são os aniversariantes, em seguida aparece os nomes dos mesmo. Fiz uma atualização hj inserindo os aniversariantes do mes de março e a mensagem que apareceu logo em seguida a procura foi esta.

Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

/procura_niver.asp, line 99

segue logo abaixo o codigo, e a linha 99 em negrito onde avisa o erro.

<%

dim cn,rs,ssql,procura

procura=request.form("mes")

procura2=Request.Form("dia")

if procura="" then

response.write("registro não encontrado")

response.End

end if

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.provider="Microsoft.Jet.OLEDB.4.0"

Conn.connectionstring=Server.MapPath("/bancos/banco3.mdb")

Conn.open

ssql="select * from cad_niver where mes='"&procura&"'and dia='"&procura2&"'"

set RS = Conn.Execute(sSQL)

%>

Agradeço desde já a todos e um forte abraço.

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Esse campo "mês" e o campo "dia" são de que tipo ?

Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

/procura_niver.asp, line 99

Isso significa tipo de dados inválido !

Provavelmente você está usando ' ou " (aspas) para um tipo de campo numérico !

Edit:

Você postou o tópico igual a esse na mesma área !

O segundo tópico foi excluído !

Link para o comentário
Compartilhar em outros sites

  • 0

Muito obrigado pela sua atenção Jonathan Queiroz, que eu saiba esse dois campos estão no arquivo .mdb e tenhe la um coluna com o campo dia e outra com mes. Agora informa de que tipo é não sei te informar, infelizmente.

Como descubro o tipo do dado?

Ps: O erro foi de minha parte quando joguei o mesmo tópico 2 vezes...Obrigado

Te agradeço novamente.

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Para ver o tipo de dados você abre seu banco de dados, clica com o botão direito no nome de sua tabela e vai em "Modo Estrutura"

Lá vão aparecer todos os campos de seu bde o tipo de dados de cada um !

Provavelmente o tipo de dados utilizado para "dia" e "mês" deve ser Integer ou Byte (o "menos ruim" seria byte... o mais correto mesmo seria criar um único campo do tipo "data")

Tente trocar essa linha:

ssql="select * from cad_niver where mes='"&procura&"'and dia='"&procura2&"'"
Por essa:
ssql="select * from cad_niver where mes="&procura&"and dia="&procura2&""

Perceba que eu removi as aspas simples do código !

As aspas servem para indicar que o tipo do campo é string (texto)

Link para o comentário
Compartilhar em outros sites

  • 0

Troquei a linha como você pediu e a mensagem que apareceu foi esta.

Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression 'mes=janeiroand dia=1'.

/procura_niver.asp, line 99

E no modo de estrutura esta o seguinte:

nome do campo tipos de dados

CÓD1 Numeração Automatica

CÓD Número

Contato Número

mes Texto

dia Número

aniversariante Texto

Tenhe algo errado com este campos?

Obrigado amigo....

Link para o comentário
Compartilhar em outros sites

  • 0

Com a tabela fica mais fácil pra analisar...

Como o campo "mes" é do tipo texto, você deve colocar com as aspas !

Já o campo "dia" ficaria sem aspas mesmo !

Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression 'mes=janeiroand dia=1'.

/procura_niver.asp, line 99

Ficou faltando um espaçamento ali...

O correto seria assim:

ssql="select * from cad_niver where mes="'&procura&"' and dia="&procura2&""

Link para o comentário
Compartilhar em outros sites

  • 0
Por que ele sempre indica esta linha 99, se nos não estamos trabalhando em cima dela?

Porque é a linha que executa a conexão !

A outra linha apenas define o código sql da conexão !

O erro foi de digitação mesmo...Algo bem simples (a aspas simples estava no lugar errado) !

Troque isso:

ssql="select * from cad_niver where mes="'&procura&"' and dia="&procura2&""
Por isso:
ssql="select * from cad_niver where mes='"&procura&"' and dia="&procura2

Link para o comentário
Compartilhar em outros sites

  • 0

Parabens Jonathan Queiroz, o problema foi resolvido, você é fera mesmo.....

Uma pequena aula se possivel,rs. O que estava acontecendo nesta linha errada?

Agradeço também a este conceituado forum onde conta com pessoas serias e especialistas, vou sempre estar participando..PARABNES para o forum.

Obrigado amigo Jonathan... :D

Editado por diegonanets
Link para o comentário
Compartilhar em outros sites

  • 0
O que estava acontecendo nesta linha errada?
Observe essa linha:
ssql="select * from cad_niver where mes="'&procura&"' and dia="&procura2&""

Um erro até simples, mas muitas vezes difícil de ser detectado

Colocando alguns espaços entre os operadores "&" apenas para facilitar a detecção de erros, ficaria assim:

ssql="select * from cad_niver where mes="' & procura & "' and dia=" & procura2 & ""
Observamos que as aspas simples (') estão depois das aspas duplas ("), ou seja estão fora da string

Por esse motivo elas são tratadas como comentários !

O código que seria executado (sem os comentários) ficaria assim:

ssql="select * from cad_niver where mes="

Por isso ocorreu aquele erro !

Obs.:

Vou marcar o tópico como Resolvido

Precisando de ajuda, posta aí !

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...