27 messaggi dal 20 dicembre 2018
salve. la mia richiesta è questa:

Prelevo i dati da una combobox e quando premo il pulsante invia e controllo nella tabella il campo categoria è vuoto.

ecco la parte di codice della combobox:

<TABLE border="1" id="table5" style="width: 100%">
  <TR class="cabe">
    <TD bgcolor="#FFFFFF">CATEGORIA</TD>

    </TR>
 <%   
   Dim strSearch

set conn=server.createobject("adodb.connection")
    conn.open = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & server.mappath("/mdb-database/sg2019.mdb")
    sql="select * from patente order by patente asc" 
    set rs=server.createobject("adodb.recordset")
    rs.open sql, conn, 1, 3
 
%>
 <TR>
    <TD bgcolor="#D9D9D9">
 <form name="form" method="post" action="addcli.asp" >

   <p><select size="1" name="categoria"  style="background-color: #D9D9D9" onChange="invia()">
<option></option>

<%


Set Rs = Conn.Execute(SQL)
do While Not rs.EOF%>
<option>
<% =rs("patente") %>
</option>
<%rs.MoveNext
loop

%>

 </select>

</form>
<%
    rs.close
    conn.close
    set rs=nothing
    set conn=nothing

%>
 
    
    
    
    
      </select></TR></TABLE>




ed ecco la parte del salvataggio del valore:





  sql="select patente from patente    " 
    set rs=server.createobject("adodb.recordset")
        rs.open sql, conn, 1, 3
        
        
        
        
        
        
RecSet("categoria") = Replace(request.form("categoria"), "'", "&#8242;")






quando premo il pulsante invia non mi salva il valore della combobox

grazie dell'aiuto.
Felice
salve,
e' parecchio che non uso piu' ADO classic, ma non mi pare di vedere il salvataggio (recordset.update)
dico bene? :D
salutoni

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
27 messaggi dal 20 dicembre 2018
ciao e grazie della risposta.

il salvataggio dei dati lo fa prima con questo cidce

Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM ALLIEVI"
RecSet.Open SQL, Conn, adOpenStatic, adLockOptimistic
RecSet.Addnew

RecSet("cognome") = Replace(Request.Form("cognome"), "'", "&#8242;")
RecSet("nome") = Replace(Request.Form("nome"), "'", "&#8242;")




il problema è che quando inserisco la categoria si apre il menu a tendina con i valori delle patenti prelevati dalla tabella patente con il campo patente. Io vorrei che quando vado a selezionare la patente, il programma dovrebbe inserirla nel campo categoria. Ho provato ma il campo categoria è sempre vuoto. non fa il replace request.form della categoria con la patente.

A diiferenza dei normali request.form secondo me con le select option ci vuole altro per poter memorizzare il valore nel record.
boh
Felice
salve,
eh no...
tu cosi' non mi sembra proprio che "salvi"... tu fai una select, ottieni dei valori, poi aggiungi una riga e quindi fai:
RecSet.Addnew

RecSet("cognome") = Replace(Request.Form("cognome"), "'", "&#8242;")
RecSet("nome") = Replace(Request.Form("nome"), "'", "&#8242;")

ripeto, se ricordo bene ADO Classic, questo NON basta per poi effettuare l'update sulla base dati...
se ricordo bene, dopo
RecSet.Addnew

RecSet("cognome") = Replace(Request.Form("cognome"), "'", "&#8242;")
RecSet("nome") = Replace(Request.Form("nome"), "'", "&#8242;")

manca RecSet.Update

prova a verificare, per favore??
salutoni

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
27 messaggi dal 20 dicembre 2018
ciao e grazie ancora della risposta.

Ti posso assicurare che in questo modo tutti i campi sono salvati nella tabella allievi .

il problema ¨¨ nel menu a tendina.

la select option fa vedere i record della tabella patente dove sono elencati i tipi di patente..
io scelgo ad esempio B o C o D e poi alla fine della pagina premo sul pulsante aggiungi che apre la pagina addcli.asp

