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

Busca Com Três Campos


Jony Walker

Pergunta

tenho três campos no meu formulário para fazer uma busca mais avançada. Eis o código:

<%

Dim rsCons, sqlCons, varConv

Dim TXT, OTXT

varConv = request.querystring("conv")

varReg = request.querystring("reg")

varEsp = request.querystring("esp")

call abre_conexao

TXT = ""

OTXT = ""

IF varConv<>"" THEN

TXT=TXT&"doutor LIKE '"&TRIM(varConv)&"'"

END IF

IF varReg<>"" THEN

IF TXT<>"" THEN

  TXT=TXT&" AND "

END IF

TXT=TXT&"clinica LIKE '"&TRIM(varReg)&"%'"

END IF

IF varEsp<>"" THEN

IF TXT<>"" THEN

  TXT=TXT&" AND "

END IF

TXT=TXT&"form LIKE  '"&TRIM(varEsp)&"%'"

END IF

sqlCons = " SELECT * FROM doutores WHERE '" & TXT & "'"

rsCons = conexao.execute(sqlCons)

%>

O erro está aparecendo assim:

Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta ''form LIKE 'cirurgia cardiovascular'''.

/guiamedico/avancada.asp, line 39 linha em vermelho

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Bom, após extensiva análise, constatei terrível erro humano. Os campos de convênio são booleanos, então tive q reformular um trecho do código, q agora ficou assim:

TXT = ""

OTXT = ""

IF varConv<>"" THEN

TXT = TXT & TRIM(varConv) & " = TRUE "

END IF

IF varReg<>"" THEN

IF TXT<>"" THEN

  TXT=TXT&" AND "

END IF

TXT=TXT&"zona LIKE "&TRIM(varReg)&" "

END IF

IF varEsp<>"" THEN

IF TXT<>"" THEN

  TXT=TXT&" AND "

END IF

TXT=TXT&"form LIKE "&TRIM(varEsp)&" "

END IF

sqlCons = " SELECT * FROM doutores WHERE " & TXT & " ORDER BY doutor "

Imprimindo a consulta obtive o seguinte retorno (preenchendo os três campos):

SELECT * FROM doutores WHERE agf = TRUE AND zona LIKE sul AND form LIKE homeopatia ORDER BY doutor

essa se não me engano deveria ser a string de consulta correta, mas mesmo assim ele não a executa e reetorna o seguinte erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)

[Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 2.

/guiamedico/avancada.asp, line 41 que é a linha que manda executar a consulta...

se a string está certa, porque ele num faz isso ??/ se eu colocar aspas simples nas variáveis ele nem termina de escrever a string

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,1k
    • Posts
      651,9k
×
×
  • Criar Novo...