Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Vou explicar como é:
Tenhu uma página com vários CheckBoxes, e o formuláriuo é enviado para a página Buscar.asp !
Para eu selecionar vários dados no banco de dados, pois se é um checkbox pode ter mais de uma escolha, então eu coloco o IN("") CERTO ? ? ?
Eis a parte do SELECT:
SQL = "SELECT * FROM privados,publicos WHERE privados.sexo = '" & sexo & "' AND publicos.intencao IN(" & intencao & ") AND privados.usuario = publicos.usuario " RS.open SQL,conn,3,3é isso ai, soh que dá o seguinte erro:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador ausente) na expressão de consulta
Pegando o rumo de uma vez, se a pessoa escolhe apenas um CheckBox acho que dá um erro tipo: eram esperados 2. Tem como eu arrumar isto?
E se a pessoa não selecionar nenhum, eu teria que fazer uma função para tipo se tivesse vazio naum selecionar no bd?
ABRAÇOS
Olá juca, eu intendi o que você fez e cheguei a QUERER fazer isto mas o problema que eu coloquei intencao e sexo como exemplos, são aproximadamente 15 variáveis de CHECKBOXes e umas 10 normais, o problema eh nos CHECKBOXes, a sintaxe IN("") para os check está correta?e como ficaria usando o case? eu cheguei a fazer mas nem testei pois fiquei perdido . . . .ABRAÇOS ! ! ! !
a sítaxe está certa sim, você pode fazer um array...procura aqui no fórum mesmo como se trabalha com array pois eu não trabalho muito com isso e por isso não sei como utilizar....... Oq você quer realmente é bem complexo, você teria que colocar no valor dos checkbox uma vírgula no fim de cada valor e depois você faz uma função para pegar oq estiver escrito após a vírgula....isso tb tem aqui no fórum. Desculpe eu não poder te ajudar mais pois tb estou limitado neh.....mas o pessoal aih é tudomaster e pode te ajudar melhor
valew cara pela tentativa e por perder seu tempo comigo ok?
Cara você pode fazer um if ou até melhor , um case... Checando quais variáveisforam preenchidas e montando os selects de acordo com as variáveis.....não sei se você entendeu.... ;) vou exemplificar: você tem as variáveis sexo e intenção, certo?lá vai o código<%Dim strSqlIf sexo <> "" and intencao = "" then strSql = " monte o select apenas buscando por sexo"ElseIf sexo = "" and intencao <> "" then strSql = " monte o select apenas buscando por intencao"ElseIf sexo <>"" and intencao <> "" Then strSql = " monte o select buscando pelos dois"End IfRS.open strSql,conn,3,3 %>E quanto ao seu código acima procure verificar se ele está passando todos parâmetros corretamente, tipo assim:SQL = "SELECT * FROM privados,publicos WHERE privados.sexo = '" & sexo & "' AND publicos.intencao IN(" & intencao & ") AND privados.usuario = publicos.usuario " Response.write SQL Response.End()Espero ter ajudado carinha!! Abraços Juliano