Berichte und Filter bei MS Access 2000

Hallo,

kennt jemand eine einfache Möglichkeit, in Access 2000 bei einem Formular über einen Formularbasierten Filter Daten auszufiltern und das Ergebnis dann als Grundmenge für Berichte zu verwenden, ohne den Filter jedesmal abspeichern und im Bericht dann eine andere Datenquelle wählen zu müssen.

Gruß

Thomas

Theoretischer Ansatz
Hallo auch,
Ohne das jemals gemacht zu haben…

Das Formular hat ne Datenbasis RecordSource die sich auslesen lässt.
(z.B. in eine Variable im Formular mit varMeineVariable=Me.RecordSource)

Der Trick wäre die RecordSource des Formulars auszulesen und als RecordSource des Berichts zu verwenden, also in etwa:

Private Sub Report_Open(Cancel As Integer)
Me.RecordSource=Forms!MeinFormularHalt.RecordSource
End Sub

Hoffe es hilft weiter
Viel Spass und Erfolg
Stefan

Hallo Stefan,

so ganz hat das leider noch nicht funktioniert, aber dafür, mich auf eine Idee zu bringen, hat es gereicht. Ich muß ja nur den Filter in der Variablen speichern und beim Öffnen des Berichts diesen Filter wieder setzen. Allerdings habe ich noch ein Problem, wie ich öffntliche Variable anlege, die dann von überall aus her erreichbar ist.

Gruß

Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

na prima und nun weiter
Hallo Thomas,

so ganz hat das leider noch nicht funktioniert, aber dafür,
mich auf eine Idee zu bringen, hat es gereicht.

Na super, das hatte ich gehofft (Bewertungspunkte kannst du unten rechts vergeben)

Ich muß ja nur
den Filter in der Variablen speichern und beim Öffnen des
Berichts diesen Filter wieder setzen.

so ungefähr hatte ich mir das vorgestellt.

Allerdings habe ich noch
ein Problem, wie ich öffntliche Variable anlege, die dann von
überall aus her erreichbar ist.

das machst du so:

  1. ein Modul anlegen (beliebig benennen z.B. „mdlMeineVariable“)
  2. da rein kommt:
    -------------schnipp--------------

Global gvarMeineVariable As String

-------------schnapp---------------
…wobei gvarMeineVariable ein beliebiger Ausdruck ist.

Noch n Tipp:
die Variable in ner Fuktion auslesen erspart manchen Ärger mit dem einbinden in SQL Strings. (die Sache mit den &_zeichen und den '-Zeichen je nach dem…)
das ginge dann so:
wieder ins Modul:
-------------schnipp--------------

Function gfMeineVariableAuslesen()
gfMeineVariableAuslesen=gvarMeineVariable
End Function

-------------schnapp---------------

Im Ergebnis kommt dann sowas raus wie:

Me.RecordSource=gfMeineVariableAuslesen()
oder halt (da bin ich mir unsicher was geht)
Me.RecordSource=gvarMeineVariable
oder
Me.RecordSource=" & gvarMeineVariable & "
oder
Me.RecordSource=’" & gvarMeineVariable & "’

Hoffe es hilft weiter ??
Viel Spass und Erfolg
Stefan

1 Like