Hvordan få tilgang spørring: Ugyldig Bruk av Null
Å vite hvordan man skal håndtere nullverdier når du leser en Recordset kan du spare tid på å utvikle din database applikasjon. Microsoft Office Access er en relasjonsdatabase styringssystemer inkludert i Microsoft Office-pakken. Visual Basic for Applications, eller VBA, brukes i Access for å automatisere rutineoppgaver. Et søk blir brukt til å hente data fra en database tabell. En null verdi representerer en variabel uten verdi. Du vil få en "Ugyldig Bruk av Null" feilmelding når du prøver å tilordne en null til en variabel.
Bruksanvisning
1 Start Microsoft Office Access og velg "Blank Database," klikk "Opprett". Klikk "Databaseverktøy", deretter "Visual Basic". Klikk på "Insert" -menyen og velg "Module".
2 Skriv inn følgende for å opprette en ny subrutine:
Private Sub invalidUseOfNULL ()
Trykk enter."
3 Skriv inn følgende å erklære variabler:
Dim strSQL As String
Dim rst As Recordset
Dim dbs som database
Dim readNull As String
Sett dbs = CurrentDb
4 Skriv inn følgende for å opprette en ny tabell:
sQLString = "CREATE TABLE nullValTbl (by TEKST, stat TEKST)"
DoCmd.SetWarnings falske
DoCmd.RunSQL (sQLString)
5 Skriv inn følgende for å sette inn tre plater og en nullverdi:
strSQL = "INSERT INTO nullValTbl VERDIER (NULL, 'TX')"
DoCmd.RunSQL (strSQL)
strSQL = "INSERT INTO nullValTbl VERDIER ( 'DALLAS', 'TX')"
DoCmd.RunSQL (strSQL)
strSQL = "INSERT INTO nullValTbl VERDIER ( 'LOS ANGELES', 'CA')"
DoCmd.RunSQL (strSQL)
6 Skriv inn følgende til å spørre den nye tabellen ved hjelp av Recordset:
Sett rst = dbs.OpenRecordset ( "SELECT nullValTbl. * FROM nullValTbl")
rst.MoveFirst
7 Skriv inn følgende å sløyfe gjennom "byen" -feltet og vise resultatene gjennom Immediate Window. Sløyfen omfatter en "Hvis" statement å sjekke om Recordset verdien er "Null" for å unngå å få "Ugyldig Bruk av Null" feilmelding.
Gjør Mens Ikke rst.EOF
Hvis IsNull (rst.Fields ( "by"). Verdi) Deretter
readNull = ""
Ellers
readNull = rst.Fields("city").Value
Slutt om
Debug.Print readNull
rst.MoveNext
Loop
8 Skriv inn følgende for å frigjøre variabler fra minnet:
rst.Close
dbs.Close
Trykk "F5" for å kjøre subrutine.