Ik heb een vreemd probleem met een sql die ik maak via "maken > query ontwerp" en de sql via VBA. Via "maken > query" maak ik de volgende query
Deze tabel is een gerelateerde tabel in een relatie : tblPatientenlijst (PTN_ID) > tblBloedanalyse (BLA_ID) > tblWaarden. Hier kan ik zonder problemen records toevoegen!
Als ik deze situatie via VBA uitschrijf krijg ik het volgende probleem: "U kunt geen record toevoegen of wijzigen omdat de tabel tblBloedAnalyse een gerelateerde record vereist is" - 2147217887
Graag hulp!
Code:
SELECT tblWaarden.*
FROM tblWaarden;
Als ik deze situatie via VBA uitschrijf krijg ik het volgende probleem: "U kunt geen record toevoegen of wijzigen omdat de tabel tblBloedAnalyse een gerelateerde record vereist is" - 2147217887
Code:
Private Sub butBloedkenmerken_Click()
Dim cnn As ADODB.Connection
Dim sqlKenmerk As String
Dim sqlWaarden As String
Dim sqlBloedAnalyse As String 'Om via een UPDATE query de waarden BLA_ID voor alle velden aan te passen
Dim rst1 As New ADODB.Recordset 'tblKenmerk
Dim rst2 As New ADODB.Recordset 'tblWaarden
With Me
If (IsNull(.datBLA_Datum) Or .datBLA_Datum = "") Or (IsNull(.lstBLA_Aanvrager) Or .lstBLA_Aanvrager = "") Then
Exit Sub
End If
End With
sqlKenmerk = "SELECT tblKenmerk.K_iD " & _
"FROM tblKenmerk;"
sqlWaarden = "SELECT tblWaarden.* " & _
"FROM tblWaarden;" [B][COLOR="#FF0000"]'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> dit is de bewuste query[/COLOR][/B]
sqlBloedAnalyse = "UPDATE tblWaarden SET tblWaarden.BLA_ID = " & Me.iBLA_ID & ";"
Set cnn = CurrentProject.Connection
rst1.Open sqlKenmerk, cnn, adOpenKeyset, adLockPessimistic
rst2.Open sqlWaarden, cnn, adOpenKeyset, adLockPessimistic
If Not rst1.BOF And Not rst1.EOF Then
rst1.MoveLast
rst1.MoveFirst
End If
If Not rst2.BOF And Not rst2.EOF Then
rst2.MoveLast
rst2.MoveFirst
End If
With rst1
If Not .BOF And Not .EOF Then
While Not .EOF
rst2.AddNew
rst2!K_ID = !K_ID
rst2!BLA_ID = Me.iBLA_ID
rst2.Update[B][COLOR="#FF0000"] '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>< dit geeft de fout[/COLOR][/B]
.MoveNext
Wend
End If
End With
rst1.Close
rst2.Clone
cnn.Close
Set cnn = Nothing
DoCmd.RunSQL sqlBloedAnalyse
DoCmd.Close acForm, "frmBloedanalyse"
DoCmd.OpenForm "frmKenmerkWaarden", , , , , acDialog
End Sub
Graag hulp!