!Bestimmten! Bericht öffnen !?

  • geschlossen
  • Access

  • yannikst
  • 1912 Aufrufe 4 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • !Bestimmten! Bericht öffnen !?

    Hallo Leute !

    Ich habe eine Access-Datenbank mit unter anderem 2 Tabellen.

    Aus Datenschutzgründen (Arbeit) mache ich hier nur Beispiele...

    - Tabelle 1: Schlüssel
    - Tabelle 2: Mitarbeiter
    - Formular: Schlüsselkartei

    Jetzt soll aus der Schlüsselkartei per Button der Bericht zum gerade ausgewählten Mitarbeiter gedruckt werden. Hierfür habe ich schon über Makros usw. irgednwas zusammengebastelt, aber der öffnet immer automatisch den ERSTEN Bericht... Wie kann ich es durch Parameter etc erreichen, dass er genau den Bericht zum gerade gewählten Mitarbeiter (Textfeld im Formular) anzeigt in der Druckvorschau ?
  • Hallo!

    Du kannst in den Berichtseigenschaften einen Filter definieren:
    z.B. MitarbeiterNr = Formulare!Mitarbeiterformular!MitarbeiterNr
    Achtung: in dem Fall nicht vergessen die Eigenschaft Filter aktiv auf Ja zu setzen!

    Wenn du den Bericht per Makro öffnest kannst du auch in der Aktion ÖffnenBericht die angezeigten Datensätze einschränken, indem du in der Eigenschaft Bedingung genau obigen Ausdruck hinschreibst.

    Und schlußendlich, falls dein Bericht auf einer Abfrage basiert kannst du dort als Kriterium in der Spalte, die den Mitarbeiter eindeutig identifiziert (normalerweise eben MitarbeiterNr), ebenfalls = Formulare!Mitarbeiterformular!MitarbeiterNr
    reinschreiben.

    Also Möglichkeiten gibt's genug (von VBA noch gar nicht gesprochen) - hoffe es ist etwas passendes dabei.

    Gruss
  • Habe ich doch geschrieben -> Eigenschaft Bedingung! (Sorry eigentlich sind das Argumente ...)

    Wenn du im Makro Fenster oben die Aktion ausgewählt hast erscheinen unten die dazugehörigen Argumente wie z.B. Berichtsname (wo du den zu öffnenden Bericht angibst) oder eben auch Bedingung.

    Ciao

    EB
  • Hallo,

    alternativ hätte ich noch folgende Möglichkeiten:

    direkt im Bericht bei der Eigenschaft 'Filter' "[MitarbeiterNr] = Formulare!Mitarbeiterformular!MitarbeiterNr" eingeben und die eigenschaft 'Filter aktiv' auf 'ja' setzen.

    oder du gibst beim Button für den Druck beim Ereignis 'Beim Klicken' folgenden Code ein:

    -------------
    Private Sub Befehl1_Click()
    'bei neuem Datensatz, würde Aufruf zu Fehler führen
    If Not Me.NewRecord Then

    DoCmd.OpenReport "Berichtsname", acViewPreview, , "Mitarbeiter=" & Me.Mitarbeiter

    'wenn das Mitarbeiterfeld ein reines Textfeld ist, dann statt der obigen Zeile:
    'DoCmd.OpenReport "Berichtsname", acViewPreview, , "Mitarbeiter='" & Replace(Me.Mitarbeiter, "'", "''") & "'"

    End If
    End Sub
    -----------------

    lg Bertl