Recordset
Først et lille eksempel på, hvordan man åbner en tabel:
Public Sub AabningAfRecordSet()
Dim db As Database
Dim rs As Recordset
Dim intAntal As Integer
Set db = CurrentDb()
Set rs = db.OpenRecordset("Kunder")
intAntal = rs.RecordCount
MsgBox "Der er " & intAntal & " poster i kundetabellen"
rs.Close
Set rs = Nothing
End Sub
Koden skal indtastes i et modul.
Forskellige typer af recordset
Der er 5 forskellige typer af recordset:
- Table
- Dynaset
- Snapshot
- Forward-only
- Dynamic
Table
Er standard recordset typen - den man får, hvis man ikke specificerer noget når man åbner recordsettet:
Set rs = db.OprenRecordset("Kunder")
Når man bruger denne type recordset er informationerne i tabellen opdaterbare.
Dynaset
Et dynaset recordset kan være baseret på enten en lokal eller en tilknyttet tabel. Der er to vigtige egenskaber ved et Dynaset recordset:
- Du kan redigere i indholdet i et dynaset og ændringerne vil slå igennem i de underliggende tabeller
- Når et dynaset er åbent vil Access sørge for at opdatere indholdet i dynasettet i henhold til ændringer andre personer har lavet på de underliggende tabeller.
Set rs = db.OpenRecordset("Kunder", dbOpenDynaset)
Du skal bruge dynaset hvis
- du har brug for at opdatere posterne i recordset objektet
- du vil se ændringer som andre laver på posterne
- recordset objektet er meget stort
- recordset objektet indeholder OLE objekter som billeder, Word dokumenter eller lign.
Snapshot
Et snapshot recordset er ikke opdaterbart og afspejler ikke ændringer, som andre brugere har lavet på posterne. Du skal bruge snapshot typen, hvis du ikke ønsker at opdatere dine data og hvis der ikke er mere end omkring 500 poster i tabellen.
Forward-only
Forward-only minder meget om snapshot - men i modsætning til snapshots kan man kun gennemløbe posterne i én retning. Det gør det til en hurtig metode til at gennemløbe et dataset.
Dynamic
Er egentlig ikke en del af JET men i stedet en del af ODBCDirect. De bruges til at skabe forbindelse med externe ODBC databaser - vi vil ikke behandle dem nærmere her.