Hi, ich hab Probleme bei einem Recordset, soweit funktioniert mein Quellcode jedoch erscheint jedes mal die Meldung:
Access kann die Änderungen an der Tabelle nicht vornehemen… da Index verstoß etc.
Ich habe eine Tabelle von der ich mit dem Recordset daten herraus schiebe, editiere und zurück packe. Er ändert jedoch die Tabelle wie gewünscht ab…
Aufbau der Tabelle:
enthält 5 1:n Beziehungen zu anderen Tabellen.
hier mein code, hoffe ihr könnt mir helfen:
Set db = CurrentDb
Set rs = db.OpenRecordset(„tbl_conn_mitarbeiter_schulung“, dbOpenDynaset)
rs.FindFirst „nr Like '“ & nummer & „’“
Do While Not rs.EOF
var1 = rs!nr
var2 = rs!tbl_mitarbeiter
var3 = rs!tbl_schulung
var4 = rs!erstschulung
var5 = rs!tbl_iststatus
var6 = rs!tbl_sollstatus
var7 = Me.cbo_soll
Debug.Print „“ & var1
Debug.Print „“ & var2
Debug.Print „“ & var3
Debug.Print „“ & var4
Debug.Print „“ & var5
Debug.Print „“ & var6
Debug.Print „“ & var7
rs.Delete
rs.AddNew
rs.Fields(„nr“) = (var1 + 1)
rs.Fields(„tbl_mitarbeiter“) = var2
rs.Fields(„tbl_schulung“) = var3
rs.Fields(„erstschulung“) = var4
rs.Fields(„tbl_iststatus“) = var5 ’ hier wird der alte Ist-Status übernommen, solange diese Schulung noch nicht rückgemeldet wurde
rs.Fields(„tbl_sollstatus“) = var7 ’ Neuer Soll-Status wird an tabelle übergeben
rs.Update
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Set db = Nothing
End If
If dirtyCheck Then
If MsgBox(„Die Daten wurden gespeichert!“ & vbCrLf & _
„Weitere Schulung anmelden?“, vbYesNo) = vbYes Then
DoCmd.GoToRecord , , acNewRec
Else
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm IIf(Nz(strForm, „“) = „“, „frm_menue“, strForm)
End If
DoCmd.SetWarnings True
End If
Exit_btn_speichern_Click:
Exit Sub
Err_btn_speichern_Click:
MsgBox Err.Description
Resume Exit_btn_speichern_Click
End Sub
vielen dank euch schonmal und bis denne
Fizzo 361