Ir para conteúdo

POWERED BY:

Arquivado

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

Leonardo Rocha

Consultar com duas ou mais variáveis.

Recommended Posts

Amigos, é o seguinte estou com um problema e não estou conseguindo resolver.

Tenho o select abaixo com duas variáveis: txtSituacao e txtPais... O problema é o seguinte: Quando informo no formulário o PAIS (txtPais) mas não desejo informar a SITUAÇÃO (txtSituacao) o resultado seria todos os registros referente ao pais escolhido independent e de sua situação... Mas isso não ocorre, o sistema informa o seguinte erro: "Error Type:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'situacao_cad.situacao = and estabelecimento.pais = 'Arg''.

/estrangeiros/adm/sistema/relatorio.asp, line 66"

 

 

stringSQL = "SELECT pais.Sigla, pais.nome_pais, situacao_cad.cod_situacao, situacao_cad.registro_estabel, situacao_cad.situacao, situacao_cad.data_situacao, situacao_cad.data_vencimento, situacao_cad.observacao, situacao_cad.data_cadastro, situacao_cad.usuario, situacao_cad.cod_estabel_sit, estabelecimento.cod_estabel, estabelecimento.registro, estabelecimento.processo, estabelecimento.atividade, estabelecimento.nome, estabelecimento.nome_fantasia, estabelecimento.endereco, estabelecimento.cep, estabelecimento.cidade, estabelecimento.estado, estabelecimento.pais, estabelecimento.representante, estabelecimento.data_cadastro, estabelecimento.usuario, estabelecimento.data, situacao.descricao, * FROM ((estabelecimento INNER JOIN situacao_cad ON estabelecimento.registro = situacao_cad.registro_estabel) INNER JOIN pais ON estabelecimento.pais = pais.Sigla) INNER JOIN situacao ON situacao_cad.situacao = situacao.codigo WHERE situacao_cad.situacao = "&txtSituacao&" and estabelecimento.pais = '"&txtPais&"' "

 

Aguardo uma ajuda de vocês...

 

Obrigado!

 

Leonardo Rocha

Compartilhar este post


Link para o post
Compartilhar em outros sites

sem o where isso funcionou?

Compartilhar este post


Link para o post
Compartilhar em outros sites

txtSituacao esta vazio

 

de onde esta recuperando?

 

se for texto tem que por aspas tambem

Compartilhar este post


Link para o post
Compartilhar em outros sites

txtPais = request("pais")

txtSituacao = request("Sit")

 

O campo txtSituação não é tipo texto enquanto ao pais, este sim é tipo texto e já está com as aspas simples.

 

É o seguinte Monteiro, quando executo a consulta ele me traz as situações sem problemas, mas quando solicito o Pais ele não traz... Mas... quando eu solicito os dois campos dar tudo certo também.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao tem que montar a sua query de acordo com o que vem do formulario

Compartilhar este post


Link para o post
Compartilhar em outros sites

Monteiro

 

Esta é a minha query ao qual já informei láaaaaa em cima.

 

stringSQL = "SELECT pais.Sigla, pais.nome_pais, situacao_cad.cod_situacao, situacao_cad.registro_estabel, situacao_cad.situacao, situacao_cad.data_situacao, situacao_cad.data_vencimento, situacao_cad.observacao, situacao_cad.data_cadastro, situacao_cad.usuario, situacao_cad.cod_estabel_sit, estabelecimento.cod_estabel, estabelecimento.registro, estabelecimento.processo, estabelecimento.atividade, estabelecimento.nome, estabelecimento.nome_fantasia, estabelecimento.endereco, estabelecimento.cep, estabelecimento.cidade, estabelecimento.estado, estabelecimento.pais, estabelecimento.representante, estabelecimento.data_cadastro, estabelecimento.usuario, estabelecimento.data, situacao.descricao, * FROM ((estabelecimento INNER JOIN situacao_cad ON estabelecimento.registro = situacao_cad.registro_estabel) INNER JOIN pais ON estabelecimento.pais = pais.Sigla) INNER JOIN situacao ON situacao_cad.situacao = situacao.codigo WHERE situacao_cad.situacao = "&txtSituacao&" and estabelecimento.pais = '"&txtPais&"' "

 

É justamente aí que estou tendo os problemas mencionados anteriormente... Se puder me ajudar eu vou agradecer, mas senão, agradeço do mesmo jeito.

 

Leonardo Rocha

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria basicamente isso

 

stringSQL = "SELECT pais.Sigla, pais.nome_pais, situacao_cad.cod_situacao, situacao_cad.registro_estabel, situacao_cad.situacao, situacao_cad.data_situacao, situacao_cad.data_vencimento, situacao_cad.observacao, situacao_cad.data_cadastro, situacao_cad.usuario, situacao_cad.cod_estabel_sit, estabelecimento.cod_estabel, estabelecimento.registro, estabelecimento.processo, estabelecimento.atividade, estabelecimento.nome, estabelecimento.nome_fantasia, estabelecimento.endereco, estabelecimento.cep, estabelecimento.cidade, estabelecimento.estado, estabelecimento.pais, estabelecimento.representante, estabelecimento.data_cadastro, estabelecimento.usuario, estabelecimento.data, situacao.descricao, * FROM ((estabelecimento INNER JOIN situacao_cad ON estabelecimento.registro = situacao_cad.registro_estabel) INNER JOIN pais ON estabelecimento.pais = pais.Sigla) INNER JOIN situacao ON situacao_cad.situacao = situacao.codigo WHERE 1=1"

IF txtSituacao <> "" THEN
stringSQL = stringSQL & " AND situacao_cad.situacao = " & txtSituacao & ""
END IF

IF txtPais <> "" THEN
stringSQL = stringSQL & " AND estabelecimento.pais = '" & txtPais & "'"
END IF

veja se vai

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.