Veröffentlicht 18. März 200520 j Jetzt hab ich schon wieder ein Problem. Habe in einem Formular zwei Kombifelder, mit welchen ich Name und Vorname einzelner Personen filtern möchte. Hier vorab schon malden Quelltext: ------------------------------------------------------------------------- Private Sub sel_nachname_AfterUpdate() sel_vorname = Null End Sub Private Sub sel_vorname_Enter() On Error GoTo fehler Dim SqlStr As String SqlStr = "SELECT Vorname, Name FROM tbl_Personal " Select Case sel_nachname Case Is <> NULL SqlStr = SqlStr & "WHERE Name='" & sel_nachname & "' " Case Null, "" ' dieser Zweig ist nicht nötig und dient nur der besseren Lesbarkeit SqlStr = SqlStr & "" End Select sel_vorname.RowSource = SqlStr & "ORDER BY Vorname;" ende: Exit Sub fehler: Resume ende End Sub ------------------------------------------------------------------------- Jetzt ist es aber so, daß, egel wie ich dieses "case Is <> NUll" verändere, immer alle Vornamen gefiltert werden, die überhaupt da sind. Ich möchte aber nur die Vornamen, die zu dem gewählten Nachnamen gehören. Was mache ich falsch ????? :confused: :confused: :confused: :confused:
18. März 200520 j Jetzt ist es aber so, daß, egel wie ich dieses "case Is <> NUll" verändere, immer alle Vornamen gefiltert werden, die überhaupt da sind. Ich möchte aber nur die Vornamen, die zu dem gewählten Nachnamen gehören. Das heißt not isnull(Variable) und nicht Is<>Null. Ich würde das auch nicht in den case reinpacken, sondern vorher so: if isNull(sel_nachname) then exit sub So rennt er dir nur in den Case rein wenn sel_nachname nicht Null ist, ansonsten verläßt er die Prozedur.
18. März 200520 j Dank an Wolle für den Tip mit dem not IsNull. Jetzt klappt's Hab doch in dem ersten Kombifeld 2 Spalten und hab dem Programm nicht gesagtmit welcher Spalte er vergleichen soll Habe den entsprechenden Select - Befehl jetzt angepasst. Case Not IsNull(sel_nachname) SqlStr = SqlStr & "WHERE Name='" & sel_nachname.Column(1) & "' "
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.