vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Alle Controls eines Tabs 
Autor: Michael
Datum: 25.03.03 11:00

Hallo NG!

Mit dem folgenden Code kann ich einen Suchstring zusammenstellen aus allen Elementen, die im entsprechenden Dialog vorhanden sind.
Nun muss ich aber das Ganze auf einem Dialog zum laufen bringen, der Tabs hat (SSTab). Ich muss also einen Suchstring haben, der NUR die Elemente des aktuellen Tabs drin hat, nicht alle aus dem Dialog!
Hoffentlich hab ichs nicht zu kompliziert geschrieben
Function getFilter(dialog As Form, setFilter As String, suchfelder As String)
    On Error GoTo Fehler
 
    'Filter leeren
    setFilter = ""
    suchfelder = ""
 
    'nun alle dataCombos
 
    Dim element As Control
    For Each element In dialog.Controls
        If Mid(element.Name, 1, 2) = "tb" Then 'alle TextFelder
            'aber die Anzeigen sollen nicht angerührt werden
            If element.Name <> "tbAnzeige" And element.Name <> "tbModus" Then _
                decodTextForFilter element, setFilter, suchfelder
        ElseIf Mid(element.Name, 1, 3) = "dcb" Then 'alle Combos
            If Not IsNull(element.BoundText) And Trim(element) <> "" Then
                ' gesuchet Felder anzeigen
                suchfelder = suchfelder + ", " + element.DataField
                If IsNumeric(element.BoundText) Then
                    setFilter = setFilter + " and [" + element.DataField + "] =" & _
                      "" + _
                        element.BoundText
                Else
                    setFilter = setFilter + " and [" + element.DataField + "] =" & _
                      "'" + _
                        element.BoundText + "'"
                End If
            End If
        ElseIf Mid(element.Name, 1, 5) = "dtptb" Then 'alle Datümer
            decodDatePickerForFilter element, setFilter, suchfelder
        End If
    Next
 
 
    'führendes and weg
    If Trim(setFilter) <> "" Then
        setFilter = Mid(setFilter, 5)
    End If
 
    Exit Function
Fehler:
    MsgBox Err.Description + " in getfilter() bei felt " + CStr(element.Name)
 
End Function
 
Function decodTextForFilter(oText As TextBox, setFilter As String, suchfelder _
  As String)
    Dim searchValue
    If Trim(oText.DataField) <> "" And Not IsNull(oText.DataField) _
        And Trim(oText) <> "" And Not IsNull(oText) Then
        ' gesuchet Felder anzeigen
        suchfelder = suchfelder + ", " + oText.DataField
        'prüfen auf Jocker etc.
        If InStr(oText, "*") > 0 Or InStr(oText, "%") Then
            'Suche mit Joker
            setFilter = setFilter + " and " + oText.DataField + " LIKE '" + _
                Trim(oText) + "'"
        ElseIf InStr(oText, "<>") > 0 Then
            'Suche ungleich als
            'Suchwert extrahieren
            searchValue = Trim(Mid(Trim(oText), InStr(oText, "<>") + 2))
            If IsNumeric(searchValue) Then
                setFilter = setFilter + " and " + oText.DataField + " <> " + _
                    searchValue
            Else
                setFilter = setFilter + " and " + oText.DataField + " <> '" + _
                    searchValue + "'"
            End If
          'Hier kommen noch weitere ElseIf für <=, >= usw... 
          Else
            'SONST genauer Treffer
            If IsNumeric(Trim(oText)) Then
                setFilter = setFilter + " and " + oText.DataField + " = " + _
                    Trim(oText)
            Else
                setFilter = setFilter + " and " + oText.DataField + " = '" + _
                    Trim(oText) + "'"
            End If
        End If
    End If
 
End Function
Vielen Dank für die Hilfe!

Gruss Michael

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Alle Controls eines Tabs398Michael25.03.03 11:00

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel