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

Busca AvanÇada


Guest wagner.ramos

Pergunta

Guest wagner.ramos

Estou criando um site para uma agênca de modelos e deperei-me com problemas para uma busca avançada

Criei uma pg de "busca.asp" com um "menu de lista"que tem 6 ítens:

típo_fisico ; cor_cabelos ; tipo_cabelos ; cor_olhos ; sexo e idade. (cada um representa uma tabela do access)

Para cada menu de lista eu criei um conjunto de registros e seus respectivos campos dinâmicos mais

um formulário método GET

Criei outra página "resultados.asp" e um conjunto de registros avançado onde o campo SQL ficou:

SELECT *

FROM modelos

WHERE cod =tipo_fisico AND cor_cabelos AND tipo_cabelos AND cor_olhos AND sexo AND idade

e adicionei 6 variáveis:

Nome Valor Padrão Valor em tempo de execução

tipo_fisico 1 Request.QueryString("tipo_fisico")

cor_cabelos 1 Request.QueryString("cor_cabelos")

tipo_cabelos 1 Request.QueryString("tipo_cabelos")

cor_olhos 1 Request.QueryString("cor_olhos")

sexo 1 Request.QueryString("sexo")

idade 1 Request.QueryString("idade")

O problema é qundo clico em BUSCAR, a página resultados da o erro:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'cod =Brasileiro AND Castanho AND Lisos AND Castanhos AND Feminino AND + de 17'.

/top_model/resultado.asp, line 55

Por favor, alguém sabe onde está o erro?

me parece que algo de errado com a linguagem SQL.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Fala Wagner, beleza???

Eu conheço mais SQL, o erro

"[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'cod =Brasileiro AND Castanho AND Lisos AND Castanhos AND Feminino AND + de 17'."

referente ao código " SELECT * FROM modelos

WHERE cod =tipo_fisico AND cor_cabelos AND tipo_cabelos AND cor_olhos AND sexo AND idade"

ocorre devido ao modo que está escrito os "AND"s; explicando melhor, você só colocou o campo que está sendo comparado na primeira parte da instrução "cod =tipo_fisico", o certo é você especificar o campo em todas as condições "and";

Ex:

WHERE cod = tipo_fisico AND cod = cor_cabelos AND cod = tipo_cabelos AND cod = cor_olhos AND cod = sexo AND cod = idade

É isso ai... espero ter ajudado.

TÉ+

Link para o comentário
Compartilhar em outros sites

  • 0
Guest wagner.ramos

Fiz as alterações mas continua dando o erro:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'cod = Brasileiro AND cod = Louros AND cod = Lisos AND cod = Azul AND cod = Feminino AND cod = + de 17'.

/top_model/resultado.asp, line 55

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...