ecco il codice:
<%
' PERCORSO DEL DATABASE
url_DB = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("/mdb-database/sg2019.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open url_DB
' CONTROLLA SE TUTTI I CAMPI SONO STATI COMPILATI
IF Len(Request("cognome")) <3 or Len(Request("nome")) <3  then
%>
<p align="center"><font face="Verdana" size="4" color="#FF0000"><b>Campi non compilati correttamente!</b></font></p>
<%
Else
' CAMPI COMPILATI
' RICEVE L'OPERAZIONE DA SVOLGERE (AGGIUNGERE/MODIFICARE NEWS)
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM ALLIEVI"
RecSet.Open SQL, Conn, adOpenStatic, adLockOptimistic
RecSet.Addnew

RecSet("cognome") = Replace(Request.Form("cognome"), "'", "&#8242;")
RecSet("nome") = Replace(Request.Form("nome"), "'", "&#8242;")
Recset("CF") = Replace(Replace(Request.Form("CF"), chr(13), " "), "'", "¡ä")
 if (CF = "") then
 CF = null
 else
 CF = CF
 end if
 RecSet("CF") = CF
datanascita = Replace(Replace(Request.Form("dtnascita"), chr(13), " "), "'", "¡ä")
 if (datanascita = "") then
 datanascita = null
 else
 datanascita = datanascita
 end if
 RecSet("datanascita") = datanascita
 RecSet("codice") = Replace(left(Request.Form("cognome"),4), "'", "&#8242;")+Replace(right(Request.Form("nome"),4), "'", "&#8242;")&Replace(LEFT(day(Request.Form("datanascita")),2), "'", "&#8242;")

RecSet("luogonascita") = Replace(Request.Form("lgnascita"), "'", "&#8242;")
RecSet("luogoresidenza") = Replace(Request.Form("lgresidenza"), "'", "&#8242;")
RecSet("indirizzo") = Replace(Request.Form("indirizzo"), "'", "&#8242;")
RecSet("telefono") = Replace(Request.Form("telefono"), "'", "&#8242;")
RecSet("cellulare") = Replace(Request.Form("cellulare"), "'", "&#8242;")
RecSet("numeropatente") = Replace(Request.Form("numeropatente"), "'", "&#8242;")



RecSet("categoria") = Replace(Request.form("categ"), "'", "&#8242;")
scadenza = Replace(Replace(Request.Form("scadenza"), chr(13), " "), "'", "¡ä")
 if (scadenza= "") then
 scadenza= null
 else
 scadenza= scadenza
 end if
 RecSet("scadenza") = scadenza
 
 

 if request.form("chkPassport") = "on" then
 
 Set RecSet2 = Server.CreateObject("ADODB.Recordset")
SQL2 = "SELECT * FROM esterno"
RecSet2.Open SQL2, Conn, adOpenStatic, adLockOptimistic
RecSet2.Addnew


RecSet2("codice") = Replace(recset("codice"), "'", "&#8242;")
RecSet2("data iscrizione") = Replace(Request.Form("dtiscr"), "'", "&#8242;")

if  request.form("esterno") = "on" then
RecSet2("esterno") = 0
esterno = Replace(recset2("esterno"), "'", "'")
else
RecSet2("esterno") = 1
esterno = Replace(recset2("esterno"), "'", "'")
end if 
 RecSet2("data foglio rosa") = Replace(Request.Form("dtfr"), "'", "&#8242;")
RecSet2("patente richiesta") = Replace(Request.Form("pat"), "'", "&#8242;")

RecSet2.Update
RecSet2.Close
Set RecSet2 = Nothing
end if

 
RecSet.Update
RecSet.Close
Set RecSet = Nothing

 
 

%>
<hr>
<p align="center"><font face="Verdana" size="4" color="#00CC00"><b>Operazione eseguita 
correttamente!</b></font></p>
<hr>
<%
End IF
%>
<p><a href="menu.asp"><font face="Verdana" size="2"><b>Torna al Menu principale</b></font></a></p>






il programma salva tutto tranne il valore della select option..
ecco il problema.
grazie
felice


ti posto anche il codice della pagina add_cli.asp per aggiungere un allievo:



<div class="row">
  <div class="twelve columns">
          
 

  <p style="text-align: center"><b><font face="Verdana" size="4">NUOVO CLIENTE</font></b></p>


 
<form method="POST" onkeypress="return (event.keyCode!=13)" action="addcli.asp" name="modulo">







<TABLE border="1" id="table1" align="center" style="border-width:0; width: 100%">
  <TBODY>
  <TR class="cabe">
    <TD bgcolor="#FFFFFF">CLIENTE (Cognome e Nome)</TD>

    </TR>
  <TR>
    <TD bgcolor="#D9D9D9">
      <INPUT name="pai_corto" type="hidden" value="and"><INPUT name="centimos" type="hidden" value="1"><INPUT name="ser_orden" type="hidden"><INPUT name="accion" type="hidden" value="alta"><b><font face="Verdana" size="2">
<FORM name="edimon" id="edimon" onsubmit="return valida(this);" method="post"><INPUT name="pai_corto" type="hidden" value="and">
  <font color="#FFFF00">

  <input name="cognome" size="32"   style="background-color: #D9D9D9"></font></font></b></form><b><font face="Verdana" size="2"><input
name="nome" size="32"   style="background-color: #D9D9D9"></font></b></TR></TBODY></TABLE>


<TABLE border="1" id="table5" style="width: 100%">
  <TR class="cabe">
    <TD bgcolor="#FFFFFF">CODICE FISCALE</TD>

    </TR>
  <TR>
    <TD bgcolor="#D9D9D9">
      <b><font face="Verdana" size="2">
<input name="CF" size="27"   style="background-color: #D9D9D9"></font></b></TR></TABLE>




<TABLE border="1" id="table5" style="width: 100%">
  <TR class="cabe">
    <TD bgcolor="#FFFFFF">DATA (es: 01/01/2000)  E LUOGO DI NASCITA </TD>

    </TR>
  <TR>
    <TD bgcolor="#D9D9D9">
      <b><font face="Verdana" size="2">
<input
name="dtnascita" size="15"  style="background-color: #D9D9D9" onChange="Modulo()"><input
name="lgnascita" size="27"   style="background-color: #D9D9D9"></font></b></TR></TABLE>

<TABLE border="1" id="table5" style="width: 100%">
  <TR class="cabe">
    <TD bgcolor="#FFFFFF">LUOGO DI RESIDENZA</TD>

    </TR>
  <TR>
    <TD bgcolor="#D9D9D9">
      <b><font face="Verdana" size="2">
<input
name="lgresidenza" size="32"   style="background-color: #D9D9D9"></font></b></TR></TABLE>


<TABLE border="1" id="table5" style="width: 100%">
  <TR class="cabe">
    <TD bgcolor="#FFFFFF">INDIRIZZO</TD>

    </TR>
  <TR>
    <TD bgcolor="#D9D9D9">
      <b><font face="Verdana" size="2">
<input
name="indirizzo" size="32"   style="background-color: #D9D9D9"></font></b></TR></TABLE>

<TABLE border="1" id="table5" style="width: 100%">
  <TR class="cabe">
    <TD bgcolor="#FFFFFF">TELEFONO</TD>

    </TR>
  <TR>
    <TD bgcolor="#D9D9D9">
      <b><font face="Verdana" size="2">
<input
name="telefono" size="24"   style="background-color: #D9D9D9"></font></b></TR></TABLE>


<TABLE border="1" id="table5" style="width: 100%">
  <TR class="cabe">
    <TD bgcolor="#FFFFFF">CELLULARE</TD>

    </TR>
  <TR>
    <TD bgcolor="#D9D9D9">
      <b><font face="Verdana" size="2">
<input
name="cellulare" size="23"  style="background-color: #D9D9D9"></font></b></TR></TABLE>

<TABLE border="1" id="table5" style="width: 100%">
  <TR class="cabe">
    <TD bgcolor="#FFFFFF">NUM. PATENTE</TD>

    </TR>
  <TR>
    <TD bgcolor="#D9D9D9">
      <b><font face="Verdana" size="2">
<input
name="numeropatente" size="23"   style="background-color: #D9D9D9"></font></b></TR></TABLE>

<TABLE border="1" id="table5" style="width: 100%">
  <TR class="cabe">
    <TD bgcolor="#FFFFFF">SCADENZA</TD>

    </TR>
  <TR>
    <TD bgcolor="#D9D9D9">
      <b><font face="Verdana" size="2">
<input
name="scadenza" size="23"   style="background-color: #D9D9D9"></font></b></TR></TABLE>

<TABLE border="1" id="table5" style="width: 100%">
  <TR class="cabe">
    <TD bgcolor="#FFFFFF">CATEGORIA</TD>

    </TR>
 <%   
   Dim strSearch

set conn=server.createobject("adodb.connection")
    conn.open = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & server.mappath("/mdb-database/sg2019.mdb")
    sql="select * from patente order by patente asc" 
    set rs=server.createobject("adodb.recordset")
    rs.open sql, conn, 1, 3
 
%>
 <TR>
    <TD bgcolor="#D9D9D9">
 <form name="form" method="post" action="addcli.asp" >

   <p><select size="1" name="categ"  onchange="this.form.update()" style="background-color: #D9D9D9" onChange="invia()">
<option></option>

<%


Set Rs = Conn.Execute(SQL)
do While Not rs.EOF%>
<option>
<% =rs("patente") %>
</option>
<%rs.MoveNext
loop

%>

 </select>

</form>
<%
    rs.close
    conn.close
    set rs=nothing
    set conn=nothing

%>
 
    
    
    
    
      </select></TR></TABLE>






<label for="chkPassport">

    <input type="checkbox" name="chkPassport" id="chkPassport" onclick="ShowHideDiv(this)" />

    ESTERNO

</label>

<%if request("chkPassport") = " "  then  

 request(" chkPassport") = 0 %>

  <p style="text-align: center"><font face="Verdana" size="2"><input type="hidden" value="Aggiungi " name="modulo"  ></font>

<% end if %>


  <p style="text-align: center"><font face="Verdana" size="2"><input type="submit" value="Aggiungi " name="modulo"></font>







<div id="dvPassport" style="display: none; width:100%; height:101px" >

<div class="row">
<div class="twelve columns">


<TABLE border="1" id="table5" style="width: 100%">
  <TR class="cabe">
    <TD bgcolor="#FFFFFF">DATA ISCRIZIONE</TD>

    </TR>
  <TR>
    <TD bgcolor="#D9D9D9">
      <b><font face="Verdana" size="2">
<input type="data"  style="background-color: #D9D9D9" name="dtiscr" size="20"></td>
</font></b></TR></TABLE>

<TABLE border="1" id="table5" style="width: 100%">
  <TR class="cabe">
    <TD bgcolor="#FFFFFF">DATA FOGLIO ROSA</TD>

    </TR>
  <TR>
    <TD bgcolor="#D9D9D9">
      <b><font face="Verdana" size="2">

    <input type="data" id="txtPassportNumber"  style="background-color: #D9D9D9" name="dtfr" size="20">
</font></b></TR></TABLE>


<TABLE border="1" id="table5" style="width: 100%">
  <TR class="cabe">
    <TD bgcolor="#FFFFFF">PATENTE RICHIESTA</TD>

    </TR>
  <TR>
    <TD bgcolor="#D9D9D9">
      <b><font face="Verdana" size="2">

    <input type="data" id="txtPassportNumber"  style="background-color: #D9D9D9" name="pat" size="20">
</font></b></TR></TABLE>

  <p style="text-align: center"><font face="Verdana" size="2"><input type="hidden" value="Aggiungi " name="B1"></font>




<hr />


</div>
</div>
</div>



</div>
</div>

  






Modificato da ecommerce2018 il 15 aprile 2019 17:58 -
salve,
ripeto ancora.... per me manca la chiamata al metodo update... verifica bene... poi di asp non capisco e non mi ci metto neanche a leggere il codice...

guarda ad esempio il blocco
if request.form("chkPassport") = "on" then ....

alla fine della fiera, hai la vera modifica, e quindi la chiamata al metodo update di RecSet2 (dai, non scherzare pero', non chiamare le variabili e gli oggetti in questo modo, cribio !!! :D:D )
RecSet2("patente richiesta") = Replace(Request.Form("pat"), "'", "&#8242;")

RecSet2.Update
RecSet2.Close

giusto per gusto sono andato a riprendermi Professional ADO 2.5 programming della Wrox... che bei ricordi... al di la' di cio', vedo dappertutto pieno di recordSet.Update, recordSet.UpdateBatch e cosi' via...
pero' prendi il tutto con le pinze, perche' non ricordo molto delle peculiarita' dei cursori, lato client/lato server, optimistic/pessimistic e via di seguito...
verifica pero' sicuramente se il metodo di aggiornamento viene effettivamente applicato ed eseguito, diversamente la modifica al recordSet sara' solo locale e non inviata al database...
per la parte asp, invece magari chiedi nel forum specifico...
salutoni

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
forse ho capito cosa intendi tu per "salvare".... io intendo "salvare il valore nella base dati"... tu forse intendi di "salvarlo nella presentazione della form" e quindi solamente "visualizzarlo" dopo averlo in un qualche modo recuperato dinamicamente dalla base dati... quindi, in questo caso, ho capito male io :D
ma non e' questo il forum giusto, in quanto trovi sicuramente maggior feedback nel forum di ASP...
fammi sapere, che, nel caso, posso spostare il thread...
salutoni

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
27 messaggi dal 20 dicembre 2018
ciao andrea. scusa se non ho potuto rispondere prima ma non ho avuto tempo di entrare.
grazie per aver spostato la mia richiesta in un altro form.

Per quanto riguarda cosa intendo con salvare... io vorrei che quando scorro il menu a tendina e prendo il valore che mi interessa, questo venga salvato nella tabella allievi.
esempio: il menu a tendina è composto da record prelevati dalla tabella patente. il campo si chiama patente.

quando prendo questo dato vorrei che lo salvasse nel campo categoria della tabella allievi.

con replace(request.form(" ") questo avviene per gli altri campi che infatti vedo che sono salvati, mentre il campo categoria che dovrebbe prendere i dati da tabella risulta vuoto.

ecco.
speriamo bene.
grazie ancora
Felice

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.