Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Doppio filtro ad un recordset

    Ciao a tutti, ho un recordset che devo filtrare 2 volte ma non sono capace di farlo. A grandi spanne ho fatto un paio di tentativi, posto quello che secondo me si avvicina di più.

    codice:
    <%
    Dim rs_commesse__MMColParam
    rs_commesse__MMColParam = "1"
    If (Request.QueryString("find2") <> "") Then 
      rs_commesse__MMColParam = Request.QueryString("find2")
    End If
    %>
    <%
    Dim rs_commesse__MMColParam2
    rs_commesse__MMColParam2 = "1"
    If (Request.QueryString("id_societa") <> "") Then 
      rs_commesse__MMColParam2 = Request.QueryString("id_societa")
    End If
    %>
    <%
    Dim rs_commesse
    Dim rs_commesse_numRows
    
    Set rs_commesse = Server.CreateObject("ADODB.Recordset")
    rs_commesse.ActiveConnection = MM_conn_teammeccanica_STRING
    rs_commesse.Source = "SELECT * FROM Q_COMM_ART_ORD_NO_DDT_IN WHERE K_n = '" + Replace(rs_commesse__MMColParam, "'", "''") + "' AND IDFORN = '" + Replace (rs_commesse__MMColParam2, "'", "''") + "' ORDER BY Codice ASC"
    rs_commesse.CursorType = 0
    rs_commesse.CursorLocation = 2
    rs_commesse.LockType = 1
    rs_commesse.Open()
    
    rs_commesse_numRows = 0
    %>
    Mentre mando come parametro URL ID_DDT_IN mando come sessione ID_societa... come posso fare? (la sessione si chiama ddt_soc)

  2. #2
    Senza scomodare SQL puoi usare .filter


    Set rs_commesse = Server.CreateObject("ADODB.Recordset")
    rs_commesse.ActiveConnection = MM_conn_teammeccanica_STRING
    rs_commesse.Source = "SELECT * FROM Q_COMM_ART_ORD_NO_DDT_IN WHERE K_n = '" + Replace(rs_commesse__MMColParam, "'", "''") + "' AND IDFORN = '" + Replace (rs_commesse__MMColParam2, "'", "''") + "' ORDER BY Codice ASC"
    rs_commesse.Filter = "nome_tuo_campo = "&Session("ddt_soc")
    rs_commesse.CursorType = 0
    rs_commesse.CursorLocation = 2
    rs_commesse.LockType = 1
    rs_commesse.Open()


    Steweb

  3. #3
    mmm... ho provato a fare come dici ma non mi restituisce niente...
    io ho scritto così...

    codice:
    <%
    Dim rs_commesse__MMColParam
    rs_commesse__MMColParam = "1"
    If (Request.QueryString("find2") <> "") Then 
      rs_commesse__MMColParam = Request.QueryString("find2")
    End If
    %>
    <%
    Dim rs_commesse
    Dim rs_commesse_numRows
    
    Set rs_commesse = Server.CreateObject("ADODB.Recordset") 
    rs_commesse.ActiveConnection = MM_conn_teammeccanica_STRING 
    rs_commesse.Source = "SELECT * FROM Q_COMM_ART_ORD_NO_DDT_IN WHERE K_n = '" + Replace(rs_commesse__MMColParam, "'", "''") + "' ORDER BY Codice ASC" 
    rs_commesse.Filter = "IDFORN = "&Session("ddt_soc") 
    rs_commesse.CursorType = 0 
    rs_commesse.CursorLocation = 2 
    rs_commesse.LockType = 1 
    rs_commesse.Open() 
    
    rs_commesse_numRows = 0
    %>
    Il risultato è 0
    Il codice è giusto?
    Se mi dici di si allora ho fatto qualche errore da qualche altra parte e farò un accurata ricerca...

  4. #4
    Mmm... dall'alto della mia ignoranza non mi convincono le virgolette in questo passaggio...

    codice:
    rs_commesse.Filter = "IDFORN = "&Session("ddt_soc")
    Sono giuste?

  5. #5
    .. La sintassi è corretta vanno le virgolette per indenderci !

    Ha provato verificare che la session abbia valori ?
    O meglio prova a sostituire la session con un valore effettivo presente nel DB !!

    Dimenticavo la sintassi è quella delle SQL quindi apici quando occorrono !!

    rs_commesse.Filter = "IDFORN = '"&Session("ddt_soc")&" ' "


    Steweb

  6. #6
    Mi ci sto avvicinando di brutto in questo modo...
    Ho fatto prove su prove, funziona tutto...la sessione va, il filtro relativo al cerca funziona... non so dove sbattere la testa... magari si riesce a capire se c'è qualche errore di codice...

    codice:
    <%
    Dim rs_commesse__MMColParam
    rs_commesse__MMColParam = "1"
    If (Request.QueryString("find2")  <> "") Then 
      rs_commesse__MMColParam = Request.QueryString("find2") 
    End If
    %>
    <%
    Dim rs_commesse__MMColParam2
    rs_commesse__MMColParam2 = "1"
    If (Session("ddt_soc")   <> "") Then 
      rs_commesse__MMColParam2 = Session("ddt_soc")  
    End If
    %>
    <%
    Dim rs_commesse
    Dim rs_commesse_numRows
    
    Set rs_commesse = Server.CreateObject("ADODB.Recordset") 
    rs_commesse.ActiveConnection = MM_conn_teammeccanica_STRING 
    rs_commesse.Source = "SELECT *  FROM Q_COMM_ART_ORD_NO_DDT_IN  WHERE K_n LIKE '%" + Replace(rs_commesse__MMColParam, "'", "''") + "%' AND IDFORN = " + Replace(rs_commesse__MMColParam2, "'", "''") + "  ORDER BY Codice ASC" 
    rs_commesse.CursorType = 0 
    rs_commesse.CursorLocation = 2 
    rs_commesse.LockType = 1 
    rs_commesse.Open() 
    
    rs_commesse_numRows = 0
    %>

  7. #7
    Come sintassi mi sembra tutto corretto !

    Se non passi parametri prendi di default il valore 1 da passare alla SQL anche se mi sembrano due campi testo, però Dreamweaver li mette per non incappare in errori su SQL ... cmq va bene può andare ..!

    Ora si tratta di vedere SQL e cosa vuoi recuperare !

    In precedenza avevi
    ..WHERE K_n = '" & rs_commesse__MMColParam & "'...

    ora hai

    ..WHERE K_n like '%" & rs_commesse__MMColParam & "%'AND IDFORN = '" & rs_commesse__MMColParam2 & " ' ORDER BY Codice ASC"

    Like comporta delle diversità !!

    Inoltre ho visto il secondo parametro è testo o numero se testo mancano gli apici

    AND IDFORN = " + Replace(rs_commesse__MMColParam2, "'", "''") + " ORDER BY Codice ASC"


    Prova un pò

    Steweb

  8. #8
    Non mi restituisce niente come al solito... è strano anche a me risulta tutto giusto... non capisco proprio... Non mi da errore solo che non mi restituisce niente, il fatto è che non mi restituisce niente anche se provo con il default? Non capisco proprio, purtroppo la query (è una query non una tabella) su cui lavoro non l'ho fatta io quindi non so se è lei a creare problemi...
    Pensavo che l'errore fosse l'= perche effettivamente a me serve un cerca quindi è più corretto mettere il LIKE visto che non sempre i codici cercati saranno completi...
    Non so più dove sbattere la capoccia...

  9. #9
    Funziona funziona funziona
    non chiedermi come ne perchè ma improvvisamente funziona...

  10. #10

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.