Jump to content
Fórum Script Brasil
  • 0

Query


Steven Tyler

Question

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 to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      651.8k
×
×
  • Create New...