1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Access Frage: Bericht

Discussion in 'Office-Programme' started by gilldex, Sep 14, 2006.

Thread Status:
Not open for further replies.
  1. gilldex

    gilldex Byte

    Hallo zusammen
    Ich habe in Access eine Datenbank erstellt mit einem Formular und einem Bericht. In dem Formular gibt man die Kontakte (Person, Firma, Anfrage) ein die man im Laufe des Tages hatte. Ende der Woche kann man dann einen Bericht ausdrucken mit allen diesen Angaben darauf. Das ist schön und gut aber wenn ich die Datenbank jetzt 4 Monate so führe dann wird mein Bericht immer von Anfang bis Ende gedruckt. Also die ganzen 4 Monate.

    Jetzt meine Frage: Kann ich das irgendwie selektionieren im Stil „Drucke Von: Bis:“? Also dass man das Start und das Enddatum des Berichts eingibt?

    Hoffe mal ihr wisst was ich meine und danke schon mal!
     
  2. Sailor Bill

    Sailor Bill Halbes Megabyte

    Hi,

    da mußt Du eine Abfrage mit dem gewünschten Zeitraum erstellen.
    Aus dieser Abfrage generierst Du dann den Bericht.
     
  3. Hascheff

    Hascheff Moderator

    Hi,
    meine Erklärung bezieht sich auf Access 2000.
    in der von Sailor Bill vorgeschlagenen Abfrage musst du in der Spalte Datum als Kriterium
    Code:
    >Jetzt()-7
    eingeben, um die letzte Woche zu drucken.
    Wenn du auf SQL-Ansicht umschaltest, erhältst du die englische Darstellung, die brauchst du später noch, wenn du flexibler sein willst.
    Im Formular erstellst du eine Befehlsschaltfläche (achte vorher darauf, dass der Assistent aktiviert ist). Folge dem Ass.
    Im Eigenschaftsfenster der Befehlsschaltfläche wählst du das Register Ereignis. in der Zeile "beim Klicken" klickst du, rechts erscheint "...", draufklicken.
    Im VBA-Editor siehst du eine SUB mit folgendem Inhalt:
    Code:
        Dim stDocName As String
    
        stDocName = "BKontakte"
        DoCmd.OpenReport stDocName, acPreview
    
    füge an die letzte Zeile
    Code:
    , , '(TKontakte.Datum)>Now()-7'
    an.
    Inhaltlich kann es etwas anders aussehen, siehe o.g. SQL-Darstellung.
    Nun kannst du in der Abfrage das Kriterium wieder löschen.
    Der Berichtszeitraum lässt sich flexibler gestalten, indem ein Datum aus einem Textfeld des Formulars geholt wird, das kann die Abfrage nicht. Das Formular kann auch das letzte Druckdatum in einem zusätzlichen Feld der Tabelle speichern.
     
  4. gilldex

    gilldex Byte

    Danke für eure Antworten ,das hat mich schonmal weitergebracht. Ist es möglich dass bevor der Bericht gedruckt wird ein Fenster aufgeht das das Anfangdatum und danach eines welches das Enddatum abfragt? Das wäre für mich dann der Idealfall.

    Danke
     
  5. Hascheff

    Hascheff Moderator

    Dafür gibt es mehrere Möglichkeiten. Hab grad nicht viel Zeit. Auf die Schnelle am einfachsten erklärt ist es die Abfrage mit Parametern zu versehen. In der Spalte Datum schreibst du bei Kriterium
    Code:
    Zwischen [Anfdatum] und [Enddatum]
    Wenn du dann die Abfrage aufrufst (oder wenn der Bericht die Abfrage ausführt), geht für jeden Parameter ein Fenster auf und du kannst die gewünschten Angaben machen.
    Leider funktioniert es noch nicht ganz, Access erkennt nicht das Datumsformat. In der Entwurfsansicht musst du das Dialogfenster "Parameter" aufrufen (Rechtklick in die obere graue Fläche).
    da hast du 2 Spalten: Links gibst du [Anfdatum], darunter [Enddatum] an, recht den datentyp Datum. Jetzt muss es klappen.
    Bequemer wäre aber der Weg über Textfelder im Formular, da können Datumsangaben stehenbleiben. Sag, wenn du das wissen willst.
     
Thread Status:
Not open for further replies.

Share This Page