zwei Suchkriterien über TXT-Box erfüllen
Thomas
Ich habe eine Datenbank erstellt, die diverse Daten von über 500 Seminarteilnehmern enthält.
Über eine Userform kann ich neue Teilnehmer hinzufügen und über eine weitere Userform kann ich vorhandene Datensätze editieren.
Zum Editieren eines vorhandenen Datensatzes muss dieser aber zunächst ersteinmal gefunden werden.
Dazu habe ich eine weitere Userform mit zwei Txt-Boxen erstellt. In die eine wird der Nachname, in die andere der Vorname eingegeben. Über den OK-Button wird dann eine Suche ausgeführt.
So weit funktioniert dies auch.
Ich möchte aber folgende Bedingungen erfüllt haben, zu denen ich derzeit keinerlei Ideen habe und auch im forum noch nichts gefunden habe:
1) Sollte eine der beiden Txt-Boxen leer sein, erscheint eine Msg-Box "Es muss ein Nachname / Vorname"
eingetragen werden (Ist realisiert und funktioniert auch)
2) Nach Eingabe eines Nachnamens sollte die Datenbank überprüft werden, ob dieser überhaupt existiert
(es könnten ja Schreibfehler auftreten!)
Wenn Nachname nicht existent, dann MSG-Box "Bitte Schreibweise überprüfen)
Wenn Nachname existent, dann weiter zur nächsten Txt-Box "Vorname"
3) Das gleiche Prozedere sollte dann auch für die Txt-Box "Vorname" vorhanden sein, mit der Maßgabe,
daß der Vorname zu dem gewählten Nachnamen passen muss
4) Nachdem Nachname und Vorname überprüft wurden und existent sind, sollte über ein OK-Button
(der dann erst sichtbar/anklickbar wird) eine Suche ausgeführt werden können.
P.S.: Der zu suchende Nachname befindet sich in Spalte "D", der zu suchende Vorname in "C"
Ich hänge den derzeitigen Code mal an, damit Ihr Euch ein Bild machen könnt. Sollte die Datei von Nöten sein, sagt bitte Bescheid. Ich muss dann nur vor dem Hochladen die privaten daten entfernen.
Für Eure Hilfe bin ich jetzt schon dankbar
LG
Tom
'#########################################
'Eingabe Nachname erzwingen
'#########################################
Private Sub txt_nachname_eingeben_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If txt_nachname_eingeben = "" Then
txt_nachname_eingeben.SetFocus
MsgBox "ES MUSS EIN NACHNAME EINGEGEBEN WERDEN!", vbOKOnly
Cancel = True
Else
txt_vorname_eingeben.SetFocus
End If
End Sub
'#########################################'Eingabe Vorname erzwingen
'#########################################
Private Sub txt_vorname_eingeben_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim wee As Integer
If txt_vorname_eingeben = "" Then
txt_vorname_eingeben.SetFocus
MsgBox "ES MUSS EIN VORNAME EINGEGEBEN WERDEN!", vbOKOnly
Cancel = True
Else
Dim iRow As Integer
iRow = 1
Do Until IsEmpty(Cells(iRow, 1))
If Cells(iRow, 4).Value = txt_nachname_eingeben.Value And _
Cells(iRow, 3).Value = txt_vorname_eingeben.Value Then
Rows(iRow).Select
End If
iRow = iRow + 1
Loop
End If
wee = Selection(1)
End Sub
'############################################'Einlesen in die Datenmaske
'############################################
Private Sub OK_Click()
Dim wee As Integer
wee = Selection(1)
aa = [A:A].Find(wee, LookIn:=xlValues, LookAt:=xlWhole).Row
ausgabemaske.Registerkarten.Value = 0
ausgabemaske.Registerkarten(0).Visible = True
ausgabemaske.Registerkarten(1).Visible = False
ausgabemaske.Registerkarten(2).Visible = False
ausgabemaske.txt_lfd_nr = Cells(aa, 1)
ausgabemaske.cbo_dgrad = Cells(aa, 2)
ausgabemaske.txt_vname = Cells(aa, 3)
ausgabemaske.txt_nname = Cells(aa, 4)
ausgabemaske.txt_nname_geaendert = Cells(aa, 5)
ausgabemaske.txt_geb_dat = Cells(aa, 6)
ausgabemaske.cbo_fam_stand = Cells(aa, 7)
ausgabemaske.txt_plz = Cells(aa, 8)
ausgabemaske.txt_wohnort = Cells(aa, 9)
ausgabemaske.txt_strasse = Cells(aa, 10)
ausgabemaske.txt_fon_privat = Cells(aa, 11)
ausgabemaske.txt_mobil_privat = Cells(aa, 12)
ausgabemaske.txt_mail_privat = Cells(aa, 13)
'################################# einlesen Daten Notfall
ausgabemaske.txt_vname_not = Cells(aa, 14)
ausgabemaske.txt_nname_not = Cells(aa, 15)
ausgabemaske.txt_plz_not = Cells(aa, 16)
ausgabemaske.txt_wohnort_not = Cells(aa, 17)
ausgabemaske.txt_strasse_not = Cells(aa, 18)
ausgabemaske.txt_fon_not = Cells(aa, 19)
ausgabemaske.txt_mobil_not = Cells(aa, 20)
ausgabemaske.txt_mail_not = Cells(aa, 21)
ausgabemaske.txt_status_not = Cells(aa, 22)
'################################# einlesen Daten Dienst
ausgabemaske.cbo_behoerde = Cells(aa, 23)
ausgabemaske.txt_dienststelle = Cells(aa, 24)
ausgabemaske.txt_funktion = Cells(aa, 25)
ausgabemaske.txt_spez_fachrichtung = Cells(aa, 26)
ausgabemaske.txt_fon_dienstl = Cells(aa, 27)
ausgabemaske.txt_mobil_dienstl = Cells(aa, 28)
ausgabemaske.txt_mail_dienstl = Cells(aa, 29)
ausgabemaske.cbo_sicherheit_geprueft = Cells(aa, 30)
ausgabemaske.txt_dat_eintritt = Cells(aa, 31)
ausgabemaske.txt_1_fachpruefung = Cells(aa, 32)
ausgabemaske.txt_2_fachpruefung = Cells(aa, 33)
ausgabemaske.txt_3_fachpruefung = Cells(aa, 34)
ausgabemaske.cbo_beurteilung = Cells(aa, 35)
ausgabemaske.txt_fs_klassen = Cells(aa, 36)
ausgabemaske.txt_kontaktperson = Cells(aa, 37)
ausgabemaske.txt_fon_kontaktperson = Cells(aa, 38)
ausgabemaske.txt_mobil_kontaktperson = Cells(aa, 39)
'################################# einlesen Daten Mission
ausgabemaske.txt_eom = Cells(aa, 40)
ausgabemaske.cbo_mission_status = Cells(aa, 41)
ausgabemaske.cbo_interesse = Cells(aa, 42)
ausgabemaske.cbo_schriftl_bewerbung = Cells(aa, 43)
ausgabemaske.txt_eingang_bewerbung = Cells(aa, 44)
ausgabemaske.cbo_zust_dv = Cells(aa, 45)
ausgabemaske.txt_ac = Cells(aa, 46)
ausgabemaske.txt_english_nr = Cells(aa, 47)
ausgabemaske.txt_english_von = Cells(aa, 48)
ausgabemaske.txt_english_bis = Cells(aa, 49)
ausgabemaske.txt_emex = Cells(aa, 50)
ausgabemaske.txt_emex_bemerkung = Cells(aa, 51)
ausgabemaske.txt_basis_nr = Cells(aa, 52)
ausgabemaske.txt_basis_von = Cells(aa, 53)
ausgabemaske.txt_basis_bis = Cells(aa, 54)
ausgabemaske.cbo_Basis_ort = Cells(aa, 55)
ausgabemaske.txt_vbs_nr = Cells(aa, 56)
ausgabemaske.txt_vbs_von = Cells(aa, 57)
ausgabemaske.txt_vbs_bis = Cells(aa, 58)
ausgabemaske.cbo_vbs_ort = Cells(aa, 59)
ausgabemaske.txt_nbs_nr = Cells(aa, 60)
ausgabemaske.txt_nbs_von = Cells(aa, 61)
ausgabemaske.txt_nbs_bis = Cells(aa, 61)
ausgabemaske.cbo_nbs_ort = Cells(aa, 63)
ausgabemaske.txt_sonst_bemerkungen = Cells(aa, 64)
ausgabemaske.txt_sachbearbeiter = Cells(aa, 65)
ausgabemaske.txt_stand_letzte_bearbeitung.Value = Now
ausgabemaske.txt_ausreise = Cells(aa, 67)
ausgabemaske.txt_rueckreisetermin = Cells(aa, 68)
ausgabemaske.cbo_akt_missionsgebiet = Cells(aa, 69)
ausgabemaske.txt_mission1 = Cells(aa, 71)
ausgabemaske.txt_mission2 = Cells(aa, 72)
ausgabemaske.txt_mission3 = Cells(aa, 73)
ausgabemaske.txt_mission4 = Cells(aa, 74)
ausgabemaske.txt_mission5 = Cells(aa, 75)
ausgabemaske.txt_mission6 = Cells(aa, 76)
ausgabemaske.txt_mission7 = Cells(aa, 77)
ausgabemaske.txt_mission8 = Cells(aa, 78)
ausgabemaske.txt_mission9 = Cells(aa, 79)
ausgabemaske.txt_mission10 = Cells(aa, 80)
ausgabemaske.Show
Unload Me
End Sub