Imparare il VBScrispt: creare e gestire una rubrica con Access - Parte 2

Alla fine del precedente articolo avevamo visto come creare una piccola rubrica, che consisteva in una tabella di un database di Access, in cui salvare i nostri contatti attraverso una pagina in formato .asp scritta con VBScript.

In questa seconda parte vediamo come modificare ed eliminare i dati inseriti in precedenza (metti caso che le nostre amiche in rubrica cambino numero di telefono, bisogna sempre essere aggiornati!!)

Quello che andremo a creare prende il nome di pagina parametrica: ogni volta che io salvo un record in un database viene creato un ID univoco.
Quando desidero modificare o cancellare un record devo specificare alla pagina che contiene il codice di quale record sto parlando.

Dalla nostra pagina creata in precedenza (di cui trovi il codice nel precedente articolo) andiamo ad aggiungere un collegamento ipertestuale sulle due icone che ho creato nell'elenco sotto le voci Mod. e Canc.
Dopo aver creato il collegamento alle pagine di modifica e cancellazione (troverai il codice sotto) andiamo a selezionare la voce Parametri


Questa schermata puo' variare a seconda dell'editor che usate per le pagine web, ma l'impostazione dovrebbe essere pressoche' identica.

Dopo aver cliccato su Parametri scegliamo la voce Aggiungi e ci troveremo in una finestra come questa:

 

 

