Ik vrees dat er een foutje geslopen is in volgende code, het rode gedeelte, gaat namelijk niet. Hij komt altijd zeggen dat de gegevens opgeslagen zijn, zelfs al is dit niet het geval. Iemand die ziet waar het mis gaat? bedankt!
Code:
Private Sub cmdVerder_Click()
Dim i As Integer
Dim sTabel As String, sPatient As String, sBehandeling As String, strSQL As String
Dim dtDatum As Date, iDatum As Double
Dim bCheck As Boolean
Dim lResponse As Integer
sTabel = "GegevensBehandeling"
If cmbUniekeCode = "" Then
MsgBox "Vul de unieke code in aub!", vbExclamation, "Oeps!"
Exit Sub
ElseIf Nz(cmbBehandeling, "") = "" Then
MsgBox "Vul de behandeling in aub!", vbExclamation, "Oeps!"
Exit Sub
ElseIf Nz(cmbBehandeling, "") <> "" And Nz(cmbUniekeCode, "") <> "" Then
lResponse = MsgBox("Verder gaan?", vbYesNo, "Verder gaan")
If lResponse = No Then
Exit Sub
Else
If cmbBehandeling <> "" Then
On Error Resume Next
sPatient = Me.cmbUniekeCode
sBehandeling = cmbBehandeling
dtDatum = txtStart1
iDatum = CDbl(dtDatum)
Dim tmp
strSQL = "SELECT DISTINCT [Unieke Code], [Type behandeling], [1ste startdatum] FROM " & sTabel & vbCrLf _
& "WHERE (" _
& "[Unieke Code] = '" & sPatient & "'" & vbCrLf _
& "AND [Type behandeling] = '" & sBehandeling & "'" & vbCrLf _
& "AND CDbl([1ste startdatum]) = " & iDatum _
& ")"
'' tmp = InputBox("", "", strSQL)
With CurrentDb.OpenRecordset(strSQL)
If .RecordCount > 0 Then
bCheck = True
Else
bCheck = False
End If
.Close
End With
If bCheck = False Then
With CurrentDb.OpenRecordset(sTabel)
.AddNew
![Unieke Code] = Me.cmbUniekeCode
![Type behandeling] = cmbBehandeling
![Dosis] = txtDosis
![Frequentie] = Me.cmbFrequentie
![1ste startdatum] = txtStart1
![1ste stopdatum] = txtStop1
![2de startdatum] = txtStart2
![2de stopdatum] = txtStop2
![3de startdatum] = txtStart3
![3de stopdatum] = txtStop3
.Update
.Close
End With
For Each ctl In Controls
With ctl
Select Case .ControlType
Case acCheckBox
If .Value = -1 Then
If .Name = "keuzeAndere" Then
sNevenwerking = StrConv(Me.txtAndere.Value, 3)
Else
sNevenwerking = Mid(.Name, 6, Len(.Name) - 5)
End If
sTabel = .Tag
On Error Resume Next
With CurrentDb.OpenRecordset("GegevensBehandelingNevenwerking")
.AddNew
![Unieke Code] = cmbUniekeCode
![Behandeling] = cmbBehandeling
![Nevenwerking Behandeling] = sNevenwerking
.Update
.Close
End With
End If
End Select
End With
Next ctl
End If
End If
End If
lResponse = MsgBox("Gegevens Opgeslagen." & vbNewLine & "Wilt u nog meer behandelingen invoeren van deze patiënt(e)?", vbYesNo, "Opgeslagen")
If lResponse = vbYes Then
sUniekeCode = Me.cmbUniekeCode
VeldenLeeg
Me.cmbUniekeCode = Me.OpenArgs
Exit Sub
Else
DoCmd.Close acForm, "F_InvoerenBehandeling"
DoCmd.OpenForm "F_Start", acNormal
End If
[COLOR="red"] ElseIf bCheck = True Then
MsgBox "Behandeling bestaat al", vbOKOnly
End If[/COLOR]
End Sub