Hvordan man kan sammenligne en Forrige Post i Access Query
Å vite hvordan man skal sammenligne den nåværende rekorden med en tidligere rekord i Microsoft Office Access kan hjelpe deg med å identifisere repetitive data. Access er en relasjonsdatabase styringssystem som vanligvis brukes til å utforme lokale databaser. En spørring blir brukt til å hente data fra databasetabeller. Visual Basic for Applications (VBA) er et programmeringsspråk som brukes til å automatisere rutineoppgaver i Access. I noen få trinn kan du skrive VBA å sløyfe gjennom resultatene av en spørring.
Bruksanvisning
1 Åpne North Microsoft Office Access database. The Northwind database er inkludert i Microsoft Office-pakken. Velg "Insert" -menyen og klikk på "Module".
2 Skriv inn følgende å erklære variabler:
Dim rst As Recordset
Dim dbs som database
Dim queryStr As String
Dim qryPrev As String
Dim qryCurrent As String
Dim rstCnt As Integer
Sett dbs = CurrentDb
3 Skriv inn følgende for å søke på "Leverandører" tabell:
queryStr = "SELECT Suppliers.Company,"
queryStr = queryStr & "leverandører. [etternavn]"
queryStr = queryStr & "leverandører. [fornavn]"
queryStr = queryStr & "fra leverandører;"
4 Skriv inn følgende for å åpne en ny Recordset:
Sett rst = dbs.OpenRecordset (queryStr)
rst.MoveLast
rst.MoveFirst
5 Skriv inn følgende å sløyfe gjennom postene i Recordset og sammenligne gjeldende rekord med den forrige posten:
For rstCnt = 0 For å rst.RecordCount - 1
qryPrev = rst.Fields("Company").Value
qryPrev = qryPrev & rst.Fields ( "[etternavn]"). Verdi
qryPrev = qryPrev & rst.Fields ( "[fornavn]"). Verdi
Hvis rstCnt & lt;> rst.RecordCount - 1 Da
rst.MoveNext
qryCurrent = rst.Fields ( "Selskapet"). Verdi
qryCurrent = qryCurrent & rst.Fields ( "[etternavn]"). Verdi
qryCurrent = qryCurrent & rst.Fields ( "[fornavn]"). Verdi
Hvis qryPrev = qryCurrent Deretter
Debug.Print "Forrige Record er identisk med gjeldende rekord."
Debug.Print qryPrev
Debug.Print qryCurrent
Slutt om
Ellers
Debug.Print "ferdig sammenligne alle rekorder."
Slutt om
Neste rstCnt
6 Skriv inn følgende for å fjerne variabler fra minnet:
rst.Close
dbs.Close
Trykk "F5" for å kjøre subrutine.