Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Mal wieder eine Filterung per Kombinationsfeld

Begonnen von xoius, März 13, 2020, 13:29:17

⏪ vorheriges - nächstes ⏩

xoius

Hallo zusammen,

ich probiere mich nun schon seit zwei Tagen ramdösig und muss euch nun doch um Hilfe bitten:

Ich habe ein HF "formODOverview" bei dem im Formularkopf das "Kombinationsfeld13" sitzt. Wählt man etwas aus, purzelt dabei eine Zahl heraus.

Nun möchte ich im (Endlos-)Unterformular "ufoProduktenachBetreuer" filtern. Dort sollen nur die Datensätze angezeigt werden, bei denen "ZugeteilterPM" oder "ZugeteilterPV" gleich der Zahl aus dem Kombifeld ist.

Also habe ich beim Kombifeld als Ereignis nach Aktualisierung folgendes Sub angelegt:


Private Sub Kombinationsfeld13_AfterUpdate()
If Not IsNull(Me.Kombinationsfeld13) Then
Me.Filter = "ZugeteilterPMID = " & Me.Kombinationsfeld13
Me![ufoProduktenachBetreuer].Form.Filter = Me.Filter
Me![ufoProduktenachBetreuer].Form.FilterOn = True
End If
End Sub


Wie ihr seht habe ich erstmal klein angefangen und mir nur "ZugeteilterPM" hergenommen. Sobald ich das HF starte wird mir angezeigt, dass etwas gefiltert wird. Das sollte ja eigentlich nicht passieren, weil das Kombifeld ja noch auf Null steht. Zudem passiert rein gar nichts, wenn ich etwas im Kombifeld auswähle.

Wo ist mein Fehler?

MzKlMu

Hallo,
eher so:
Private Sub Kombinationsfeld13_AfterUpdate()
If Not IsNull(Me.Kombinationsfeld13) Then
     Me.Filter = "ZugeteilterPMID = " & Me.Kombinationsfeld13
     Me.FilterOn = True
End If
End Sub
Gruß Klaus

xoius

Vielen Dank für den Tipp, aber leider bleibt es beim gleichen Problem. Ich habe die Datenbank mal angehängt. Sind nur wenige Testdaten drin. Bitte sei doch so lieb und wirf mal einen Blick hinein.

MzKlMu

Hallo,
bei der Filerung des Ufos aus dem Hafo muss der komplette Bezug auf die Namen der Formulare verwendet werden. Die Prüfung auf Null ist im Ereignis "Nach Aktualisierung" auch nicht notwendig. Da kann nix NULL sein.
So sollte das klappen:
Private Sub Kombinationsfeld13_AfterUpdate()
     Forms!formODOverview!ufoProduktenachBetreuer.Form.Filter = "ZugeteilterPMID = " & Me.Kombinationsfeld13
     Forms!formODOverview!ufoProduktenachBetreuer.Form.FilterOn = True
End Sub

Siehe hierzu:
http://www.donkarl.com/faq/FAQ4Formulare.htm#4.2
Gruß Klaus

xoius

Du hast Recht mit der Aussage, dass da nix Null sein kann. Leider funktioniert es aber noch immer nicht. Sobald ich "formODOverview" öffne ist der Filter automatisch aktiviert...scheint aber keinerlei Verbindung mit dem Kombifeld zu haben. Hab ich an anderer Stelle vielleicht aus Versehen etwas falsch eingestellt? Das ist doch wie verhext :)

DF6GL

Hallo,


dies funktioniert:


Private Sub Kombinationsfeld13_AfterUpdate()

If Not IsNull(Me.Kombinationsfeld13) Then
Me!ufoProduktenachBetreuer.Form.Filter = "ZugeteilterPMID = " & Me.Kombinationsfeld13
Me!ufoProduktenachBetreuer.Form.FilterOn = True
End If
End Sub


(ist das gleiche wie bei Klaus, nur dass "ME" als Referenz auf das aktuelle Form verwendet ist).


xoius

Moin ihr Lieben,

vielen Dank für eure Tipps. Ich habe nebenbei noch einen Fehler im "ufoProduktenachBetreuer" gefunden. Dort war aus irgendeinem Grund ein fester Filter eingetragen. Den habe ich gelöscht.
Zu der von Dir bearbeiteten Datenbank: Auf meinem Rechner läuft die Sortierung einwandfrei und ich hätte fast den Sekt geköpft. Aber schicke ich die selbe Datei an meinen Arbeitsrechner...und probiere es dort...geht da wieder nix mit Filterung. Kann sowas  an allgemeinen Einstellungen liegen?

Beaker s.a.

@xoius
ZitatDort war aus irgendeinem Grund ein fester Filter eingetragen. Den habe ich gelöscht.
Das passiert wenn du von der Formularansicht (nachdem der Filter gesetzt wurde)
in die Entwurfsansicht wechselst und den Entwurf speicherst.
Abhilfe schafft eine Zeile in "Form_Load"
Me.Filter = ""
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

DF6GL

Hallo,

die neueren Office-Versionen benötigen korrekte (sinnvolle)  Einstellungen in Optionen/Sicherheitseinstellungen (TrustCenter)  . Dort vornehmlich "vertrauenswürdige Speicherorte"  und aktivierte Makros.



xoius

Wow, da habe ich wieder etwas gelernt. Sichere Speicherorte kann ich beeinflussen, aber Makros erlaubt mein Arbeitgeber gar nicht. Kann ich das Problem denn trotzdem mit VBA aber dann halt ohne Filter setzen lösen? Ich muss bestimmt den Umweg über eine neue Abfrage gehen oder?

DF6GL

Hallo,

aber Makros erlaubt mein Arbeitgeber gar nicht


Tja, dann überrede den Arbeitgeber, speziell für Access die Makros zuzulassen.  Die DB hast ja Du unter Kontrolle (hoffe ich).