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

Valores separados por virgula


RapidFire

Pergunta

Olá.

alguém poderia me dar um help?

O que estou fazendo de errado?

<%

str_cidade = "AMERICANA, CAMPINAS, BARÃO GERALDO"

Set ObjRS = Server.CreateObject("ADODB.RecordSet")

SQL = "SELECT * FROM tb_cliente WHERE cliente_ativo =''1''"

if str_cidade <> "" then

dim arraycidade

arraycidade = split(str_cidade,",",-1,1)

for i = LBound( arraycidade ) to UBound (arraycidade)

if i <> UBound ( arraycidade ) then

separador = ","

else

separador = ""

end if

junta5 = junta5 & "''"&arraycidade( i )&"''"&separador&""

next

sql = sql & " and cidade in ("&junta5&")"

end if

Set ObjRS = ObjCon.Execute(SQL)

%>

<%

Do Until ObjRS.EOF

%>

<%=ObjRS("id_cliente")%> - <%=ObjRS("cliente")%> - <%=ObjRS("cidade")%><br />

<%

ObjRS.MoveNext

Loop

%>

Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression 'cliente_ativo =''1'' and cidade in (''AMERICANA'','' CAMPINAS'','' BARÃO GERALDO'')'.

/adm_cliebte/2.asp, line 35

Agradeço a ajuda.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Consegui em partes.

O Código agora esta funcionando legal com apenas um problema, o mais importante.

Ele só lista as cidades que estão em primeiro. Ele não passa para o resgistro seguinte que esta depois da virgula.

Exemplo:

AMERICANA, BARAO GERALDO, CAMPINAS

Ele só esta me trazendo a listagem dos registros que tem a cidade de AMERICANA.

Se caso a primeira cidade seja NOVA ODESSA, ele não percorre depois da virgula para me listar as outras cidades depois da virgula como HORTOLANDIA, SUMARE.

Exemplo:

NOVA ODESSA, HORTOLANDIA, SUMARE

É possível fazer isso?

Se puderem me ajudar, ficarei muito grato.

<%
'Option Explicit
%>

<!--#include file="../includes/conexao/conexao.asp"-->

<%
dim ObjRS_campanha, SQL, ObjRS_cidade, ObjRS_cliente%>

<%
Call abre_conexao
%>

<%
str_id_cliente     = Request("id_cliente")
%>

<%
Set ObjRS_campanha = Server.CreateObject("ADODB.RecordSet")
SQL = "SELECT * FROM tb_cadastro WHERE id_cliente = '"& str_id_cliente &"'"
Set ObjRS_campanha = ObjCon.Execute(SQL)

if Not ObjRS_campanha.EOF Then
str_cidade = ObjRS_campanha("cidade")
End if

Set ObjRS = Server.CreateObject("ADODB.RecordSet")
SQL = "SELECT * FROM tb_clientes WHERE cliente_ativo='1'"

if str_cidade <> "" Then

    Dim arraycidade

        arraycidade = split(str_cidade,",",-1,1)

        For i = LBound(arraycidade) To UBound (arraycidade)
            if i <> UBound (arraycidade) Then
                separador = ","
            Else
                separador = ""
            End if
            if i > 0 Then
                junta5 =  junta5 &"'"& mid(arraycidade(i),1) &"'"& separador
            Else
                junta5 =  junta5 &"'"& arraycidade(i) &"'"& separador
            End if
            
        Next
        
        SQL =  SQL & " and cidade in ("& junta5 &")"
        
    End if

Set ObjRS = ObjCon.Execute(SQL)
%>

<%
Do Until ObjRS.EOF
%>

<%=ObjRS("id_cliente")%> - <%=ObjRS("nome")%> - <%=ObjRS("cidade")%><br />

<%
ObjRS.MoveNext
Loop
%>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Rapaiz, você pode usar só assim!

x = split(str_cidade,",")

for i = 0 to ubound(x)

response.write(x(i)&"<br/>")

next

Pra pegar os valores que você quer, não tem erro...

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