Don Pascuale
Gebruiker
- Lid geworden
- 8 jan 2010
- Berichten
- 5
Hallo iedereen,
Ik ben bezig met een klachtenopvolgingssysteempje access.
Ik heb mijn code geschreven met de nodige controles.
Ik heb dit in vorige versies van acces al verschillende keren gedaan zonder problemen.
Als ik nu mijn code laat runnen krijg ik geen enkele foutmelding en toch worden de gegevens niet opgeslagen in mijn tabel. Het vreemde is dat is heel soms wel gaat als ik een procedure volg met de wijze van het opslaan van mijn tabel.
Hier is mijn code, die ik normaal altijd gebruik om een tabel met VBA te vullen :
Private Sub btnVoegToe_Click()
Dim MyRec As DAO.Recordset
Dim MyDB As DAO.Database
Dim newId As Integer
Set MyDB = CurrentDb
Set MyRec = MyDB.OpenRecordset("select top 1 Id from Klachten order by Id desc")
If Not MyRec.EOF Then
newId = MyRec![Id] + 1
End If
MyRec.Close
MyDB.Close
If Trim(txtOmschrijving & "") = vbNullString Then
MsgBox "Omschrijf de klacht."
ElseIf Trim(ddlAardKlacht.Value & "") = vbNullString Then
MsgBox "Wat is de aard van de klacht?"
ElseIf Trim(ddlGebruiker.Value & "") = vbNullString Then
MsgBox "Wie meldt de klacht?"
ElseIf Trim(ddlAfdeling.Value & "") = vbNullString Then
MsgBox "Van welke afdeling komt de klacht?"
ElseIf Trim(ddlStatus.Value & "") = vbNullString Then
MsgBox "Welke status heeft de klacht?"
ElseIf Trim(ddlOorzaak.Value & "") = vbNullString Then
MsgBox "Wat is de oorzaak van de klacht?"
ElseIf Trim(txtDatum & "") = vbNullString Then
MsgBox "Wanneer deed klacht zich voor?"
Else
Dim splitDatum As Variant
Dim corrdatum As String
splitDatum = Split(CStr(txtDatum), "-")
corrdatum = splitDatum(1) & "-" & splitDatum(0) & "-" & splitDatum(2)
Set MyDB = CurrentDb
MyDB.Execute ("insert into Klachten values(" & newId & ",'" & txtOmschrijving & "'," & ddlAardKlacht & "," & ddlGebruiker & "," & ddlAfdeling & "," & ddlStatus & "," & ddlOorzaak & ",#" & corrdatum & "#)")
MyDB.Close
txtOmschrijving = ""
ddlAardKlacht = ""
ddlGebruiker = ""
ddlAfdeling = ""
ddlStatus = ""
ddlOorzaak = ""
txtDatum = ""
MsgBox "Klacht opgenomen in het systeem!"
End If
End Sub
Wat doe ik hier verkeerd?
Ik ben bezig met een klachtenopvolgingssysteempje access.
Ik heb mijn code geschreven met de nodige controles.
Ik heb dit in vorige versies van acces al verschillende keren gedaan zonder problemen.
Als ik nu mijn code laat runnen krijg ik geen enkele foutmelding en toch worden de gegevens niet opgeslagen in mijn tabel. Het vreemde is dat is heel soms wel gaat als ik een procedure volg met de wijze van het opslaan van mijn tabel.
Hier is mijn code, die ik normaal altijd gebruik om een tabel met VBA te vullen :
Private Sub btnVoegToe_Click()
Dim MyRec As DAO.Recordset
Dim MyDB As DAO.Database
Dim newId As Integer
Set MyDB = CurrentDb
Set MyRec = MyDB.OpenRecordset("select top 1 Id from Klachten order by Id desc")
If Not MyRec.EOF Then
newId = MyRec![Id] + 1
End If
MyRec.Close
MyDB.Close
If Trim(txtOmschrijving & "") = vbNullString Then
MsgBox "Omschrijf de klacht."
ElseIf Trim(ddlAardKlacht.Value & "") = vbNullString Then
MsgBox "Wat is de aard van de klacht?"
ElseIf Trim(ddlGebruiker.Value & "") = vbNullString Then
MsgBox "Wie meldt de klacht?"
ElseIf Trim(ddlAfdeling.Value & "") = vbNullString Then
MsgBox "Van welke afdeling komt de klacht?"
ElseIf Trim(ddlStatus.Value & "") = vbNullString Then
MsgBox "Welke status heeft de klacht?"
ElseIf Trim(ddlOorzaak.Value & "") = vbNullString Then
MsgBox "Wat is de oorzaak van de klacht?"
ElseIf Trim(txtDatum & "") = vbNullString Then
MsgBox "Wanneer deed klacht zich voor?"
Else
Dim splitDatum As Variant
Dim corrdatum As String
splitDatum = Split(CStr(txtDatum), "-")
corrdatum = splitDatum(1) & "-" & splitDatum(0) & "-" & splitDatum(2)
Set MyDB = CurrentDb
MyDB.Execute ("insert into Klachten values(" & newId & ",'" & txtOmschrijving & "'," & ddlAardKlacht & "," & ddlGebruiker & "," & ddlAfdeling & "," & ddlStatus & "," & ddlOorzaak & ",#" & corrdatum & "#)")
MyDB.Close
txtOmschrijving = ""
ddlAardKlacht = ""
ddlGebruiker = ""
ddlAfdeling = ""
ddlStatus = ""
ddlOorzaak = ""
txtDatum = ""
MsgBox "Klacht opgenomen in het systeem!"
End If
End Sub
Wat doe ik hier verkeerd?