habe auch bei Paulchens EXEL-Werkstatt gepostet,
denke aber, dass ich hier auch viel Profis erreiche.
Ich bastle gerade an einer komplexen Schülerdatenverwaltung herum, in die ich viele Datensätze(ca. 400 pro Schuljahr) eintragen muss. Datensätze sollen dabei natürlich nicht doppelt eingetragen werden.
Hierfür kann man ja beim Button Eingabe schon abfragen ob der Datensatz vorhanden ist.
Leider gibt es aber Schüler mit gleichem Vornamen, Nachnamen...
Ich möchte nun, dass beim Eintrag gleichzeitig alle Daten der ersten fünf von 19 Spalten überprüft werden. Erst wenn alle 5 Kriterien gleich sind, dann soll der Datensatz nicht eingetragen werden, dann kommt die Meldung "Überschreiben?".
Angefangen habe ich mit einem Beispiel aus einem Buch(Held,Anwendungen mit EXCEL entwickeln, Verlag Markt und Technik). Die ganze Datei ist schon prima, brauche nur noch mehr Felder und Gültigkeiten.
Anbei nun mein Fehlercode der Abfrage.
Ich denke, mir kann der eine oder andere Profi hier weiterhelfen.
'Datensatz Doppelte nach mehr als 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
Das Problem beginnt beim zweiten Set Treffer, die erste Abfrage bekomme ich noch hin. Da das
erste Feld (Spalte1)aber die Combobox1 mit dem Schuljahr ist, ist der Wert natürlich 400 xmal der Gleiche.
zweites Feld(Spalte2) TextBox2 mit Nachname
TB 3(Spalte 3) Vorname
TB4(Spalte4) Geb. datum
TB5 Combobox2(Spalte5) Inhalt:Schule oder Kindergarten
So hat man in dieser 5fachen Kombination sehr sicher ausgeschlossen, dass man einen Datensatz doppelt angiebt. Alle anderen Spalten (Spalte 6-19) dienen zur weiteren Beschreibung des Schülers.
Habe noch eine Frage zum Zählen über Optionsbox, doch eins nach dem Anderen.
Leider gibt es bei uns im Schulamtsbezirk keine kompetenten Anspechpartner in Sachen EXCEL-VBA und auch keine Mittel für eine Auftragsprogrammierung. Muss also wieder einmal so gehen.
Vielen Dank