• User Attivo

    recupero campo da database in base a scelta select

    buongiorno a tutti, ho realizzato una pagina html popolata da diverse select.
    Attraverso le select l'utente compie delle scelte e alla fine cliccando un pulsante dovrebbe ottenere come risultato 2 campi del record di database (access) identificato dalle scelte effettuate.

    Esempio:

    Tabella_db:

    • id
    • quantità
    • formato
    • colore
    • tipologia
    • lavorazione
    • prezzo netto
    • prezzo lordo

    Select (popolate con gli stessi dati dei campi del db) inserite nella pagina:

    • sel_quantita
    • 100
    • 200
    • 300
    • sel_formato
    • 20x20mm
    • 30x30mm
    • 40x40mm
    • sel_colore
    • bianco
    • rosso
    • giallo
    • sel_tipologia
    • .........
    • sel_lavorazione
    • .........

    Alla fine delle select dovrei inserire un pulsante che, una volta cliccato, estrapoli gli ultimi 2 campi (prezzo netto e prezzo lordo) del record di db identificati dalla scelta effettuata mediante le select, ed inserisca i relativi valori in 2 campi distinti al di sotto del pulsante.

    Quindi, se ad esempio il record è così composto:
    1,100,30x30mm,giallo,tipo,lavoraz,?100,?120
    e l'utente sceglie quelle opzioni dalle select, il sistema dovrebbe dare come risultato:

    • ? 100
    • ? 120

    Spero di essere stato abbastanza chiaro.

    E' possibile gestire il tutto attraverso ASP e Access?
    Potreste gentilmente indicarmi un'esempio concreto?

    Vi ringrazio in anticipo per il vostro cortese e prezioso aiuto.


  • User Attivo

    Si può fare. Ma la pagina viene ricaricata. Se sai lavorare con ajax te lo consiglierei, così potresti fare tutto senza dover ricaricare la pagina.

    Cmq, in breve:

    1. Il form deve avere action sulla pagina stessa
    
    <form name="nomeForm" action="" method="post">
    
    
    1. all'inizio della pagina fai questo controllo:
    
    <%
    dim sPrezzoNetto, sPrezzoLordo
     
    sPrezzoNetto = ""
    sPrezzoLordo = ""
     
    if request.form("nameDiUnaDelleSelect") <> "" Then
     
        'Qui fai la tua query nel db di cui ti riporto la stringa SQL
        'Cerca di evitare nel db degli spazi sul nome dei campi.
        dim SQL
        SQL = "SELECT prezzoNetto, prezzoLordo FROM tuaTabella WHERE campo1 = '" & request.form("nameDellaPrimaSelect")  & "' AND campo2 = etc... etc...
     
       'esegui questa query riempiendo un recordset che chiameremo rsA
     
      if not rsA.EOF Then
     
        
    sPrezzoNetto = rsA.fields("prezzoNetto")
    sPrezzoLordo = rsA.fields("prezzoLordo")
      end if
     
     
    End if
    %>
    
    

    poi valorizzi i tuoi campi di testo ed è fatta:

    <input type="text" value="<%=sPrezzoNetto%>" name="prezzoNetto" />
    

    Come consiglio ti suggerirei anche di mantenere il "selected" sulle tue dropdownlist, all'ultimo valore inserito dall'utente. Questo lo puoi fare con semplicità controllando il valore delle request.form("nomiDelleSelect")

    ciao