Come utilizzare Microsoft Access in Visual Basic 6

January 24

Come utilizzare Microsoft Access in Visual Basic 6


Quasi tutti i programmi per computer utili richiedono un database di qualche tipo. Microsoft ha riconosciuto questo fatto nella fase iniziale e ha reso il motore di database di Microsoft Access disponibile per l'utilizzo con i programmi sviluppati in Visual Basic, a partire da VB 3. Un programma VB 6 possibile utilizzare il motore di database di Access tramite un componente chiamato "Microsoft Data Access Objects" o DAO . Utilizzando questa componente, è possibile interrogare, inserire, aggiornare e cancellare all'interno del database di accesso.

istruzione

1 Avviare un nuovo progetto EXE standard in Visual Basic 6 (VB) avviando VB e selezionando "EXE standard" dalla nuova finestra di progetto che viene visualizzata. Nel menu progetto, selezionare \ "Riferimenti. \" Nell'elenco dei riferimenti disponibili, individuare la voce "Microsoft DAO xxx libreria di oggetti", dove xxx è il numero di versione (3.6 per esempio). Fare clic sulla casella di controllo accanto alla voce e fare clic su OK.

2 Aprire il database di Access. Per fare questo, dimensionare un oggetto di database di tipo. Per esempio:

Dim db as Database

Quindi utilizzare l'area di lavoro di default per aprire un file di database. Per esempio:

Set db = Workspaces(0).OpenDatabase(“c:\\temp\\congress.mdb”)

L'oggetto db è ora un database completamente inizializzato pronti per essere interrogato o aggiornato.

3 Aprire un set di record dal database e scorrere i record. Per fare questo, dimensionare un oggetto Recordset e utilizzare l'oggetto di database per inizializzare esso:

Dim rs as Recordset
Set rs = db.OpenRecordset(“Cong105”, dbOpenDynaset)

In questo esempio, la tabella "Cong105" viene aperta come Dynaset. Un Dynaset in questo caso significa che il recordset sarà aggiornabile - record possono essere aggiunti, aggiornati e cancellati. Un set di record può anche essere aperto come dsOpenReadOnly, rendendo il recordset di sola lettura.
Il set di record l'apertura non deve essere l'intera tabella. Un (Structured Query Language) istruzione SQL può essere utilizzato per aprire solo un sottoinsieme della tabella. Per esempio:

Set rs = db.OpenRecordset(\"select * from cong105 where home_state = 'NEW YORK'\", dbOpenDynaset)

Questo interrogherà la tabella Cong105 solo per quei record con un Stato di residenza del "New York".
Scorrere il set di record e leggere i valori utilizzando i metodi MoveNext e EOF del recordset. Per esempio, se la forma ha una casella di testo denominata Text1 (con la proprietà multilinea impostata su true e barre di scorrimento impostato verticale):

Text1.Text = \"\"
While Not rs.EOF
Text1.Text = Text1.Text & rs!Title & \" \" & rs!Fname & \" \" & rs!LName & vbCrLf
rs.MoveNext
Wend

4 Aggiungere un record a un set di record utilizzando i metodi AddNew e Update. Chiamare il metodo AddNew per creare un record vuoto nel set di record. Impostare i valori per i campi del record vuoto e quindi chiamare il metodo Update per salvare i nuovi valori. Per esempio:

rs.AddNew
rs!FName = “Test”
rs!LName = “Test Last”
rs!Update

5 Aggiornare un record esistente utilizzando le modificare e aggiornare i metodi. Chiamare il metodo Modifica per inserire il record corrente in modalità di modifica. Impostare i valori dei campi e quindi chiamare il metodo Update per salvare le modifiche. Per esempio:

rs.Edit
rs!LName = rs!LName & “ jr.”
rs!Update

Consigli e avvertenze

  • Quando il set di record non è più necessaria, è buona norma chiudere il recordset utilizzando rs.Close. Questo consente di liberare la memoria utilizzata dal recordset e aiuta anche a prevenire la corruzione del database di Access.
  • Un set di record può essere aperto come "solo in avanti" con la bandiera dboOpenForwardOnly. Questo significa che solo MoveNext funziona e che MovePrevious fallirà. Questo è molto più efficiente e sarà correre più veloce e dovrebbe essere usato ovunque sia possibile.