Hvordan bruke Microsoft Access i Visual Basic 6

Hvordan bruke Microsoft Access i Visual Basic 6


Nesten alle nyttige dataprogrammer krever en database av noe slag. Microsoft anerkjent dette faktum tidlig og gjorde Microsoft Access database motoren tilgjengelig for bruk med programmer som er utviklet i Visual Basic, starter med VB 3. VB 6 program kan bruke Access Database Engine gjennom en komponent kalt "Microsoft Data Access Objects" eller DAO . Utnytte denne komponenten, kan du spørre, sette inn, oppdatere og slette innenfor tilgang database.

Bruksanvisning

1 Start en ny Standard EXE-prosjekt i Visual Basic 6 (VB) ved å starte VB og velge "Standard EXE" fra det nye prosjektet vinduet som vises. Under Prosjekt-menyen, velg \ "Referanser. \" I listen over tilgjengelige referanser, finne entry "Microsoft DAO xxx Object Library", der xxx er versjonsnummeret (3.6 for eksempel). Klikk i boksen ved siden av oppføringen og klikk på OK.

2 Åpne Access-databasen. For å gjøre dette, dimensjonere et objekt av type database. For eksempel:

Dim db as Database

Deretter bruker standard arbeidsområdet til å åpne en databasefil. For eksempel:

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

Den db objektet er nå et fullt initialisert database klar til å bli spørres eller oppdatert.

3 Åpne en post fra databasen og iterere gjennom postene. For å gjøre dette, dimensjonere et Recordset objekt og bruke databasen objektet for å initialisere det:

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

I dette eksemplet, er i tabellen "Cong105" blir åpnet som et Dynaset. En Dynaset i dette tilfellet betyr at postsettet vil være oppdaterbar - poster kan legges til, oppdatert og slettet. En post kan også åpnes som dsOpenReadOnly, noe som gjør postskrivebeskyttet.
Postsettet blir åpnet trenger ikke å være hele tabellen. En SQL (Structured Query Language) uttalelse kan brukes til å åpne bare en undergruppe av bordet. For eksempel:

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

Dette vil spørre Cong105 bordet for bare de postene med et hjem tilstand av "New York".
Gjenta for postsettet og lese verdiene ved hjelp av MoveNext og EOF metoder for postsettet. For eksempel hvis form har en tekstboks som heter Text1 (med flere linjer eiendommen satt til true og rullefelt satt til vertikal):

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

4 Legge til en oppføring til et rekord sett ved hjelp av AddNew og Oppdater metoder. Ring AddNew metode for å opprette en tom post i postsettet. Sette verdiene for feltene i tomt posten og deretter ringe Update metode for å lagre de nye verdiene. For eksempel:

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

5 Oppdatere en eksisterende post ved hjelp av Rediger og Oppdater metoder. Ring Rediger metode for å plassere den nåværende rekorden i redigeringsmodus. Sett verdiene for feltene og deretter ringe Update metode for å lagre endringene. For eksempel:

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

Hint

  • Når post ikke lenger er nødvendig, er det en god praksis å lukke post hjelp rs.Close. Dette frigjør minnet som brukes av den post og bidrar også til å hindre korrupsjon av Access-databasen.
  • En post kan åpnes som "bare fremover" ved hjelp av dboOpenForwardOnly flagget. Dette betyr at bare MoveNext vil fungere og at MovePrevious vil mislykkes. Dette er mye mer effektiv og vil kjøre raskere, og bør brukes der det er mulig.