Hallo
Ich habe durch den folgenden Link die Suchmaske erstellt.
http://www.office-loesung.de/ftopic13271_0_0_asc.php
Jedoch weiß ich bis jetzt nicht wie ich in der Entwurfsansicht die Tabelle erstellen kann, womit ich die Datensätzte bei der Suche gefiltert bekomme. Am besten tabellarisch...
Bei mir funktioniert die Suche leider nicht. Kann mir bitte jemand dabei helfen. Danke im Voraus !
Option Compare Database
Option Explicit
Private myCriteria As String
Private Function Filterbedingung() As String
Dim ArgCount As Integer
' ############ Ergaenzung fuer Bereichseingrenzungen! (Anfang) ###############
Dim tmpCount As Integer
Dim tmpCriteria As String
' ############ Ergaenzung fuer Bereichseingrenzungen! (Ende) #################
' Initialisiere die Argumentenzahl.
ArgCount = 0
myCriteria = ""
'*************************************************************************
' Nur hier muß man die Zeilen anpassen:
' Variable1 = Feldname im Formular in dem das Suchwort eingegeben wird
' Variable2 = Feldname im Formular der gefiltert werden soll
' (Feld aus der Datenbank)
' Variable3 = Typ zum Angeben des Datenfeldes
' 1 = Datum
' 2 = String, alle die das Suchwort entahlten, egal wo
' 3 = Zahl
' 4 = String, findet nur die die genau übereinstimmen
' 5 = ja/nein vom Typ Boolen
' 6 = Nach NULL suchen
' Optional Operator = Standart "=" Eingabe: ">", "<", "<>", "<=", ">="
' Optional bAnd = Hier kann man dann noch angeben ob man die Kriterien mit
' AND (True) oder OR (False) verknüpfen möchte.
' Wenn Argument bAnd weggelassen => mit AND verküpft.
' Beispiel:
' SQLString Me!Sucheingabefeld, "Datenfeld", mycriteria, ArgCount, _
' 2, False
' => Hier wird mit OR (Oder) verknuept.
' Beliebig erweiterbar, wenn man beispielsweise 5 Felder filtern
' will muß man die folgende Zeile gerade 5 mal kopieren und anpassen
'*************************************************************************
' SQLString Variable1, Variable2, mycriteria, ArgCount, Variable3
SQLString Me!txtBohrung_Blech, "[Bohrung_Blech]", myCriteria, ArgCount, 3
SQLString Me!txtNutzahl, "[Nutzahl]", myCriteria, ArgCount, 3
SQLString Me!txtNutschlitz_im_Blech, "[Nutschlitz_im_Blech]", myCriteria, ArgCount, 3
SQLString Me!txtPakethöhe_Max, "[Pakethöhe_Max]", myCriteria, ArgCount, 3
SQLString Me!txtPakethöhe_Min, "[Pakethöhe_Min]", myCriteria, ArgCount, 3
' Falls kein Kriterium spezifiziert wurde, gebe alle Datensätze zurück.
If myCriteria = "" Then myCriteria = "True"
Filterbedingung = myCriteria
End Function
Private Sub ButtonReset_Click()
Me.FilterOn = False
myCriteria = "" 'Nur wenn ihr die Variable Global speichert
Me!txtBohrung_Blech = Null
Me!txtNutzahl = Null
Me!txtNutschlitz_im_Blech = Null
Me!txtPakethöhe_Max = Null
Me!txtPakethöhe_Min = Null
End Sub
Private Sub Filter_Click()
Me.Filter = Filterbedingung
Me.FilterOn = True
End Sub
Private Sub Form_Open(Cancel As Integer)
DoCmd.Maximize
End Sub
Option Compare Database
Option Explicit
Private myCriteria As String
Public Sub SQLString(FieldValue As Variant, FieldName As String, _
Criteria As String, ArgCount As Integer, _
Typ As Integer, Optional bAnd As Boolean = True)
'*************************************************************************
'In dieser Prozedur (Sub) muß und darf nichts geändert werden
'*************************************************************************
' Erstelle Kriterien für die WHERE-Klausel.
If Nz(FieldValue, "") <> "" Then
If bAnd Then
' Füge "Und" hinzu, falls andere Kriterien vorhanden sind.
If ArgCount > 0 Then Criteria = Criteria & " AND "
Else
' Füge "Oder" hinzu, falls andere Kriterien vorhanden sind.
If ArgCount > 0 Then Criteria = Criteria & " OR "
End If
Select Case Typ
Case 1 'Datum
Criteria = Criteria & FieldName & "= #" & _
Format(CDate(FieldValue), "mm-dd-yyyy") & "#"
Case 2 'String Like
Criteria = Criteria & FieldName & " Like '*" & FieldValue & "*'"
Case 3 ' Zahl
Criteria = Criteria & FieldName & " = " & Str(FieldValue)
'Fehlendes = eingefuegt Willi Wipp 2004.10.07
'Fehlendes Str(...) eingefuegt Willi Wipp 2007.08.07
Case 4 'String =
Criteria = Criteria & FieldName & " = '" & FieldValue & "'"
Case 5 'Ja/nein
If FieldValue = "Ja" Or FieldValue = "True" Or _
FieldValue = True Then
Criteria = Criteria & FieldName & " = -1"
Else
Criteria = Criteria & FieldName & " = 0"
End If
Case 6
Criteria = Criteria & "(" & FieldName & ") Is Null"
End Select
' Inkrementiere die Zahl der Argumente.
ArgCount = ArgCount + 1
End If
End Sub
Hallo,
eierst Du immer noch an dem Suchproblem vom letzten Threat herum?
Bevor Du Dir so "komplexe" Sachen wie das Suchform antust, das Du dann nicht zum Laufen bekommst, zeige doch mal die Tabelle mit ein paar Beispieldaten, die wie auch immer gefiltert werden sollen und ein paar Beispiele, wie die Suchkriterien aussehen, die Du eingeben willst und nach denen gefiltert werden soll.
Eine vorbereitete Beispiel-DB hier hochzuladen, wäre auch keine schlechte Idee.
ZitatJedoch weiß ich bis jetzt nicht wie ich in der Entwurfsansicht die Tabelle erstellen kann, womit ich die Datensätzte bei der Suche gefiltert bekomme. Am besten tabellarisch...
unverständlich...