Ora nel campo Nome andremo a stabilire il nome che vogliamo dare al parametro che verra' passato ad un'altra pagina .asp ed il suo contenuto.
Abbiamo detto prima che la pagina che esegue il codice di cancellazione o modifica deve sapere su quale record operare: il valore del nostro parametro sara' quindi il campo  che contiene l'ID della nostra tabella in cui salviamo i dati (come si puo' vedere in questo caso, il nome del campo che ho dato alla mia tabella e' semplicemente ID. Ovviamente ognuno puo' chiamarlo in modo differente, basta poi scrivere il nome corretto nel campo Valore.)

A questo punto clicchiamo si OK una prima volta e poi successivamente ancora su OK per chiudere la finestra.

Eseguiamo questa operazione sia sull'icona di modifica che su quella di eliminazione.

Questo e' il codice della pagina di Eliminazione:

 

<%
Dim ado_OpenKeyset
Dim ado_LockOptimistic
ado_OpenKeyset=1
ado_LockOptimistic=3


Chiave=request("ID")

strConnect="provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=E:\WWW\matteosiviero\Access\Rubrica.mdb"

strSQL="SELECT * FROM Dati WHERE (ID =" & Chiave & ")"
Set rst=server.createobject("ADODB.RECORDSET")
rst.open strSQL, strConnect, ado_OpenKeyset,ado_LockOptimistic


Do While Not rst.EOF
rst.delete
rst.MoveNext
Loop
rst.close

Response.Redirect "Rubrica.asp"


%>

 

Come evidenziato in rosso, dapprima imposta una variabile Chiave che legge il valore passato dalla pagina di elenco dei contatti (tra virgolette va messo il nome che abbiamo dato prima al parametro) e poi seleziono dalla tabella Dati il record in cui il campo ID e' uguale alla variabile Chiave.

Cancello il record e ritorno alla pagina di elenco.

 

Questo invece il codice per la modifca dei dati: prima e' riportato il codice in della pagina che mostra i dati da modificare e poi il codice VBScript che esegue la modifica.

 

<%
Dim ado_OpenKeyset
Dim ado_LockOptimistic
ado_OpenKeyset=1
ado_LockOptimistic=3

Chiave=request("ID")

strConnect="provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=E:\WWW\matteosiviero\Access\Rubrica.mdb"

strSQL="SELECT * FROM Dati WHERE (ID =" & Chiave & ")"
Set rst=server.createobject("ADODB.RECORDSET")
rst.open strSQL, strConnect, ado_OpenKeyset,ado_LockOptimistic

Nome=rst("Nome")
Cognome=rst("Cognome")
Telefono=rst("Telefono")
Email=rst("Email")

rst.close

%>

<html>

<head>

<title>Modifica Contatto</title>

</head>

<body topmargin="0" leftmargin="0">

<div align="center">
<center>
<TABLE border=0 cellPadding=0 cellSpacing=0 width=1000 height="1">
<TR>
<TD height="1" width="948">
</TD>
</TR>
<TR>
<TD height="1" width="948">
<p align="center"><b><font face="Verdana" size="5">La mia rubrica</font></b><p align="center">&nbsp;</TD>
</TR>
<TR>
<TD height="1" width="948">
</TD>
</TR>
<TR>
<TD height="4" width="100%" bgcolor="#FFFFFF">
<form action="Modifica_Salva.asp" method="post" name="modulo" >
<div align="center">
<table border="0">
<tr>
<td width="25%" bgcolor="#F0F0F0"><b><font face="Verdana" size="2">
Nome</font></b></td>
<td width="75%" bgcolor="#F0F0F0">
<font face="Verdana">
<input type="text" name="Nome" size="50" value="<%=Nome%>"></font></td>
</tr>
<tr>
<td width="25%" bgcolor="#F0F0F0"><b><font face="Verdana" size="2">
Cognome</font></b></td>
<td width="75%" bgcolor="#F0F0F0">
<font face="Verdana">
<input type="text" name="Cognome" size="50" value="<%=Cognome%>"></font></td>
</tr>
<tr>
<td width="25%" bgcolor="#F0F0F0"><b><font face="Verdana" size="2">
Telefono</font></b></td>
<td width="75%" bgcolor="#F0F0F0">
<font face="Verdana">
<input type="text" name="Telefono" size="50" value="<%=Telefono%>"></font></td>
</tr>
<tr>
<td width="25%" bgcolor="#F0F0F0"><b><font face="Verdana" size="2">
Email</font></b></td>
<td width="75%" bgcolor="#F0F0F0">
<font face="Verdana">
<input type="text" name="Email" size="50" value="<%=Email%>"></font></td>
</tr>
<tr>
<td width="100%" colspan="2" bgcolor="#F0F0F0">&nbsp;</td>
</tr>
<tr>
<td width="100%" colspan="2" bgcolor="#0000FF">
<p align="center">
<input type="image" value="Salva" name="cmdOK0" src="Salva_3.jpg" width="80" height="24"><
font face="Verdana"><input type="hidden" name="ID" size="50" value="<%=Chiave%>"></font></td>
</tr>
</table>
</div>
</form>
<p align="center">



<div align="center">

</p>
<p>
</form><a href="Rubrica.asp">
<img border="0" src="Ritorna_0.jpg" width="80" height="24"></a></TD>
</TR>
</TABLE>

<p>&nbsp;</p>

</center>
</div>

</body>

</html>

 

Come prima, in rosso, il codice leggere il parametro e leggere il record. Assegna il valore del campo a 4 variabili.

In verde viene evidenziato che il campo assume il valore delle variabili dichiarate prima.
Da notare che il campo chiamato ID ha la proprieta' input type=hidden: in pratica e' un campo che esiste ma non e' visibile.

Infine in nero dichiaro che i dati contenuti nei campi saranno passato con il metodo post action ad una pagina chiamata Modifica_Salva (per capire meglio guarda l'articolo precedente).

 

Questo il codice della pagina di salvataggio:

 

<%
Dim ado_OpenKeyset
Dim ado_LockOptimistic
ado_OpenKeyset=1
ado_LockOptimistic=3

Nome=request.form("Nome"):if Nome="" then response.redirect "Rubrica.asp"
Cognome=request.form("Cognome"):if Cognome="" then response.redirect "Rubrica.asp"
Email=request.form("Email"):if Email="" then response.redirect "Rubrica.asp"
Telefono=request.form("Telefono"):if Telefono="" then response.redirect "Rubrica.asp"
Chiave=request.form("ID")


strConnect="provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=E:\WWW\matteosiviero\Access\Rubrica.mdb"

strSQL="SELECT * FROM Dati WHERE (ID =" & Chiave & ")"
Set rst=server.createobject("ADODB.RECORDSET")
rst.open strSQL, strConnect, ado_OpenKeyset,ado_LockOptimistic

rst("Nome")=Nome
rst("Cognome")=Cognome
rst("Email")=Email
rst("Telefono")=Telefono

rst.update
rst.close

response.redirect "Rubrica.asp"
%>

 

Il ragionamento fatto e' lo stesso per la pagina di cancellazione.

Vi ricordo che per creare una pagina in formato .asp basta aprire un editor di testo (il comune blocco note) e salvare in file aggiungendo .asp al nome (Es: Pagina_Modifica.asp)

Oppure se volete cliccate qui e provate voi stessi ad inserire, modificare e cancellare i dati.
Potete anche scaricare il database in formato .zip per verificare che i dati compaiano realmente.

 

Buon lavoro e a presto per un altro turorial.

 

 

 

Ultimi Articoli

01.05.2017
Proteggere Access
11.03.2017
Perche' imparare il VBScript
22.08.2016
Rubrica con VBScript - Parte 2
28.07.2016
Rubbrica con VBScript - Parte 1
15.12.2015
Raccolta dati da sito web