Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Tigger

Busca de dados

Recommended Posts

Entao...to usando o famoso Request.Formpara enviar os dados...mais agora, estou usando o codigo que os caras me passara...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao...to usando o famoso  Request.Form

para enviar os dados...mais agora, estou usando o codigo que os caras me passara...

<{POST_SNAPBACK}>

Nao cara mal ae, mas assim ... no formulario de consulta você tah usando metodo POST ou GET !?

 

<form name=from1 method=GET action=resultado.asp>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao meu caro, seu eu estou usando Request.Formconsequentemente estarei com o method = POST...ja se tiver usando Request.QueryString meu method sera = GET....estou usando POST???!?!!?!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Entao meu caro, seu eu estou usando Request.Form

consequentemente estarei com o method = POST...ja se tiver usando

Request.QueryString meu method sera = GET....

 

estou usando POST???!?!!?!

Na verdade se está usando Rquest.Form o method de seu form deverá ser POST e não significa de verdade que ele esteja como POST, então a pergunta faz sentido.

 

E se seu Form está como POST é melhor mudar seus Requests que estão como QueryString.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, ja tentei usar com os dois metodos esse codigo que você me passou...

mas ele nao retorna nada...

 

Apenas, retorno o email...segue o codigo que estou utilizando...

 

ASP

[*]

 

[*]<%

 

[*] StrNome = (Request("nome"))

 

[*]StrEmail = (Request("email"))

 

[*]StrInicio = (Request("DATA_INICIO"))

 

[*]StrFinal  = (Request("DATA_FINAL"))

 

[*]StrModulo  = (Request("modulo"))

 

[*]

 

[*] D1Dia = Left (Request.Form("DATA_INICIO"),2)

 

[*] D1Mes = Mid  (Request.Form("DATA_INICIO"),4,2)

 

[*] D1Ano Right(Request.Form("DATA_INICIO"),4)

 

[*]

 

[*] D2Dia = Left (Request.Form("DATA_FINAL"),2)

 

[*] D2Mes = Mid  (Request.Form("DATA_FINAL"),4,2)

 

[*] D2Ano Right(Request.Form("DATA_FINAL"),4)

 

[*]

 

[*]  Data1 = D1Mes & "/" & D1Dia & "/" & D1Ano

 

[*] Data2 = D2Mes & "/" & D2Dia & "/" & D2Ano

 

[*]

 

[*]SET RS2 Server.CreateObject("ADODB.Recordset")

 

[*]

 

[*]SQL "SELECT * FROM DOWNLOADS_EFETUADOS"

 

[*]SQL = SQL & " WHERE DE_EMAIL = '"&request("email")&"'"

 

[*]

 

[*] IF (Request("nome") <> "" ) THEN

 

[*] SQL = SQL & " AND DE_NOME = '" & request("nome") & "'"

 

[*]  END IF

 

[*]  

 

