Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Datensatz aus Formular in einen Bericht übergeben

Begonnen von fegefeuer, April 05, 2018, 13:43:49

⏪ vorheriges - nächstes ⏩

fegefeuer

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??

DF6GL

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.

fegefeuer

Hallo DF6GL,

hier eine Übersicht der Tabellen und Beziehungen.

DF6GL

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....)






fegefeuer

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.

Beaker s.a.

Zitat-- Beziehungen mit referenzieller Integrität einstellen.      -> ??? ?
Da poppt doch ein Assistent auf, wenn du eine Beziehung anlegst; -
klickst du den einfach weg?
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)

Lachtaube

@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
Grüße von der (⌒▽⌒)

fegefeuer

Ja, genau Lachtaube,

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


MzKlMu

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.
Gruß Klaus

fegefeuer

Hallo Klaus,

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

Kannst Du mir da ggf. Hilfestellung leisten?

DF6GL

Hallo,

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