Hallo , ,
erstelle gerade eine Dateneingabemaske die je Datensatz 19 Felder enthält.
Jetzt will ich vermeiden, dass doppelte Datensätze eingegeben werden und dies bereits beim Eintrag der Dtaen von der Maske in die Tabelle überprüft wird.
Anm: Datenerfassung über Button.
Die Datenüberprüfung soll nach allen 5 Kriterien erfolgen, die sich aus Spalte 1-Spalte 5 der Tabelle ergeben.D.h. nur wenn alle 5 Kriterien für einen neuen Datensatz zutreffen soll die Meldung "Ist bereits vorhanden erscheinen". Stimmen <5 Kriterien überein soll der Datensatz eingetzragen werden können.
Anbei mein fehlerhafter Code, es liegt an den ElsIf Befehlen denke ich.
'Datensatz Doppelte nach >1 Kriterien finden
Set Treffer = DATEN.Columns(1).Find(what:=Me.ComboBox1.Value, lookat:=xlWhole)
Else
Set Treffer = DATEN.Columns(2).Find(what:=Me.TextBox2.Value, lookat:=xlWhole)
Else
Set Treffer = DATEN.Columns(3).Find(what:=Me.TextBox3.Value, lookat:=xlWhole)
Else
Set Treffer = DATEN.Columns(4).Find(what:=Me.TextBox4.Value, lookat:=xlWhole)
Else
Set Treffer = DATEN.Columns(5).Find(what:=Me.TextBox5.Value, lookat:=xlWhole)
If Treffer Is Nothing Then
lng = Range("A65536").End(xlUp).Offset(1, 0).Row
Else
i = MsgBox("Dieser Schüler wurde bereits erfasst! Überschreiben?", vbYesNo + vbQuestion)
If i = 6 Then
lng = Treffer.Row
Else
Exit Sub
End If
End If
Wer kann helfen?
Vielen Dank vorab
|