Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 31
  1. #1
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692

    Form con campi multipli

    Ciao.

    Utilizzo questo codice x controllare la presenza di un codice alfanumerico all'interno di un db :

    codice:
    strAlfaNumerico = request.form("Alfanumerico")
    
    Sql = "SELECT * from TblReg where Alfanumerico = '" & strAlfaNumerico & "' "
    
    Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.Open SQL, conn, 3, 3
    
    if Not objRS.eof then
    
            strAlfaNumerico = request.form("Alfanumerico")
       
       else
    
            response.write "Alfanumerico già registrato!"
    
    end if
    Non ci sono problemi se dal form viene processato solo un dato; adesso però ho implementato il form ( su richiesta non x capriccio ) inserendo il campo Alfanumerico enne volte, cioè nel form avrò :

    Alfanumerico_1
    Alfanumerico_2
    Alfanumerico_3
    ...

    Per continuare il controllo devo modificare la query così:

    Sql = " SELECT * from TblReg where Alfanumerico = '" & strAlfaNumerico & "' OR Alfanumerico = '" & strAlfaNumerico_1 & "' OR Alfanumerico = '" & strAlfaNumerico_2 & "' OR Alfanumerico = '" & strAlfaNumerico_3 & "' "
    oppure esiste un metodo più performante ?... e se per caso uno di questi campi Alfanumerico che arriva dal form fosse vuoto ?

    Grazie-
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  2. #2
    SELECT ....

    IF CAMPO1 non vuoto THEN SELECT=SELECT+...

    e così via

  3. #3
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Originariamente inviato da optime
    SELECT ....

    IF CAMPO1 non vuoto THEN SELECT=SELECT+...

    e così via
    Grazie x la risposta; vorrei sapere se ho capito:

    Faccio una select del tipo:

    Sql = "SELECT * from TblReg"

    e poi:

    If request.form("Alfanumerico_1") <> then Sql = "SELECT * from TblReg"

    non capisco il +... :master:
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  4. #4

  5. #5
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Ti ho capito:

    codice:
    Sql = "SELECT * from TblReg where 1 = 1 "
    
    if session("strAlfanumerico_1") <> "" then
       strQuery = strQuery & " AND Alfanumerico = '" & session("strAlfanumerico_1") & "' "
    end if   
    
    if session("strAlfanumerico_2") <> "" then
       strQuery = strQuery & " AND ( Alfanumerico = '" & session("strAlfanumerico_2") & "' "
    end if 
    
    if session("strPLU_3") <> "" then
       strQuery = strQuery & " OR Alfanumerico = '" & session("strAlfanumerico_3") & "' ) "
    end if
    Nella tabella ho già gli Alfanumerici 323 e 333., mentre non c'è 565.

    Così mi dice che nessuno dei tre è presente in tabella... :master:
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  6. #6
    perché due in AND e uno in OR?

  7. #7
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Originariamente inviato da optime
    perché due in AND e uno in OR?
    Si scusa è vero, scrivo così:

    codice:
    Sql = "SELECT * from TblReg where 1 = 1 "
    
    if session("strAlfanumerico_1") <> "" then
       Sql = Sql & " AND Alfanumerico = '" & session("strAlfanumerico_1") & "' "
    end if   
    
    if session("strAlfanumerico_2") <> "" then
       Sql = Sql & " AND Alfanumerico = '" & session("strAlfanumerico_2") & "' "
    end if 
    
    if session("strPLU_3") <> "" then
       Sql = Sql & " AND Alfanumerico = '" & session("strAlfanumerico_3") & "' "
    end if 
    
    Set Rs = server.createObject("ADODB.Recordset")
    Rs.Open Sql, objconn
    
    If Not Rs.EOF Then
    
       'INSERISCI IN DB
    
    else
    
       response.write "ko"
    
    end if
    Ma stampa sempre KO anche se in tabella non ho alfanumerico 565...


    SELECT * FROM TblReg WHERE 1 = 1 AND Alfanumerico = '565' AND Alfanumerico = '323' AND Alfanumerico = '333'

    ko
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  8. #8
    micro, se i campi sono in AND basta che ne manchi uno e scrive KO...

  9. #9
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Originariamente inviato da optime
    micro, se i campi sono in AND basta che ne manchi uno e scrive KO...
    Se scrivo Tutti OR inserisce anche gli alfanumerici già presenti nel DB:

    SELECT * FROM TblReg WHERE 1 = 1 OR Alfanumerico = '565' OR Alfanumerico = '323' OR Alfanumerico = '333'

    SELECT * FROM TblReg WHERE 1 = 1 AND Alfanumerico = '565' OR Alfanumerico = '323' OR Alfanumerico = '333'
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  10. #10
    allora spiega quello che devi fare, con anche un esempio grazie

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.