Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Filterung eines Listenfelds per Kombinationsfelder
zurück: Access Import Formular weiter: Access Abfrage Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Palmsbeach
Erste Accesserfahrungen (auch ein wenig VBA)


Verfasst am:
13. Dez 2012, 09:59
Rufname:

Filterung eines Listenfelds per Kombinationsfelder - Filterung eines Listenfelds per Kombinationsfelder

Nach oben
       Version: Office 2007

Hi,

ich versuche über mehrere Kombinationsfelder ein Listenfeld zu filtern, was mir allerdings bisher nur in einer hardgecodeten Variante gelungen ist. Am Ende soll also die Filterung der Kombinationsfelder gegenbenenfalls aufeinander aufbauen (also Bedingung von Kombi1 UND Bedingung von Kombi2)

Wenn ich eine Filterung über ein Kombifeld versuche (Event AfterUpdate), wird im Listenfeld nichts mehr angezeigt..

Hier der Code eines Kombifelds:
Code:

Dim searchSQL As String
searchSQL = "SELECT [COBIT 5].C5ID, [COBIT 5].[Activity ID], [COBIT 5].[Activity Name] FROM [COBIT 5] WHERE [COBIT 5].Policy=" & Me.GeheZuPolicy
Me.Nameslist.RowSource = searchSQL
Me.GeheZuPolicy.Value = Null
[quote]

Nameslist ist mein zu filterndes Listenfeld
GeheZuPolicy ist das Kombifeld

Bei den Kombifeldern werden lediglich die Werte abgefragt, keine ID´s, es gibt also keine ausgeblendeten Spalten. Habe den Wert der übergeben wird auch mal per Debug.Print ausgeben lassen, da kommt auch der entsprechende String raus.

Vielen Dank für eure Hilfe schonmal,

Herzliche Grüße,
Palme
Palmsbeach
Erste Accesserfahrungen (auch ein wenig VBA)


Verfasst am:
13. Dez 2012, 11:01
Rufname:


AW: Filterung eines Listenfelds per Kombinationsfelder - AW: Filterung eines Listenfelds per Kombinationsfelder

Nach oben
       Version: Office 2007

Problem gelöst!

Es fehlten die Hochkommata -.-

Code:

[...] '" & Me.GeheZuPolicy & "'"


Wie gut, dass man dazu keine Fehlermeldung bekommt....
Trotzdem danke fürs lesen Very Happy

Viele Grüße,
Palme
Palmsbeach
Erste Accesserfahrungen (auch ein wenig VBA)


Verfasst am:
13. Dez 2012, 11:44
Rufname:

AW: Filterung eines Listenfelds per Kombinationsfelder - AW: Filterung eines Listenfelds per Kombinationsfelder

Nach oben
       Version: Office 2007

Eine Frage hätte ich allerdings noch.
Und zwar bräuchte ich einen möglichst performanten Ansatz für die aufeinander aufbauende Filterung, also dass praktisch nach mehreren Bedingungen gefiltert werden kann.

Hat da jemand zufällig was kompaktes?

Viele Grüße,
Palme
Palmsbeach
Erste Accesserfahrungen (auch ein wenig VBA)


Verfasst am:
13. Dez 2012, 12:40
Rufname:


AW: Filterung eines Listenfelds per Kombinationsfelder - AW: Filterung eines Listenfelds per Kombinationsfelder

Nach oben
       Version: Office 2007

Okay habe hier nach etwas Recherche was Brauchbares gefunden und entsprechend für mich angepasst. Die Prozedur rufe ich dann also in der AfterUpdate-Prozedur eines jeden Filterkombinationsfeldes auf Smile
Für alle, die dasselbe Problem haben hier der Code:
Code:

Public Sub ListenfeldFiltern()
'Zähler, der die Anzahl der in die Filterung eingeschlossenen Kombinationsfelder speichert
Dim kombiCounter As Integer, i As Integer

Dim filterSQL As String

Static bedingung(1 To 4)

kombiCounter = 0

'Prüfung ob die 4 Kombinationsfelder leer sind oder nicht und entsprechend den SQL-String aufbauen

If Not IsNull(Forms!frmAuswahl!GeheZuDomain) Then
    kombiCounter = kombiCounter + 1
    bedingung(kombiCounter) = "[COBIT 5].Domain ='" & Forms!frmAuswahl!GeheZuDomain & "'"
    Debug.Print bedingung(1)
