Jack Muijtjens
Gebruiker
- Lid geworden
- 23 dec 2004
- Berichten
- 16
Het lukt me niet om bij een keuzelijst met invoervak de procedurecode "NotInList" te laten werken.
De database heet: Testbestand.mdb
De tabellen zijn:
Tbl_plaatsen (de opzoektabel) met de velden:
plaatsen_id (autonummering + sleutel)
plaatsnamen (tekst)
Tbl_adressen met de velden:
adres_id (autonummering + sleutel)
voornaam (tekst)
achternaam (tekst)
plaatsen_id (num. gekoppeld aan opzoektabel)
De formulieren zijn:
Frm_plaatsen met de velden:
plaatsen_id
plaatsnamen
Frm_adressen met de velen:
Adres_id
voornaam
achternaam
plaatsen_id
Ik heb hiervoor de volgende programcode geschreven:
Private Sub plaatsen_id_NotInList(NewData As String, Response As Integer)
Dim strMessage As String
Dim dbsTbl_adressen As Database
Dim rstTypes As DAO.Recordset
strMessage = "Nieuwe plaatsnaam ' " & NewData
& " ' toevoegen?"
If Confirm(strMessage) Then
Set dbsTbl_adressen = CurrentDb
Set rstTypes = dbsTbl_adressen.OpenRecordset
("Tbl_plaatsen")
rstTypes.AddNew
rst!plaatsnamen = NewData
rstTypes.Update
Responses = acDataErrAdded
Else
Response = acDataErrDisplay
End If
End Sub
Probleem:
Bij het ingeven van een naam die nog niet in de lijst voorkomt krijg ik de foutmelding:
"Compileerfout:
Sub of Function is niet gedefinieerd"
Het woord "Confirm" in de programcode is gemarkeerd.
Ik gebruik MS Office Access 2000
De DAO is ingeschakeld.
Ik begrijp de foutcode niet.
De code heb ik naar een voorbeeld uit het boek
"Programmeercursus MS Access 2002 visual Basic for applications" samengesteld.
Ik moet eerlijk bekennen dat ik een aantal zaken in deze programcode niet begrijp. O.m. de regels:
"Dim dbsTbl_adressen As Database"
"Dim rstTypes As DAO.Recordset"
Weet iemand de oplossing voor dit probleem en/of misschien een andere manier om deze functie te laten werken.
Kent iemand een goed boek over programmeren in vba waar de verschillende codes duidelijk worden uitgelegd? Laat het mij dan svp weten.
Bij voorbaat hartelijk dank!
Jack Muijtjens
De database heet: Testbestand.mdb
De tabellen zijn:
Tbl_plaatsen (de opzoektabel) met de velden:
plaatsen_id (autonummering + sleutel)
plaatsnamen (tekst)
Tbl_adressen met de velden:
adres_id (autonummering + sleutel)
voornaam (tekst)
achternaam (tekst)
plaatsen_id (num. gekoppeld aan opzoektabel)
De formulieren zijn:
Frm_plaatsen met de velden:
plaatsen_id
plaatsnamen
Frm_adressen met de velen:
Adres_id
voornaam
achternaam
plaatsen_id
Ik heb hiervoor de volgende programcode geschreven:
Private Sub plaatsen_id_NotInList(NewData As String, Response As Integer)
Dim strMessage As String
Dim dbsTbl_adressen As Database
Dim rstTypes As DAO.Recordset
strMessage = "Nieuwe plaatsnaam ' " & NewData
& " ' toevoegen?"
If Confirm(strMessage) Then
Set dbsTbl_adressen = CurrentDb
Set rstTypes = dbsTbl_adressen.OpenRecordset
("Tbl_plaatsen")
rstTypes.AddNew
rst!plaatsnamen = NewData
rstTypes.Update
Responses = acDataErrAdded
Else
Response = acDataErrDisplay
End If
End Sub
Probleem:
Bij het ingeven van een naam die nog niet in de lijst voorkomt krijg ik de foutmelding:
"Compileerfout:
Sub of Function is niet gedefinieerd"
Het woord "Confirm" in de programcode is gemarkeerd.
Ik gebruik MS Office Access 2000
De DAO is ingeschakeld.
Ik begrijp de foutcode niet.
De code heb ik naar een voorbeeld uit het boek
"Programmeercursus MS Access 2002 visual Basic for applications" samengesteld.
Ik moet eerlijk bekennen dat ik een aantal zaken in deze programcode niet begrijp. O.m. de regels:
"Dim dbsTbl_adressen As Database"
"Dim rstTypes As DAO.Recordset"
Weet iemand de oplossing voor dit probleem en/of misschien een andere manier om deze functie te laten werken.
Kent iemand een goed boek over programmeren in vba waar de verschillende codes duidelijk worden uitgelegd? Laat het mij dan svp weten.
Bij voorbaat hartelijk dank!
Jack Muijtjens
Laatst bewerkt: