Att veta hur man handskas med null-värden när man läser ett Recordset kan du spara tid på att utveckla din databas . Microsoft Office Access är en relationsdatabas management system som ingår i Microsoft Office-paketet . Visual Basic for Applications , eller VBA , används i Access för att automatisera rutinuppgifter . En fråga används för att hämta data från en databas tabell . Ett null- värde representerar en variabel utan värde . Du kommer att få en " Felaktig användning av Null " felmeddelande när du försöker tilldela en null till en variabel . Instruktioner
1
Starta Microsoft Office Access och välj " Tom databas , " klicka sedan på " Skapa ". Klicka på " Databas Verktyg " och sedan klicka på " Visual Basic . " Klicka på " Infoga " -menyn och välj
2
Skriv följande för att skapa en ny subrutin " Modul . " :
Private Sub invalidUseOfNULL ( ) katalog
Tryck " Ange " Addera 3
Skriv följande för att deklarera dina variabler : .
Dim strSQL As String
Dim rst som Recordset
Dim dbs som databas
Dim readNull As String
Set dbs = CurrentDb
4
Skriv följande för att skapa en ny tabell :
sQLString = " CREATE TABLE nullValTbl ( stad TEXT , statlig TEXT ) "
DoCmd.SetWarnings False
DoCmd.RunSQL ( sQLString )
5
Skriv följande för att infoga tre skivor och ett null-värde :
strSQL = " INSERT INTO nullValTbl VALUES ( nULL , ' TX ' ) "
DoCmd.RunSQL ( strSQL ) katalog
strSQL = " INSERT INTO nullValTbl VALUES ( " DALLAS " , " TX ' ) "
DoCmd.RunSQL ( strSQL ) katalog
strSQL = " INSERT INTO nullValTbl VALUES ( " Los Angeles " , " CA " ) "
DoCmd.RunSQL ( strSQL )
6
Skriv följande för att söka den nya tabellen med Recordset : .
Set rst = dbs.OpenRecordset ( " SELECT nullValTbl * FRÅN nullValTbl " ) katalog
rst.MoveFirst
7
Skriv följande för att slinga genom " staden " fältet och visa resultaten genom Immediate Window . Slingan innehåller en " Om " uttalande för att kontrollera om det Recordset värdet är " Null " för att undvika att få " Felaktig användning av Null " felmeddelande .
Do Medan Inte rst.EOF
p Om IsNull ( rst.Fields ( " stad " ) . Value ) Sedan
readNull = " "
Else
readNull = rst.Fields ( " stad " ) . Värde
End If
Debug.Print readNull
rst.MoveNext
Loop
8
Skriv följande för att frigöra variabler från minne : .
rst.Close
dbs.Close
Tryck " F5 " för att köra din subrutin