Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125

    Sviluppo Procedura ASP: consigli

    Ciao a tutti.

    Vi chiedo un consiglio su come organizzare una procedura asp di questo tipo:

    Ho due tabelle:

    tbl_A con i campi: ID, Tipo, Richiesta, Preventivo, Lavoro
    tbl_B con i campi: ID, ID_tbl_A, Campo1, Campo2, Campo3, Campo4

    A secondo di cosa seleziono, tramite un form con menu a tendina, dalla tbl_A ( cioè Tipo, Richiesta, Preventivo, Lavoro ) si verificano delle condizioni che devono richiamare i valori contenuti nella tbl_B ( Campo1, Campo2, Campo3, Campo4 ).

    Cosa suggerite?
    Grazie

  2. #2
    Si chiamano combobox dinamiche ovvero la prima con un evento javascript (onChange) aggiorna la pagina passando in queryString il valore ID della prima tabella impostando nella prima combobox il valore selezionato come selected="selected".
    Recuperato l'ID dalla queryString si esegue una query sulla seconda tabella prendendo i dati dove ID_tbl_A = valoreIDPresoDallaQueryString
    Esempio:
    codice:
    <form method="get">
    <%
    ' recupero il valore id
    id = request.queryString("id")
    
    ' verifico che id contenga qualcosa e che sia un numero altrimento lo imposto uguale a zero
    if len(id) > 0 and isNumeric(id) then
      id = cLng(id)
    else
      id = 0
    end if
    
    ' prima combobox 
    sql = "SELECT * FROM tbl_A"
    set rs = conn.execute(sql)
    %>
    <select name="id" onChange="location.href='?id='+this.value;">
      <option value="">Seleziona</option>
    <%
      if not rs.eof then
        do until rs.eof
    %>
      <option value="<%=rs("ID")%>"<% if rs("ID") = id then %> selected="selected"<% end if %>><%=rs("tipo")%></option>
    <%
        rs.moveNext
        loop
    %>
    </select>
    <%
      end if
    rs.close
    set rs = nothing
    
    ' se id è maggiore di zero...
    ' popolo la seconda combo
    if id > 0 then
      sql = "SELECT * FROM tbl_B WHERE ID_tbl_A = " & id
      set rs = conn.execute(sql)
    %>
    <select name="id2">
      <option value="">Seleziona</option>
    <%
        if not rs.eof then
          do until rs.eof
    %>
      <option value="<%=rs("ID")%>"><%=rs("Campo1")%></option>
    
    <%
          rs.moveNext
          loop
    %>
    </select>
    <%
        end if
      rs.close
      set rs = nothing
    %>
    
    <input type="submit" value="invia" />
    </form>

  3. #3
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Grazie per l'interessantissima lezione, ne terrò da conto, ma mi sono spiegato male.

    Ci riprovo, le tabelle sono quelle di prima.

    A secondo di quanto selezionato nel form che si popola tramite la tbl_A devo estrarre dalla tbl_B i record che corrispondono alle condizioni che ho previsto in tbl_A, ad esempio:

    Dalla tbl_A seleziono:

    Tipo = F
    Richiesta = Attivazione
    Preventivo = Forfait
    Lavoro = Semplice

    Una combinazione di questo tipo ( F + attivazione + Forfait + Semplice ) dovrebbe agganciarmi ai record contenuti in tbl_B che rispondono a questa combinazione.

    Mi segui? Grazie

  4. #4
    Quindi nel primo step hai 4 combo?

  5. #5
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Originariamente inviato da Mems
    Quindi nel primo step hai 4 combo?
    Esatto 4 combo.

  6. #6
    Te cosa hai sviluppato fino ad ora?

  7. #7
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Originariamente inviato da Mems
    Te cosa hai sviluppato fino ad ora?
    Soltanto il form le cui combo si popolano dinamicamente tramite i valori di tbl_A.

  8. #8
    Capito.
    Mo però mi pare di notare una certa incogruenza nella struttura della tua tabella A.
    Mi scrivi 4 righe di esempio di dati presenti in questa tabella e di dati presenti nella tabella B e la relazione tra queste due tabelle?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.