VBA: Eksempel på bruk av Recordset

Submitted by lroedal on Sun, 12/10/2017 - 22:15
  1. Dim dbStudenter As DAO.database 'Her deklarer vi databasen vår
  2. Dim rstStudent As DAO.Recordset 'Her deklareres Record-settet vårt.
  3. 'DAO er formatet til standard databaser i Access, og derfor å foretrekke fremfor ADO
  4. Set dbStudenter = CurrentDb 'Settes til den åpne databasen
  5. Set rstStudent = dbStudenter.OpenRecordset("student") 'tabellen student fra den åpne databasen
  6. Dim telefonnummer As Long 'Deklarerer en variabel til telefonnummeret
  7. telefonnummer = txtTelefonNummer.Value 'Henter telefonnummeret fra en tekstboks, og lagrer det i variabelen
  8. Dim count as integer 'Brukes for å telle antall ganger telefonnummeret brukes
  9. 'Dette er en test for å se om det faktisk er registrert noen studenter fra før. Hvis ikke får vi en kræsj.
  10. 'EOF betyr END of FILE og BOF betyr BEGINNING of FILE. Er begge True, er tabellen tom.
  11. If Not (rstStudent.EOF And rstStudent.BOF) Then
  12. rstStudent.MoveFirst 'Hopper til første oppføring i databasen
  13. Do Until rstStudent.EOF = True 'Looper koden til tabelllen når END of FILE
  14. If rstStudent("telefonnummer") = telefonnummer Then
  15. 'Sammenligner telefonnummeret som sjekkes i databasen mot det som brukeren har skrevet i tekstboksen
  16. count = count + 1 'legger til et tall på telleren per gang telefonnummeret er brukt
  17. End If
  18. rstStudent.MoveNext 'Hopper til neste oppføring i databasen (Denne er _viktig_)
  19. Loop 'Må huskes også, looper opp igjen.
  20. End If
  21. Msgbox("Telefonnummeret er brukt " + CStr(count) + " ganger i tabellen.")
  1. 'Hvordan legge til en ny oppføring i tabellen programmatisk
  2. rstStudent.AddNew
  3.  
  4. rstStudent("studentnr").Value = studentnummer
  5. rstStudent("navn").Val........
  6. .........st").Value = epost
  7. rstStudent.Update 'Oppdaterer tabellen med oppføringen du har lagt til ovenfor.
  8. rstStudent.Close 'Lukker databasen