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

Questo articolo sara' il primo di una serie di tutorial su come usare il VBScript per semplificare la vita con i database.

Sono diversi anni ormai che smanetto con Access e in tutto questo tempo, oltre ad aver appreso le potenzialità di questo strumento, mi sono reso conto che ormai ad oggi e' diventato "vecchio".
Mi spiego meglio: come avevo accennato in un altro articolo, ogni volta che devo usare Access devo accendere il computer e dato che, magari, non e' nuovissimo devo aspettare che carichi per iniziare a lavorare.
Sempre magari, sono stati installati nuovi aggiornamenti della Microsoft che mi creano problemi che prima non avevo oppure e' uscita la nuova versione di Office che io, magari, non voglio comprare o semplicemente mi scoccia imparare ad usare una nuova versione, perche' ormai sono abituato cosi.

Senza contare il fatto che se il computer va KO e non ho avuto la lungimiranza di fare copie del mio lavoro...
E metti caso che i dati di quel database devono essere visualizzati da un'altra persona, perche' ci stiamo lavorando insieme, devo perdere tempo a zippare il file ed a mandare una mail con l'allegato....

... e questa persona a sua volta riceve la mia mail, ma sta usando il cellulare e deve aspettare di essere davanti al computer, poi deve aprire la mail e salvare il file.
E puo' essere che abbia problemi ad aprire l'allegato oppure che hai una versione vecchia di Access, ti scrive di rimandare il file in un altro formato e anche oggi il database si usa domani!!

Sai tutto questo cosa significa? PERDERE TEMPO

E quando devi fare un  lavoro non hai voglia di perdere tempo...

Veniamo a noi: quello che propongo in questo articolo e' un semplice esempio, ovvero realizzare e gestire una banale rubrica telefonica su un database di Access.
Solo che gestiremo i nostri dati direttamente da internet, da una pagina scritta in VBScript!
In questo modo in qualunque momento, da qualunque dispositivo con una connessione ad internet, chiunque puo' vedere e modificare i dati.

Qui ti riporto l'esempio che ho realizzato e sotto il codice commentato.


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

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


strSQL="SELECT * FROM Dati ORDER BY Cognome"
Set rst=server.createobject("ADODB.RECORDSET")
rst.open strSQL, strConnect, ado_OpenKeyset,ado_LockOptimistic


%>

<html>

<head>

<title>Rubrica</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="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"></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"></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"></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"></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"></td>
</tr>
</table>
</div>
</form>
<p align="center">



<div align="center">
<table border = "1" width="100%" cellspacing="0" cellpadding="0" style="border-collapse: collapse">
<TD bgcolor="#0000FF" valign="top" width="240">
<p align="center"><b><font face="Verdana" size="2" color="#FFFFFF">Nome</font></b></TD>
<TD bgcolor="#0000FF" valign="top">
<p align="center"><b><font face="Verdana" size="2" color="#FFFFFF">Cognome</font></b></TD>
<TD bgcolor="#0000FF" valign="top" width="187">
<p align="center"><b><font face="Verdana" size="2" color="#FFFFFF">Telefono</font></b></TD>
<TD bgcolor="#0000FF" valign="top" width="224">
<p align="center"><b><font face="Verdana" size="2" color="#FFFFFF">Email</font></b></TD>
<TD bgcolor="#0000FF" align="center" width="50">
<b>
<font face="Verdana" size="2" color="#FFFFFF">Mod.</font></b></TD>
<TD bgcolor="#0000FF" align="center" width="50">
<b>
<font face="Verdana" size="2" color="#FFFFFF">Canc.</font></b></TD>
<%
Do While Not rst.EOF

%>

<TR>
<TD valign="top" width="240" align="center"><font face="Verdana" size="2">
<% = rst("Nome")%></font></TD>
<TD valign="top" align="center"><font face="Verdana" size="2">
<% = rst("Cognome")%></font></TD>
<TD valign="top" width="187" align="center"><font face="Verdana" size="2">
<% = rst("Telefono")%></font></TD>
<TD valign="top" width="224" align="center"><font face="Verdana" size="2">
<% = rst("Email")%></font></TD>
<TD width="50" align="center">
<p align="center">
<img border="0" src="Modifica.gif" width="17" height="20"></TD>
<TD align="center" width="50">
<img border="0" src="delete.gif" width="16" height="15"></TD>

<%
rst.MoveNext
Loop
rst.close
%>
</TABLE>

</p>
</form></TD>
</TR>
</TABLE>

</center>
</div>

</body>

</html>

 

Le parti di codice evidenziate in rosso sono il VBScript: all'inizio della pagina non faccio altro che scrivere il percorso del mio database che si trova sul server ed indicare da quale tabella leggere i dati (in questo caso la tabella si chiama Dati) e di ordinare i dati in ordine alfabetico secondo il campo Cognome.
Poi leggo il database fino alle fine e scrivo nella mia tabella in html il nome del campo del database (la sintassi e' <%rst("Nome_del_campo)%>) dove voglio che venga visualizzato.

 

La stringa evidenziata in nero e' molto importante: in pratica dico alla pagina di passare i dati inseriti nei campi ad un'altra pagina, che ho chiamato Salva usando una proprieta' chiamata post action.
Inoltre il tasto Salva, come evidenziato nella stringa verde, non deve essere una semplice immagine ma deve avere le proprieta' che ho evidenziato affinche' i dati inseriti possano essere passati all'altra pagina.

 

<%


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"



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


strSQL="Dati"
Set rst=server.createobject("ADODB.RECORDSET")
rst.open strSQL,strConnect, 1,3

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

rst.update
rst.close

Response.redirect "Rubrica.asp"

%>

 

Questo e' invece il codice della pagina Salva: nelle prime righe dico semplicemente di memorizzare il contenuto che ho letto dai campi in alcune variabili se trova uno dei campi vuoto di ritornare alla pagina precedente.
In pratica bisogna inserire per forza un dato nei quattro campi. Volendo questa scelta puo' essere modificata, lasciando l'inserimento obbligato solo per alcuni campi.

Poi come abbiamo visto in precedenza mi connetto al mio database ed alla tabella in cui voglio scrivere i dati.
Dico che il nome del mio campo deve essere uguale alla variabile ( rst("NomeCampo") = Variabile ), dopodiche' salvo i dati e chiudo la connessione.
Per ultimo vengo indirizzato alla pagina in cui ho inserito i dati e a questo punto visualizzo i dati che ho scritto nella tabella sottostante.

 

Se vuoi replicare questo esempio e provare a fare qualche variante basta aprire il blocco note, copiare i codici delle pagine che ti ho riportato e salvare il file con l'estensione .asp
Poi potrai caricare le pagine ed il database sul tuo server, controllare che i collegamenti siano corretti e fare le tue prove.
Assicurati che la cartelle in cui carichi i files ed il database abbia le prorpieta' sia di scrittura che di lettura, altrimenti si verificheranno degli errori.

Oppure se vuoi provare per credere clicca qui: inserisci i tuoi dati e poi scaricati il database per controllare tu stesso.

 

A presto per la seconda parte.

 

 

 

 

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