Sei sulla pagina 1di 4

[Access] Leggere/scrivere dati nelle tabelle tramite VBA (DAO) - VBA Tutorials &

Pagina 1 di 4

Nome utente Nome utente Ricord MasterDrive.it > Software Development > MS Office, Access, VBA >
Nome utente Nome utente Ricord MasterDrive.it > Software Development > MS Office, Access, VBA >
Nome utente Nome utente Ricord MasterDrive.it > Software Development > MS Office, Access, VBA >
Nome utente Nome utente Ricord MasterDrive.it > Software Development > MS Office, Access, VBA >
Nome utente Nome utente
Ricord
MasterDrive.it > Software Development > MS Office, Access, VBA > VBA Tutorials & How-To
[Access] Leggere/scrivere dati nelle tabelle tramite VBA (DAO)
Password
Entra

Sei nuovo della Comunità ? Clicca qui per registrarti !

Software per le aziende per valutare la performance e creare strategie

www.tdainformatica.it

la performance e creare strategie www.tdainformatica.it Strumenti della discussione Modalità di visualizzazione
Strumenti della discussione Modalità di visualizzazione

Strumenti della discussione

Strumenti della discussione
Strumenti della discussione Modalità di visualizzazione

Modalità di visualizzazione

18-05-2006, 20:53 #1 (permali dragone bianco [Access] Leggere/scrivere dati nelle tabelle tramite VBA (DAO) Moderatore
18-05-2006, 20:53
#1 (permali
dragone bianco
[Access] Leggere/scrivere dati nelle tabelle tramite VBA (DAO)
Moderatore Globale
Mi sono accorto che più volte ho fatto esempi di come leggere e/o scrivere dati nelle tabelle tramite VBA
utilizzando il metodo DAO.
Questo articolo vuole fare una sintesi dei codici da utilizzare per questo intento.
Premessa
Per leggere i dati di una tabella bisogna eseguire le seguenti operazioni in questa sequenza:
1.
Collegarsi al db che contiene la tabella (il db può essere un db esterno al progetto o il progetto
stesso)
2.
Aprire la tabella (o le tabelle) per accedere hai dati
6,449 Messaggi
3.
Muoversi nei dati della tabella (tramite una ricerca o spostandosi da un record all'altro)
4.
estrarre/o modifcare il dato scelto
5.
Chiudere la tabella
6.
Chiudere la connessione
INDICE
Apertura di un collegamento db e della tabella
Spostarsi nei record di una tabella
Ricerca di un dato nella tabella
Lettura, Creazione, Modifica ed eliminazione di un dato
Chiusura della tabella e del collegamento
Esempio
Apertura di un collegamento db e della tabella
Per effettuare una connessione al db e inseguito aprire la tabella desiderata bisogna dichiarare 2 variabili
una di tipo Database (rappresenta il collegamento DB) e una di tipo recordset (Rappresenta la tabella)
Dim DBCorrente as DAO.Database
Dim Tabella as DAO.Recordset
Apertura DB
set dbcorrente=currentdb 'per aprire un collegamento sul dbcorrente
oppure
set dbcorrente=opendatabase("C:\Prova.mdb") 'per Aprire un DB esterno
Apertura Tabella
Una volta aperto il collegamento al db bisogna aprire la tabella (o query)
Set Tabella=DBCOrrente.openrecordset("TAbella1",dbopen dynaset)
oppure utilizzando codice SQL
Set Tabella=DBCOrrente.openrecordset("Select *.* from Tabella1",dbopendynaset)
Spostarsi nei record di una tabella
una volta volta aperto la tabella access si posiziona sul primo record della tabella.

Home

Blogs

Docs

Marketplace

Regolamento

Messaggi di oggi

Cerca

http://forum.masterdrive.it/vba-tutorials-and-how-to-37/access-leggere-scrivere-dati-n

23/08/2010

[Access] Leggere/scrivere dati nelle tabelle tramite VBA (DAO) - VBA Tutorials &

Pagina 2 di 4

Codici

utilizzate i seguenti codici per spostarvi tra i record:

nomerecordset.movenext =vai al record successivo nomerecordset.moveprevious =vai al record Precedente nomerecordset.movefirst =vai al primo record nomerecordset.movelast =vai all'untimo record

variabili

nomerecordset.BOF ha un valore true se il record corrente è preceddente al primo record nomerecordset.EOF ha un valore true se il record corrente è Successivo all'ultimo

Queste 2 variabili sono utili quando si utilizzano i codici nomerecordset.movenext =vai al record successivo nomerecordset.moveprevious =vai al record Precedente

poichè una volta raggiunto l'ultimo record ed eseguento il codice nomerecordset.movenext access si porta su un record vuoto e setta la variabile nomerecordset.EOF a true se si esegue ulteriormente il codice nomerecordset.movenext access restituirà un errore. (Idem per il codice nomerecordset.moveprevious)

Ricerca di un dato nella tabella

Per eseguire una ricerca nella tabella utilizzare i seguenti codici

nomerecordset.findnext "Criteri" =ricerca il record successivo nomerecordset.findprevious "Criteri" =ricerca il record Precedente nomerecordset.findfirst "Criteri" =ricerca il primo record nomerecordset.findlast "Criteri" =ricerca l'untimo record

Es: tabella1findfirst "ID=3" Cerca il primo dato con con il campo ID=3

Se l'esito della ricerca è negativo access imposta la seguente variabile a true nomerecordset.NoMatch

Lettura e modifica dati

Una volta reso corrente il dato di cui si vuole modificare e /o leggere eseguire una delle seguenti ozioni

Lettura Dati

variabile=nomerecodset.Fields("NomeCampo")

Modifica Dati

nomerecodset.edit 'Abilita la modifica del record nomerecodset.Fields("NomeCampo")=variabile 'imposta il nuovo valore del campo

nomerecodset.upDate 'Salva La modifica

Creazione Dato

(molto simile alla modifca dati)

nomerecodset.addnew 'crea ilnuovo record nomerecodset.Fields("NomeCampo")=variabile 'imposta il valore del campo

nomerecodset.upDate 'Salva il record

Eliminazione dati

nomerecodset.delete

Chiusura Tabelle e collegamento

Si utilizza il codice Close (prima si chiude la tabella inseguito il collegamento)

ESEMPIO

Tabella1.close

DBCorrente.close

Esempio Pratico

Esempio1

Apertura di un db e leggere tutti i dati

http://forum.masterdrive.it/vba-tutorials-and-how-to-37/access-leggere-scrivere-dati-n

23/08/2010

[Access] Leggere/scrivere dati nelle tabelle tramite VBA (DAO) - VBA Tutorials &

Pagina 3 di 4

codice:

Dim DBCOrrente as DAO.Database Dim Tabella AS DAO.recordset

'Apertura DB SEt Dbcorrente=CurrentDB

'Apertura tabella Set Tabella=DBCorrente.openrecordset("Tabella1",DBopendynaset)

'Lettura dati Do until tabella.eof msgbox tabella.fields("Campo")

'vai al dato successivo tabella.movenext

loop

'Chiusura tabella

tabella.close

'Chiusura DB

codice:

Dim DBCOrrente as DAO.Database Dim Tabella AS DAO.recordset

'Apertura DB SEt Dbcorrente=CurrentDB

'Apertura tabella Set Tabella=DBCorrente.openrecordset("Tabella1",DBopendynaset)

'Ricerca primo Dato Tabella.findFist "Campo1='Pippo'"

Do until tabella.NoMatch msgbox tabella.Fields("Campo")

'Ricerca il dato successivo tabella.FindNext "Campo1='Pippo'"

loop

'Chiusura tabella

tabella.Close

'Chiusura DB

Esempio2

Apertura di un db e ricercadi dati

Bookkeeping Certificate 2 Courses For You To Become a Competent Bookkeeper $198.50 www.YourBookkeepingMadeEa

Database Doc Tool Build and edit documentation for SQL Server, Access and other DBs www.innovasys.com

Dragone Bianco

-Se non l'hai ancora fatto, Leggi il Regolamento.
-Se non l'hai ancora fatto, Leggi il Regolamento.

-Hai ricevuto un aiuto, commenta l'intervento utilizzando il pulsante

-Ti sono stato d'aiuto, fai una Donazione.

utilizzando il pulsante -Ti sono stato d'aiuto, fai una Donazione. Ultima modifica di Master85 : 18-05-2006
utilizzando il pulsante -Ti sono stato d'aiuto, fai una Donazione. Ultima modifica di Master85 : 18-05-2006

Ultima modifica di Master85 : 18-05-2006 a 22:31.

Ultima modifica di Master85 : 18-05-2006 a 22:31 . Regole d'invio Non puoi inserire discussioni «
Ultima modifica di Master85 : 18-05-2006 a 22:31 . Regole d'invio Non puoi inserire discussioni «

Regole d'invio

Regole d'invio Non puoi inserire discussioni

Non puoi inserire discussioni

« - | [Access] Funzioni di dominio »

http://forum.masterdrive.it/vba-tutorials-and-how-to-37/access-leggere-scrivere-dati-n

23/08/2010

[Access] Leggere/scrivere dati nelle tabelle tramite VBA (DAO) - VBA Tutorials &

Pagina 4 di 4

Non puoi inserire repliche Non puoi inserire allegati Non puoi modificare i tuoi messaggi BB
Non puoi inserire repliche
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi
BB code è attivo
Le smilies sono attive
Il codice IMG è attivo
il codice HTML è disattivato
Trackbacks are attivo
Pingbacks are attivo
Refbacks are disattivato
Salto del forum
Forum Rules
VBA Tutorials & How-To
Discussioni simili
Discussione
Ha iniziato questa discussione
Forum
Risposte
Ultimo messaggio
[Access] ordinamento dati tabella tramite command button
gladiatore
MS Office, Access, VBA
5
24-06-2006 18
unire dati di tabelle con nome parzialmente comune
franciros
MS Office, Access, VBA
6
29-04-2006 12
[Access] Ricerca tramite parola chiave
payu
MS Office, Access, VBA
6
16-12-2005 16
Tutti gli orari sono GMT +2. Attualmente sono le 12:47.
Contatta lo Staff - Pagina iniziale - Vai in

Powered by vBulletin versione 3.8.0 Copyright © 2000 - 2010, Jelsoft Enterprises Ltd. Content Relevant URLs by vBSEO 3.2.0

Enterprises Ltd. Content Relevant URLs by vBSEO 3.2.0 Eccetto dove diversamente specificato, i contenuti

Eccetto dove diversamente specificato, i contenuti pubblicati in questa comunità sono rilasciati sotto Licenza Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo 2.5 Italia License. La comunita' di MasterDrive.it non e' responsabile di eventuali imprecisioni presenti nelle pagine.

http://forum.masterdrive.it/vba-tutorials-and-how-to-37/access-leggere-scrivere-dati-n

23/08/2010