End If

If Not IsNull(Forms!frmAuswahl!GeheZuPolicy) Then
    kombiCounter = kombiCounter + 1
    bedingung(kombiCounter) = "[COBIT 5].Policy ='" & Forms!frmAuswahl!GeheZuPolicy & "'"
    Debug.Print bedingung(2)
End If

If Not IsNull(Forms!frmAuswahl!GeheZuGuideline) Then
    kombiCounter = kombiCounter + 1
    bedingung(kombiCounter) = "[COBIT 5].Guideline ='" & Forms!frmAuswahl!GeheZuGuideline & "'"
    Debug.Print bedingung(3)
End If

If Not IsNull(Forms!frmAuswahl!GeheZuCriticality) Then
    kombiCounter = kombiCounter + 1
    bedingung(kombiCounter) = "[COBIT 5].[Criticality from IKS view] ='" & Forms!frmAuswahl!GeheZuCriticality & "'"
    Debug.Print bedingung(4)
End If

Select Case kombiCounter

 Case 0
 MsgBox ("Nichts gefunden")
 Exit Sub
 
 Case 1
 filterSQL = bedingung(1)

 Case Else
 filterSQL = bedingung(1)
 For i = 2 To kombiCounter
 filterSQL = filterSQL & " AND " & bedingung(i)
 Next
 
End Select
 
 filterSQL = "SELECT [COBIT 5].C5ID, [COBIT 5].[Activity ID], [COBIT 5].[Activity Name] FROM [COBIT 5] WHERE " & filterSQL & ";"
 Debug.Print filterSQL
 Forms!frmAuswahl!Nameslist.RowSource = filterSQL

End Sub


Viele Grüße,
Palme
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Fehlerhafte Filterung 1 Gulsnick 398 19. Apr 2007, 06:29
blicki Fehlerhafte Filterung
Keine neuen Beiträge Access Tabellen & Abfragen: Zählen per Aktualisierungsabfrage 5 Globber 794 15. Apr 2007, 10:37
KlausMz Zählen per Aktualisierungsabfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Wie verbinde ich Kombinationsfelder 1 derschlager 690 19. Feb 2007, 12:42
blicki Wie verbinde ich Kombinationsfelder
Keine neuen Beiträge Access Tabellen & Abfragen: Automatische Filterung (länglich) 5 dieselross 608 12. Feb 2007, 22:08
derArb Automatische Filterung (länglich)
Keine neuen Beiträge Access Tabellen & Abfragen: Access Höhe eines Rechteck per VBA Code regulieren 2 Gast1 1835 30. Dez 2006, 16:13
Gast Access Höhe eines Rechteck per VBA Code regulieren
Keine neuen Beiträge Access Tabellen & Abfragen: Per Dropdownliste neue Sätze anlegen? 1 Gast 689 28. Nov 2006, 10:18
GJ Per Dropdownliste neue Sätze anlegen?
Keine neuen Beiträge Access Tabellen & Abfragen: Per Abfrage Zeilenwerte aus einer Tabelle in mehren Spalten 2 missionhro 806 24. Jul 2006, 12:13
missionhro Per Abfrage Zeilenwerte aus einer Tabelle in mehren Spalten
Keine neuen Beiträge Access Tabellen & Abfragen: Export per VBA 1 chris1337 718 09. Mai 2006, 15:39
Nouba Export per VBA
Keine neuen Beiträge Access Tabellen & Abfragen: OLE-Objekt per VBA verknüpfen 8 chris1337 9666 13. Apr 2006, 16:22
chris1337 OLE-Objekt per VBA verknüpfen
Keine neuen Beiträge Access Tabellen & Abfragen: per Abfrage gleich 50 Datensätze anfügen? 1 Nicole_Mehnert 791 03. Apr 2006, 19:25
Nouba per Abfrage gleich 50 Datensätze anfügen?
Keine neuen Beiträge Access Tabellen & Abfragen: Per SQL-Befehl mehrere Datensätze 'insert'en 1 SPIce 2327 16. März 2006, 21:18
jens05 Per SQL-Befehl mehrere Datensätze 'insert'en
Keine neuen Beiträge Access Tabellen & Abfragen: Duplikate löschen per Abfrage 2 DanielW 6779 21. Sep 2005, 15:51
DanielW Duplikate löschen per Abfrage
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Forum