[*]  IF (Request("DATA_INICIO") <> ""THEN

 

[*] SQL = SQL & " DE_DATA >="&"#"&Data1&"#"

 

[*]  END IF 

 

[*]  

 

[*]  IF (Request("DATA_FINAL") <> ""THEN

 

[*]  SQL = SQL & " DE_DATA <="&"#"&Data2&"#"

 

[*]  END IF 

 

[*]  

 

[*] IF (Request("modulo") <> "N" ) THEN

 

[*] SQL = SQL & " AND DE_MODULO = '%" & request("modulo") & "%'"

 

[*]  END IF

 

[*]  

 

[*]SQL = SQL & " ORDER BY DE_CODIGO DESC "

 

[*]Response.Write(SQL)

 

[*]Response.End()

 

[*]

 

[*] RS2.Open SQL, Cnn, 1,3

 

[*] %>

 

[*]

 

[*]

 

peco que se alguem puder me ajudar...favor, me ajudem..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se essa montagem de SQL te ajuda

ASP
  1. SQL "SELECT * FROM DOWNLOADS_EFETUADOS"
     
  2. If StrNome <> "" OR StrEmail <> "" OR StrInicio <> "" OR StrFinal <> "" OR StrModulo <> "" Then
     
  3.  SQL = SQL &" Where "
     
  4. End If
     
  5. If StrEmail <> "" Then
     
  6.  SQL = SQL & " DE_EMAIL = '"&request("email")&"'"
     
  7. End If
     
  8. If StrEmail <> "" AND StrNome <> "" Then
     
  9.  SQL = SQL &" AND"
     
  10. IF StrNome <> "" THEN
     
  11.  SQL = SQL &" DE_NOME = '"& StrNome &"'"
     
  12. END IF
     
  13. IF StrInicio <> "" AND StrFinal <> "" THEN
     
  14.  SQL = SQL & " AND DE_DATA >=#"& Data1 &"# AND DE_DATA <=#"& Data2 &"#"
     
  15. ELSE
     
  16.  If (StrEmail <> "" OR StrNome <> "") AND StrInicio <> "" Then
     
  17. SQL = SQL &" AND DE_DATA >=#"& Data1 &"#"
     
  18.  Else
     
  19. SQL = SQL &" DE_DATA >=#"& Data1 &"#"
     
  20.  End IF
     
  21.  If (StrEmail <> "" OR StrNome <> "") AND StrFinal <> "" Then
     
  22. SQL = SQL &" AND DE_DATA <=#"& Data2 &"#"
     
  23.  Else
     
  24. SQL = SQL &" DE_DATA <=#"& Data2 &"#"
     
  25.  End IF
     
  26. END IF
     
  27. If (StrEmail <> "" OR StrNome <> "" OR StrInicio <> "" OR StrFinal <> "") AND StrModulo <> "" Then
     
  28.  SQL = SQL &" AND"
     
  29. End If
     
  30. IF StrModulo <> "N" THEN
     
  31.  SQL = SQL & " DE_MODULO = '%"& StrModulo &"%'"
     
  32. END IF
     
  33. SQL = SQL & " ORDER BY DE_CODIGO DESC;"

Compartilhar este post


Link para o post
Compartilhar em outros sites

dicas para buscaselect * from tabela where 1=1if campo <> "" thensql = sql & " and campo <> campo "end ifif campo2 <> "" thensql = sql % " and campo2 = campo2 "end if'para datasif isdate(data1) and isdate(data2) then ' em vez de is date pode se usar <> ""sql = sql & "data1 > data1 and data2 < data2 "end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erro que esta retornando:

SELECT * FROM DOWNLOADS_EFETUADOS DE_DATA >=#//# DE_DATA <=#//# DE_MODULO = '%%' ORDER BY DE_CODIGO DESC;

consertei a SQL acima, mais de jeito nenhum ele quer imprimir o WHERE onde fica dando erro no AND.

SELECT * FROM DOWNLOADS_EFETUADOS AND DE_DATA >=#//# AND DE_DATA <=#//# DE_MODULO = '%%' ORDER BY DE_CODIGO DESC;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta seguir a postagem do gastão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

dicas para busca

select * from tabela where 1=1

if campo <> "" then

sql = sql & " and campo <> campo "

end if

if campo2 <> "" then

sql = sql % " and campo2 = campo2 "

end if

'para datas

if isdate(data1) and isdate(data2) then ' em vez de is date pode se usar <> ""

sql = sql & "data1 > data1 and data2 < data2 "

end if

<{POST_SNAPBACK}>

 

 

 

Sinceramente, nesse lance de codigo para busca com muitos campo, sou uma negacao...nao sei nada, cara, e das condicoes que estou...to meeio pertubado...nao penso em mais nda..foi mal ae galera...

 

Tenho que resovler essa parada, mais nao sei como.. Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu raciocionio, segui o que o gastao postou, onde considero que foi a mesma "coisa" que você postou...mais acho que nao voi conseguir fazer esse negocio, nao aaaaaaaagggggguento mmmmmmmmmais, isso....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Corrigir, coloquei para POST, mais mesmo assim continua dando erro...Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][Controlador Microsoft Access de ODBC] Erro de sintaxe (operador em falta) na expressão de consulta 'AND DE_DATA >=#//# AND DE_DATA <=#//# DE_MODULO = '%83%''. /administracao/manutencao/teste.asp, line 68

Compartilhar este post


Link para o post
Compartilhar em outros sites
Meu raciocionio, segui o que o gastao postou, onde considero que foi a mesma "coisa" que você postou...mais acho que nao voi conseguir fazer esse negocio, nao aaaaaaaagggggguento mmmmmmmmmais, isso....

É quase a mesma coisa, só que com o dele são menos testes lógicos a serem feitos, pois como ele colocou um "Where 1 = 1" na SQL todos os outros campos deverão conter o "AND".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, nao entedi a logica desse codigo

select * from tabela where 1=1if campo <> "" thensql = sql & " and campo <> campo "end ifif campo2 <> "" thensql = sql % " and campo2 = campo2 "end if'para datas if isdate(data1) and isdate(data2) then ' em vez de is date pode se usar <> ""sql = sql & "data1 > data1 and data2 < data2 "end if

como ficaria esse codigo ao meu atual...pois nao conseguir encaixar os campo basendo nesse codigo.No meu caso , sera que ficaria assim...

SQL = "SELECT * FROM DOWNLOADS_EFETUADOS "SQL = SQL & " WHERE 1 = 1 "   IF StrNome <> "" THEN      SQL = SQL & " AND DE_NOME <>  DE_NOME"	 END IFSET RS = Cnn.execute(SQL)

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só uma condição que sempre será atendida, se não tiver nada preenchido em seu form o RS retornará todos os dados do BD.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ha sim..

Mais como eu consigo montar essa SQL...

 

Sera que e dessa maneira...

 

SQL = "SELECT * FROM DOWNLOADS_EFETUADOS "
SQL = SQL & " WHERE 1 = 1 "
IF StrNome <> "" THEN
[b]SQL = SQL & " AND DE_NOME <> DE_NOME" [/b]
END IF
SET RS = Cnn.execute(SQL)

 

sera que o campo em destaque esta corrteo

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai você usa o valor da variavel

SQL = "SELECT * FROM DOWNLOADS_EFETUADOS "SQL = SQL & " WHERE 1 = 1 "IF StrNome <> "" THENSQL = SQL & " AND DE_NOME <> '" & StrNome & "'"END IFSET RS = Cnn.execute(SQL)

ai erifica se eh pra pegar os que são iguais ou diferentes pois ai em cima ta diferentes...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.