hallo Wer-Weiss-Was-Community,
ich hab mal wieder ein kleines Access Problem ich bin gerade dabei eine neue Datenbank zur Erfassung von Sachnummer zu entwickeln, die Datenbank ist sowerit auch fertgi bis auf Layout und bisschen Feintuning allerdings macht mir die Bearbeitung von bereits hinterlegten Sachnummern Probleme…
Undzwar kann ich beliebig viele Datensätze via Formular hintereinander bearbeiten, allerdings wenn ich ein Datensatz offen habe und dann zu einem anderen Formular switche kann es passieren das mein erste Datensatz in der Tabelle editiert wird und alle dantensätze bis auf zwei gelöscht werden, ich kan nes mir nicht erklären warum das und vorallem wann das problem auftriff vieleicht wisst ihr eine lösung?
hier mal mein Code den ich aktuell verwende:
//Bei Abbruch alle felder leeren oder wird hier dann auch mein Datensatz gelöscht?
Private Sub btn_abbrechnen_bearbeiten_Click()
Me!cbo_seriennummer = „“
Me!txt_mitarbeiter = „“
Me!txt_bearbeitet_am = „“
Me!cbo_ID = „“
Me!txt_beschreibung = „“
Me!txt_anlage = „“
End Sub
//Bearbeiter Datensatz editieren und speichern
Private Sub btn_speichern_bearbeiten_Click()
Dim db As DAO.Database, rs As DAO.Recordset
Dim strSQL As String
Dim var As String
Dim var2 As String
If (Me!cbo_seriennummer „“ And Me!cbo_ID „“ And Me!txt_mitarbeiter „“ And Me!txt_bearbeitet_am „“ And Me!txt_beschreibung „“) Then
strSQL = „SELECT * FROM tbl_nummer“
Set db = CurrentDb
Set rs = db.OpenRecordset(strSQL)
var = Me!cbo_seriennummer
Debug.Print „“ & var
If Not rs.EOF Then rs.MoveFirst
Do While Not rs.EOF
var2 = rs!Seriennummer
Debug.Print „“ & var2
If (var = rs!Seriennummer) Then
rs.Edit
rs!Seriennummer = Me!cbo_seriennummer
rs!mitarbeiter = Me!txt_mitarbeiter
rs!bearbeitet_am = Me!txt_bearbeitet_am
rs!aenderung = Me!cbo_ID
rs!beschreibung = Me!txt_beschreibung
rs!anlage = Me!txt_anlage
rs!link = Me!txt_zwischenspeicher
rs.Update
Exit Do
End If
rs.MoveNext
Loop
Me.cbo_seriennummer = „“
Me.txt_mitarbeiter = „“
Me.txt_bearbeitet_am = „“
Me!cbo_ID = „“
Me!txt_beschreibung = „“
Me!txt_anlage = „“
Me!txt_zwischenspeicher = „“
rs.Close
db.Close
Set rs = Nothing
Set db = Nothing
Else
MsgBox „Bitte alle Felder ausfüllen!“
End If
End Sub
//Und das um daten zu erhalten die bereits hinter einer Sachnummer hinterlegt sind +
Private Sub cbo_Seriennummer_AfterUpdate()
Dim db As DAO.Database, rs As DAO.Recordset
Dim strSQL As String
Dim var As String
strSQL = „SELECT * FROM tbl_nummer“
Set db = CurrentDb
Set rs = db.OpenRecordset(strSQL)
If Not rs.EOF Then rs.MoveFirst
Do While Not rs.EOF
var = rs!Seriennummer
Debug.Print „“ & var
If (var = Me!cbo_seriennummer) Then
Me!cbo_seriennummer = rs!Seriennummer
Me!txt_mitarbeiter = rs!mitarbeiter
Me!txt_bearbeitet_am = rs!bearbeitet_am
Me!cbo_ID = rs!aenderung
Me!txt_anlage = rs!anlage
Me!txt_beschreibung = rs!beschreibung
Me!txt_zwischenspeicher = rs!link
End If
rs.MoveNext
Loop
rs.Close
db.Close
Set rs = Nothing
Set db = Nothing
End Sub