Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: fegefeuer am April 05, 2018, 13:43:49

Titel: Datensatz aus Formular in einen Bericht übergeben
Beitrag von: fegefeuer am April 05, 2018, 13:43:49
Hallo Access-Freunde,

ich habe ein kleines Problem. Ich habe einen Tabelle, ein Formular und mehrere Berichte erstellt.

Ich möchte jetzt aus dem Formular mittels eines Buttons verschiedene Berichte ausdrucken können,
jeweils in Abhängigkeit zum Empfänger des Berichts.

Die Tabelle hat folgende Felder:
siehe Felder t1 & Felder t2
Das Formular sieht so aus:
siehe AAZ+VAO

Über das Feld Gemeinde wähle ich den Empfänger des Berichts aus (die Daten sind in der Tabelle Gemeinden abgelegt)
Über das Feld ASP wähle ich den zuständigen Ansprechpartner in unserem Haus aus (die Daten sind in der Tabelle Mitarbeiter abgelegt)

Wenn ich jetzt alle Daten erfasst habe und den Datensatz drucken will, wird der aktuelle Datensatz 37 mal ausgedruckt.
siehe AAZ-MM

Ich möchte aber immer nur die aktuelle Seite ausgedruckt bekommen.
Ich habe die Tasten im Formular mit einem Macro belegt bei dem die Auftrags-ID abgefragt wird.
Dann wird folgendes ausgedruckt:
siehe Ausdruck AAZ+VAO

Ich bin mit meinem Latein am Ende, vielleicht weiß jemand von Euch Rat??
Titel: Re: Datensatz aus Formular in einen Bericht übergeben
Beitrag von: DF6GL am April 05, 2018, 15:33:19
Hallo,

zeige mal den Screenshot des Beziehungsfensters (alle Tabelle hinzugefügt und soweit aufgezogen, dass alle Feldnamen erkennbar sind.  Ich befürchte, es liegt einiges im Argen bei der Beziehungssituation und dem Tabellenaufbau (Normalisierung).


Formulare sind für dieses Problem zunächst völlig unerheblich.


Zudem sollte dringend auf Sonderzeichen und Leerzeichen in Feldnamen verzichtet werden.
Titel: Re: Datensatz aus Formular in einen Bericht übergeben
Beitrag von: fegefeuer am April 05, 2018, 16:38:21
Hallo DF6GL,

hier eine Übersicht der Tabellen und Beziehungen.
Titel: Re: Datensatz aus Formular in einen Bericht übergeben
Beitrag von: DF6GL am April 05, 2018, 17:13:45
Hallo,

um den aktuellen DS mit Hilfe eines Berichtes auszudrucken, ist die Übergabe (Filterung) nach dem ID-Wert erforderlich:


Docmd.OpenReport "rpt_DeinBestimmterBericht",,,"[Auftrags-id] = " & Me![Auftrags-ID]

Wobei die Abfrage für den Bericht alle erforderlichen Tabellen verknüpfen muss.


ToDo:

-- Sonder- und Leerzeichen (überall!) eliminieren.
-- Reservierte Wörter vermeiden   (--> "Name")
-- Beziehungen mit referenzieller Integrität einstellen.
-- Tabelle "VAO & AAZ"  normalisieren--> Auflistungsfelder in externe Tabellen auslagern, "Strassenbestandteile"  (Radweg, Gehweg, Pflaster,usw) in passende Tabellen auslagern, usw...

-- bessere/eindeutige Benamsung verwenden ("ID" in "Mitarbeiter" --> "MAID" ,  "Mitarbeiter" ---> tblMitarbeiter, "Empfänger" als Referenz zu "Ort" missverständlich, 

-- Primärschlüsselfeld in "Gemeinden" fehlt ("Ort" ist kein PS und als Textfeld sowieso ungeeignet, usw....)





Titel: Re: Datensatz aus Formular in einen Bericht übergeben
Beitrag von: fegefeuer am April 05, 2018, 18:16:24
Hallo DF6GL,

ich habe jetzt alle Feld-Bezeichnungen und Beziehungen überarbeitet.
anbei die Übersicht der Beziehungen neu.

Gebe ich die Bedingung zur Filterung im Formular oder im Bericht selbst ein?

zu deiner ToDo-Liste :

-- Sonder- und Leerzeichen (überall!) eliminieren.             -> Erl.
-- Reservierte Wörter vermeiden   (--> "Name")                -> Erl.
-- Beziehungen mit referenzieller Integrität einstellen.      -> ??? ?
-- Tabelle "VAO & AAZ"  normalisieren--> Auflistungsfelder in externe Tabellen auslagern, "Strassenbestandteile"  (Radweg, Gehweg, Pflaster,usw) in passende Tabellen auslagern, usw...                                                 -> Erl.
-- bessere/eindeutige Benamsung verwenden ("ID" in "Mitarbeiter" --> "MAID" ,  "Mitarbeiter" ---> tblMitarbeiter, "Empfänger" als Referenz zu "Ort" missverständlich,                                                                -> Erl.
-- Primärschlüsselfeld in "Gemeinden" fehlt ("Ort" ist kein PS und als Textfeld sowieso ungeeignet, usw....)       -> Erl.
Titel: Re: Datensatz aus Formular in einen Bericht übergeben
Beitrag von: Beaker s.a. am April 05, 2018, 18:37:41
Zitat-- Beziehungen mit referenzieller Integrität einstellen.      -> ??? ?
Da poppt doch ein Assistent auf, wenn du eine Beziehung anlegst; -
klickst du den einfach weg?
Titel: Re: Datensatz aus Formular in einen Bericht übergeben
Beitrag von: Lachtaube am April 05, 2018, 19:17:40
@Ekkehard,

die Beziehungen resultieren wohl eher aus der Verwendung des Nachschlageassistenten.

@fegefeuer,

siehe https://dbwiki.net/wiki/Access_Anf%C3%A4nger:_Die_Nachteile_von_Nachschlagefeldern
Titel: Re: Datensatz aus Formular in einen Bericht übergeben
Beitrag von: fegefeuer am April 05, 2018, 20:00:22
Ja, genau Lachtaube,

den Nachschlage-Assistenten nutze ich um die Verbindung zu einer anderen Tabelle herzustellen.

Titel: Re: Datensatz aus Formular in einen Bericht übergeben
Beitrag von: MzKlMu am April 05, 2018, 20:07:58
Hallo,
Zitatden Nachschlage-Assistenten nutze ich um die Verbindung zu einer anderen Tabelle herzustellen.
wirf die wieder raus, die machen nur Probleme, besonders dem Anfänger. Siehe auch Link von Lachtaube.
Und die sogenannten Mehrwertfelder (wo man Haken setzen kann) wirfst Du besser auch raus und legst ordentliche n:m Beziehungen an.
Titel: Re: Datensatz aus Formular in einen Bericht übergeben
Beitrag von: fegefeuer am April 05, 2018, 20:12:45
Hallo Klaus,

so gut, das ich das Manuell könnte, kenne ich mich mit Access nicht aus!

Kannst Du mir da ggf. Hilfestellung leisten?
Titel: Re: Datensatz aus Formular in einen Bericht übergeben
Beitrag von: DF6GL am April 06, 2018, 16:43:31
Hallo,

öffne die Tabelle in der Entwurfsansicht, markiere das entspr. Feld und stelle unter Reiter "Feldeigenschaften/Nachschlagen" auf "Textfeld" um...