Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Mehrer Filter miteinander Verbinden

Frage Microsoft Microsoft Office

Mitglied: xpilzx1

xpilzx1 (Level 1) - Jetzt verbinden

07.07.2010, aktualisiert 08:59 Uhr, 2266 Aufrufe, 7 Kommentare

Hallo @ all,

da mir hier schon wirklich gut geholfen wurde, will ich mein neues Problem auch hier veröffentlichen in der Hoffnung das mir jemand den richtigen Denkanstoß geben kann.
ich habe ein Unterformular, für das ich in einem Modul eine Privat Function geschrieben hab (mit Hilfe dieses Forums funktioniert diese auch tadellos). dort filtere ich anhand eines Textfeldes mein Formular. weil diese Funktion in verschiedenen Formularen verwendet werden soll arbeitet sie mit einem Objekt als Formularnamen.

Hier ist mal der Code:
01.
Public Function PFCT_FILTER(PVAR_SUCHFELD_1 As String, PVAR_FORMFELD_1 As String) As String 
02.
Dim AktSteuerelement As Control 
03.
Set AktSteuerelement = Screen.ActiveControl 
04.
On Error GoTo FEHLER 
05.
Call setFormularObjekt 
06.
If Nz(AbsForm(PVAR_SUCHFELD_1).Text) <> "" Then 
07.
AbsForm.Filter = PVAR_FORMFELD_1 & " Like '" & AbsForm(PVAR_SUCHFELD_1).Text & "*'" 
08.
AbsForm.FilterOn = True 
09.
Else 
10.
AbsForm.FilterOn = False 
11.
Exit Function 
12.
End If 
13.
FEHLER: If AbsForm.RecordsetClone.RecordCount = 0 Then 
14.
AbsForm.Filter = "" 
15.
AktSteuerelement.SetFocus 
16.
AktSteuerelement.SelStart = Len(AbsForm(PVAR_SUCHFELD_1).Text) 
17.
MsgBox "Keine Übereinstimung gefunden in " & AktSteuerelement.NAME 
18.
Exit Function 
19.
End If 
20.
AbsForm(PVAR_SUCHFELD_1).SelStart = Len(AbsForm(PVAR_SUCHFELD_1).Text) 
21.
End Function
nun will ich diesen filter so erweitern das in mehreren Spalten gefiltert werden kann z.B. erst in spalte NAME --> alle namen mit A werden angezeigt, und dann in spalte VORNAME alle Vornamen mit A aus denen die Name mit A haben.
mach ich das ganze in einem SUB, ( Beispiel:Me.Filter = "VORNAME Like '" & Me!FILTER_VORNAME.Text & "*' And NAME Like '" & Me!FILTER_NAME & "*'")
klappt das auch wunderbar, aber binde ich das in meine Funktion mit ein ( Beispiel: AbsForm.Filter = PVAR_FORMFELD_1 & " Like '" & AbsForm(PVAR_SUCHFELD_1).Text & "*' And PVAR_FORMFELD_2 & " Like '" & AbsForm(PVAR_SUCHFELD_2).Text & "*'")
wird mir der erste Hochstrich nach And PVAR_FORMFELD_2 & " Like markiert, die ganze Zeile ist Rot und es erscheint eine Meldung "Erwarte Ausdruck"
kann mir jemand weiterhelfen? bin noch verdammt unerfahren was VBA angeht.

vielen dank schon mal im voraus.
grüsse Thomas
Mitglied: 76109
07.07.2010 um 09:33 Uhr
Hallo xpilzx1!

Versuchs mal damit:
& "*' And " & PVAR_FORMFELD_2 &

Gruß Dieter
Bitte warten ..
Mitglied: thaenhusen
07.07.2010 um 11:29 Uhr
Moin.

AbsForm.Filter = PVAR_FORMFELD_1 & " Like '" & AbsForm(PVAR_SUCHFELD_1).Text & "*' And PVAR_FORMFELD_2 & " Like '" & AbsForm(PVAR_SUCHFELD_2).Text & "*'"

Versuch mal:

AbsForm.Filter = PVAR_FORMFELD_1 & " Like '" & AbsForm(PVAR_SUCHFELD_1).Text & "*' And " & PVAR_FORMFELD_2 & " Like '" & AbsForm(PVAR_SUCHFELD_2).Text & "*'"

Nach dem And fehlte das " &

HTH
MK
Bitte warten ..
Mitglied: xpilzx1
07.07.2010 um 11:41 Uhr
danke euch beiden, das problem ist damit behoben, kann den code so speichern und aufrufen, nur ist nun AbsFormFilter = "" , also leer? wie kann das den sein?

mach ich zum testen :
AbsForm.Filter = PVAR_FORMFELD_1 & " Like '" & AbsForm(PVAR_SUCHFELD_1).Text & "*' And " & PVAR_FORMFELD_1 & " Like '" & AbsForm(PVAR_SUCHFELD_1)Text & "*'"
dann ist es richtig, dann ist AbsFormFilter = "VORNAME Like 'J'" And "VORNAME Like 'J'"

was hab ich den da schon wieder falsch gemacht?

kann es sein das es an der Position der Cursors liegt?
Bitte warten ..
Mitglied: thaenhusen
07.07.2010 um 12:33 Uhr
Moin.

Du musst PVAR_FORMFELD_2 und PVAR_SUCHFELD_2 auch in die Funktion stecken...

Public Function PFCT_FILTER(PVAR_SUCHFELD_1 As String, PVAR_FORMFELD_1 As String, PVAR_SUCHFELD_2 As String, PVAR_FORMFELD_2 As String) As String

HTH
MK
Bitte warten ..
Mitglied: xpilzx1
08.07.2010 um 08:36 Uhr
ja das habe ich gemacht, daran liegt es nicht, ich komm einfach nicht weiter an der stelle. aber ich habe so das gefühl als könne mann dieses Objekt AbsForm nicht mit mehreren feldern verwenden. ist das möglich?
Bitte warten ..
Mitglied: xpilzx1
08.07.2010 um 08:49 Uhr
ich hab mal zum ausprobieren folgendes gemacht: test = AbsForm(Suchfeld2).Text Ergebnis Laufzeitfehler 2185 sie können nur dann auswerten wenn das Steuerelement den Focus hat. ABER, test = AbsForm(Suchfeld1) Ergebnis: genau das was der Inhalt der Variable ist, also in diesem fall "tho" weil ich nach namen mit tho filtern will.
Bitte warten ..
Mitglied: thaenhusen
08.07.2010 um 16:57 Uhr
Moin.

Den Fehler kann ich so nicht nachvollziehen.
Dann solltest Du aber vieleicht mit Public Variablen arbeiten.

Ansonsten schick mir mal Deine aktuelle mdb zu, dann schaue ich mal.

Schöne Grüße
MK
Bitte warten ..
Ähnliche Inhalte
Netzwerkgrundlagen
gelöst Switche (Cisco) miteinander bzw. mit Patchfeld verbinden (8)

Frage von M.Marz zum Thema Netzwerkgrundlagen ...

Voice over IP
Zwei TK-Anlagen miteinander für internes VOIP verbinden (4)

Frage von LostUser zum Thema Voice over IP ...

SAN, NAS, DAS
gelöst 2 NAS HA like verbinden (7)

Frage von lenor73 zum Thema SAN, NAS, DAS ...

Windows Server
Windows Server 2012 per LACP mit NAS Verbinden (6)

Frage von Ramset zum Thema Windows Server ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (16)

Frage von SarekHL zum Thema LAN, WAN, Wireless ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...