Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118

    Come fareste voi? Problema a modificare un campo scelto con una select

    Ragazzi ho un problema di questo tipo:
    Ho una form con delle select e dei campi ora. I campi devono essere riempiti in diversi step. Entra il camion e scrivo entrata e autista (badate bene da una query che poggia sulla tabella camion), poi il camion viene scaricato e scrivo ora scarico e gruppo scarico ( anche questa una select). Se poi a fine giornata devo modificare qualche dato ho il problema che non mi si ripresentino più le select. Io faccio una pagina che prende i dati dalla tabella principale(dove vengono scriti i dati immessi nella giornata) e chiaramente a questo punto non posso utilizzare altre select. Mi spiego meglio:

    codice:
    <form action="neoprovv.asp" method="post">
    <table border="1" width="100%">
    ...................
    <font >Fine Inc.</font>
    <input tabindex="8" type="text" name="scarico"></input>
    'Immettto il dato scarico (data/ora)
    ..........poi................
    <select tabindex="16" name="camion" style="width:140px"> 
    <% 
    SquG="SELECT * FROM camion order by ch asc;" 
    set rs=server.createobject("adodb.recordset") 
    rs.open SquG, conn
    do while not Rs.eof 
    valore=Rs("ch") 
    nome=Rs("ch")
    response.write("<option value=""" & valore & """>" & nome &" </option>") 
    Rs.movenext 
    loop 
    rs.close 
    Set rs=Nothing
    %>
    .................................
    questi dati li invio alla tebella provv

    per modificarli:

    codice:
    strconn="Driver={Microsoft Access Driver (*.mdb)}; dbq="&Server.MapPath("provvisorio.mdb") 
    set Conn=Server.CreateObject("ADODB.Connection") 
    Conn.open strconn 
    SquG="SELECT * FROM provv where id = " & dres
    set rs=server.createobject("adodb.recordset") 
    rs.open SquG,Conn
    Do until Rs.eof=True 
    
    %>
    ................................
    <input tabindex="1" type="text" name="dttsd" value="<%=rs("scarico")%>" >
    </td>
    ....................invece della select faccio un...........
     <input tabindex="1" type="text" name="dttsd" value="<%=rs("camion")%>" >
    </td>
    Ora, il problema è che io devo essere in grado di modificare il campo camion tenendo sempre presente la lista dei camion, quindi con una select. Come fareste voi?

  2. #2
    Ci rimetti la select e fai un confronto sui valori. Se il valore del record è lo stesso del ciclo della tabella che stai elecando fai stampare un "SELECTED", così viene già proposto come scelta.

  3. #3
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Ok ma il problema è che avrei due recordset aperti, uno che punta alla tabella provv ( da dove prendere i valori inseriti in giornata) e l'altro che punta alla tabella camion (da dove prendere la lista dei camionisti). Come faccio ad ovviare? Non so se si possono tenere due recordset aperti.

  4. #4
    puoi tenere più di un recordset aperto

  5. #5
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Io ho provato questa soluzione:
    codice:
    <%
    dres=Request.Querystring ("elsa")
    
    strconn="Driver={Microsoft Access Driver (*.mdb)}; dbq="&Server.MapPath("provvisorio.mdb") 
    set Conn=Server.CreateObject("ADODB.Connection") 
    Conn.open strconn 
    SquG="SELECT * FROM provv where id = " & dres
    set rs=server.createobject("adodb.recordset") 
    rs.open SquG,Conn
    Do until Rs.eof=True 
    %>
    <form action="neomodprovv.asp" method="post">
    <table.......
    .....<input type="text" name="inizio" value="<%=rs("cognomepaz")%>"></td><tr>
    </table>
    .......
    <select tabindex="16" name="camion" style="width:140px"> 
    <% 
    Squn="SELECT * FROM camion order by ch asc;" 
    set rsx=server.createobject("adodb.recordset") 
    rsx.open Squn   
    do while not Rsx.eof 
    valore=Rsx("ch") 
    nome=Rsx("ch")
    response.write("<option value=""" & valore & """>" & nome &" </option>") 
    Rsx.movenext 
    loop 
    rsx.close 
    Set rsx=Nothing
     %>
    Ma mi da:
    Connessione chiusa o non valida in questo contesto. Impossibile utilizzarla per eseguire l'operazione.
    /modificaprovv.asp, line 73

  6. #6
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    RISOLTO, AVEVO DIMENTICATO DI DICHIARARE LA CONN.

    Ma il selected dove va messo?
    codice:
    do while not Rsx.eof 
    valore=Rsx("ch") 
    nome=Rsx("ch")
    response.write("<option value=""" & valore & """>" & nome &" </option>") 
    Rsx.movenext

  7. #7
    codice:
    do while not Rsx.eof 
    valore=Rsx("ch") 
    nome=Rsx("ch")
    response.write("<option value=""" & valore & """ <% if blabal then response.write ""SELECTED"" %>>" & nome &" </option>") 
    Rsx.movenext

  8. #8
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Non c'è nessun IF credo. Ho fatto così:
    codice:
    sec=rs("camion")
    Squn="SELECT * FROM camion order by ch asc;" 
    set rsx=server.createobject("adodb.recordset") 
    rsx.open Squn, conn
    do while not Rsx.eof 
    valore=Rsx("ch") 
    nome=Rsx("ch")
    response.write("<option value=""" & valore & """ selected>" & sec &" </option>") 
    Rsx.movenext 
    loop 
    rsx.close 
    Set rsx=Nothing
    Ma mi da si il nome selezionato sul camionista giusto, solo che se apro la tendina me lo ripete n volte.

  9. #9
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Riuscito! Grazie a tutti. Ogni tanto un intuizione mi arriva....

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.