Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

me.filteron

Begonnen von Jonny, Juli 22, 2010, 09:37:50

⏪ vorheriges - nächstes ⏩

Jonny

Guten Morgen,

ich setzte per VBA einen Filter muss aber auch die normale Filterschaltfläche aktiv lassen.

Wenn jetzt jemand den Filter über die Standardschaltfläche entfernt will ich den VBA Filter wieder aktivieren.

Wie kann ich wo abfragen das der Filter deaktiviert ist.

Gruß

Jonny

database

Hallo,

z.B. über eine Schaltfläche im Click-Ereignis


If Me.FilterOn Then
    MsgBox "ja"
Else
    MsgBox "nein"
End If


kannst du feststellen ob der Filter aktiv ist oder nicht.
Statt der MsgBox ein entsprechendes Codestück nach Belieben ausführen...   ;D

HTH

Peter


Jonny

Hallo Peter,

erstmal vielen Dank für die Antwort.

Den If kenne ich schon aber über eine Schaltfläche geht es garnicht.

Der Hintergrund ist:
Jeder User meldet sich an und darf nur ein seinen Bereich arbeiten. Das wird durch den VBA-Filter erreicht.
Jetzt kann er aber selber in den gefilterten Daten weiterfiltern und halt auch den Filter deaktiviern.

Das Problem ist jetzt das er auch DS sieht die ihn nichts angehen.

Was ich suche ist ein Ereignis wo ich den If einsetzen kann.
Bei angewandenten Filter gibt es ja schon aber laut Debuger steht nach ausschalten der FilterOn noch auf True.

Vieleicht hast Du ja eine Idee.

Gruß

Jonny


database

hallo,

ja, bei dem Hintergrund und den Infos ist es klar, dass mit einem Button nichts zu machen ist.

Zitatsteht nach ausschalten der FilterOn noch auf True
...somit würdest du ein Ereignis benötigen welches den Filter (FilterOn) auf False stellt sobald bestimmte Datensätze angezeigt werden.
Wenn das feststellbar wäre - also ein bestimmter angemeldetet Benutzer sieht JETZT unberechtigte Datensätze - KÖNNTE über Form_Current (wird beim Anzeigen von neuen Sätzen oder beim öffnen eines Formulars ... ausgelöst) der Filter zurückgesetzt und neu initialisiert werden.

Mehr kann ich im Moment nicht anbieten :-\

Grüße
Peter

DF6GL

Hallo,

ZitatJeder User meldet sich an und darf nur ein seinen Bereich arbeiten. Das wird durch den VBA-Filter erreicht.

Da würde ich statt Filter die "User-Steuerung" mittels geeigneter Abfrage, die als Datenherkunft für das Form dient, erledigen. Dann kann nur innerhalb der von der durch die Abfrage "vorgefilterten" Datensatzgruppe (Formular-Recordset) nach Belieben weiter per Formular-Filter-Eigenschaft gefiltert werden.

Jonny

Hallo Franz,
erstmal Danke für Deine Antwort,

Eine Abfrage ist nicht ganz so gut geeignet da der Filter recht kompliziert zusammengestellt ist.
Nach dem Motto alle sind gleich aber einige sind gleicher.

Ist aber ein guter Gedankenanstoss.

Als Recordsource nehme ich halt einen sql-string mit entsprechender where Klausel.

Gruß

Johann

DF6GL

Hallo,

naja, mit "Abfrage" meine ich ja in diesem Zusammenhang den SQL-String.   :)

"Als Recordsource nehme ich halt einen sql-string mit entsprechender where Klausel."

genau so ist es richtig, d. h., den SQL-String per VBA zusammenbauen und der Recordsource-Eigenschaft zuweisen.