Essa é a versão 0.1 desta função que cria um sql de acordo com as características da busca (e, ou, exata).
Quem for modificar ou documenta-lo melhor, por favor, envie um e-mail para mim com o código para poder atualiza-lo neste site.
Eu irei incluir o nome do autor da atualização no código.
<%
'--------------------------------------------------------------------
' criaConsultaSQL
' Criado por Rafael Martins de Ascenção
' Email: iamaz@ig.com.br - ICQ: 118036283
' --------------------------------------------
' strOri = palavra procurada
' campos = campos da tabela a serem selecionados pela consulta
' tabela = tabela onde será feita a consulta
' condicoes = filtro para o registros selecionados
' tipoBusca = E, OU, EXATA
' camposPesquisa = campos onde será feita a busca
' ordem = campos a classificar os registros
'--------------------------------------------------------------------
function criaConsultaSQL(strOri,campos,tabela,condicoes,tipoBusca,camposPesquisa,ordem)
dim str,sql,cmpPsq
str = preparaPalavra(strOri)
sql = "SELECT " & campos & " FROM " & tabela & " where "
cmpPsq = split(camposPesquisa,",")
if tipobusca = "EXATA" then
sql = sql & " ("
for i=0 to ubound(cmpPsq)
if i <> 0 then
sql = sql & " or "
end if
sql = sql & cmpPsq(i) & " like '%" & str & "%'"
next
sql = sql & ")"
else
if tipobusca = "E" then
expr = " and "
else
expr = " or "
end if
strvet = split(str," ")
sql = sql & " (("
for i=0 to ubound(cmpPsq)
if i <> 0 then
sql = sql & ") or ("
end if
for j=0 to ubound(strvet)
if j <> 0 then
sql = sql & expr
end if
sql = sql & cmpPsq(i) & " like '%" & strvet(j) & "%'"
next
next
sql = sql & "))"
end if
if condicoes <> "" then
sql = sql & " and " & condicoes
end if
sql = sql & " order by " & ordem
criaConsultaSQL = sql
end function
'E para utilizá-la:
pegaReg.Open criaConsultaSQL(frase, "campo1,campo2,campo3,campo4", "tabela", "campo=1", "E", "campo1,campo2", "campo1,campo2"), conex
%>
0 comentários:
Postar um comentário