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, 2263 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 ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(2)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Switche und Hubs
gelöst 2 Switch von HP miteinander verbinden (23)

Frage von Fitzel69 zum Thema Switche und Hubs ...

Windows Server
Entfernte Standorte miteinander verbinden AD und Exchange (8)

Frage von Z006 zum Thema Windows Server ...

Windows Server
gelöst Windows Server 2012 mit Fritzbox per VPN verbinden (13)

Frage von StefanT81 zum Thema Windows Server ...

Switche und Hubs
gelöst 2 VLANs, tragged und mit link aggregation oder Verbinden oder einzeln (1)

Frage von ADORSE zum Thema Switche und Hubs ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (10)

Frage von 1410640014 zum Thema Backup ...