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

Query


Steven Tyler

Pergunta

galera, to querendo fazer o seguinte..

tenho um form que tem 10 checkbox...

numa outra pagina faco um request.form desses checkbox...

e dai vem os valores da chjeckbox separador por virgula...

por exemplo....

<%
if rs_tecnicos.eof <> true then
do until rs_tecnicos.eof
%>
<input type="checkbox" name="ck" value=<%=rs_tecnicos("id")%> checked><font class="texto"><%=rs_tecnicos("username")%>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<%
rs_tecnicos.MoveNext
loop
end if
%>
na outra pagina faco um request.form....
vTecnico = request.form("ck")
dai o vTecnico fica com os valores do "ck" separados por virgula....por exemplo "2,4,8" esse "2,4,8" são os checkbox's que o usuario escolheu certo? pois bem, dai eu gostaria da fazer uma query em cima dessa variavel.... selecionar todos de determinada tabela onde o id seja igual a todos os que tão na variavel
<%
sql_tec = "select * from tbl_usuarios where id = "&vTecnico&" order by username"
set rs_tecn = conexao.execute(sql_tec)
%>
dai da erro...
Microsoft JET Database Engine error '80040e14' 
Syntax error (comma) in query expression 'id = 4, 5, 7, 9, 137'. 

porque o compilador entende que é pra buscar um id "4, 5, 7, 9, 137"...e logicamente isso não da porque é numero inteiro o id

como que eu faco galera pra selecionar todos da tabela com esses id's?

por favor é urgente...

t+

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

tenta assim:

<% x = Split(vTecnico, ",")

sql_tec = "select * from tbl_usuarios where "
For i = 0 To UBound(x)
     sql_tec = sql_tec & " id = " & x(i)
     If i <> UBound(x) Then sql_tec = sql_tec & " Or "
Next
sql_tec = sql_tec & " order by username"
set rs_tecn = conexao.execute(sql_tec)
%>[/code] não testei aqui mas deve dar. ou talvez funciona assim, também, mais facil:
[code]<%
sql_tec = "select * from tbl_usuarios where id in ("&vTecnico&") order by username"
set rs_tecn = conexao.execute(sql_tec)
%>

Link para o comentário
Compartilhar em outros sites

  • 0

Você tem dois problemas aí. O primeiro é o que você mesmo citou. O segundo é que nessa busca, a vírgula não é um número inteiro, e se no banco de dados estes números são de fato "inteiros", vai dar erro, pois não é texto.

Não sei se alguém vai aparecer com solução melhor, mas eu no seu lugar desencanava e fazia uma busca um a um. Afinal nem são tantos checkboxes assim. Use "If" para as condições caso o usuário tenha marcado um checkbox ou não, e faça a busca.

Mas com certeza alguém terá uma solução melhor. Mas no momento não me ocorre.

hehe postaram antes de mim, testa aí pra ver.

Editado:

hehe responderam antes de mim, testa aí pra ver.

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