Neuigkeiten:

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

Mobiles Hauptmenü

Ausgabe eines längeren Textes im Bericht nach Auswahl eines Wertes im Formular

Begonnen von bky, Februar 17, 2020, 11:45:12

⏪ vorheriges - nächstes ⏩

bky

Hallo zusammen,
ich bin neu hier im Forum und habe leider keinen passenden Thread zu meiner Fragestellung gefunden. Falls ich diesen übersehen habe bitte ich um Entschuldigung.
Nun zu meinem Problem: Ich arbeite seit ein paar Tagen mit Access 2019 und versuche autodidaktisch ein Formular mit einem entsprechenden Bericht zu erstellen. Dies ist mir auch größtenteils gelungen, bis auf eine Ausnahme: Im Formular wähle ich einen Eintrag aus einer Liste aus. Im Bericht soll aber nicht der entsprechende Eintrag, sondern eine Erklärung dazu ausgegeben werden. Wenn ich es richtig verstanden habe bezieht sich ein Formular immer auf eine Datensatzquelle, in meinem Fall eine umfangreiche "Haupttabelle". Dort sind für die Spalten "Auswahlmöglichkeiten" und "Erklärtext" noch KEINE Daten eingetragen. Diese möchte ich durch die Auswahl im Formular also erst generieren. Dazu habe ich eine neue Tabelle erstellt, die die Spalten "Auswahlmöglichkeit" und "Erklärtext" enthält. Wähle ich nun im Formular beispielsweise "Auswahlmöglichkeit 1" wird dieser Wert problemlos in die Haupttabelle in die entprechende Spalte übertragen. In die Spalte "Erklärtext" wird jedoch nicht der entsprechende Text übertragen. Hier bleibt das Feld leer. Vermutlich ist das Problem trivial, aber durch meine noch sehr beschränkte Kenntnis unüberwindbar.
Ich bin für jede Hilfe dankbar!
Viele Grüße,
bky

Hondo

Hallo,
möchtest du diese Erklärungen eigentlich ausdrucken?
Falls nicht und das mutmaße ich jetzt mal brauchst du gar kein Bericht sondern zum reinen Anzeigen ist ein Formular besser geeignet.
Die Vorgehensweise ist aber die selbe wie bei einem Bericht. Das Formular hat eine Datenherkunft. Z.B. eine Tabelle oder Abfrage. Dieses muss man in den Eigenschaften des Formulars unter Daten->Datensatzquelle eintragen.
Dann fügt man ein Steuerelement in den Detailbereich des Formulars ein, z.B. ein Textfeld und gibt diesem Textfeld die Information mit welche Daten bzw. welches Feld in der Abfrage oder Tabelle es anzeigen soll.
Eigenschaften->Daten->Steuerelementinhalt Feld auswählen.
Damit jetzt aber beim Öffnen dieses Formulars nicht alle sondern nur 1 gezielter Datensatz ausgewählt wird, muss man das die Datenherkunft des Formulars Filtern bzw. eine Where-Bedingung mitgeben.
Das kann man direkt beim Öffnen machen oder auch bei geöffneten Formularen.

Ersteres funktioniert so
Nach dem Auswählen eines Eintrages z.B. aus einem Listenfeldes wird das 2. Formular geöffnet:
DoCmd.OpenForm "frmFormular2", , , "IDFeld=" & Me.Liste1
Voraussetzung ist, im Listenfeld Liste1 steht als gebundene Spalte ein ID-Feld.

Lade doch mal deine ersten Versuche als Zip-Datei hoch.
Gruß Andreas

bky

Hallo Andreas,
schonmal vielen Dank für deine schnelle Antwort! Der Bericht muss tatsächlich ausgedruckt werden, da es ein Dokument zur Qualitätssicherung in meiner Firma werden soll, d.h. es muss auch in ausgedruckter Form vorliegen. Das ist auch der Grund, warum ich im Moment meine aktuelle Datenbank nicht hochladen kann. Es befinden sich bereits Kundendaten darin. Ich müsste die Datenbank erst soweit bearbeiten, dass keine Kundendaten mehr vorhanden sind. Das kann ich leider erst bis morgen bewerkstelligen.
Viele Grüße,
bky

bky

Hallo Andreas,
habe mal eine Beispieldatenbank erstellt und als Zip angehängt. Ich möchte bewerkstelligen, dass durch die Auswahl eines Wertes im Formular frmTesttabelle die entsprechenden Spalten Formularwert und ErklärungBericht in der Tabelle tblGesamtdatenbank mit den passenden Werten (dem Primärschlüssel entsprechend) gefüllt werden. Das soll dazu führen, dass ich im Bericht rptTesttabelle sozusagen den passenden Erklärungstext für den ausgewählten Formularwert bekomme. Es ist dabei wichtig, dass die Spalten der tblGesamtdatenbank mit Werten gefüllt werden, da diese die Grundlage für eine ganze Anzahl von Berichten werden soll.

Ich hoffe, das Problem ist jetzt klarer und schonmal vielen Dank im voraus!

Viele Grüße,
bky

Hondo

Hallo,
naja, damit kann man nichts anfangen, hast ja gar nichts umgesetzt von dem was ich geschrieben habe.
Feldnamen in Tabellen sollen sinnvoll sein. Daher ist das Feld welches als Autowert auch den Primärschlüssel darstellt so zu benennen: "ID". Damit machst du dir das Leben leichter. Fremdschlüssel, also Feldwerte die als ID in anderen verbundenen Tabellen vorkommen sind entsprechend zu benennen: bsp: BauwerkID, FahrzeugID, PersonenID etc.
Du musst dir vorallem über deine Datenstruktur im klaren werden bevor du mit Formularen/Berichten anfängst, und nicht alles gleichzeitig entwickeln, das geht schief.
Anbei mal eine schnelle Lösung von mir.
Gruß Andreas

bky

Hallo Hondo,
schonmal vielen Dank für deine Mühen! Die Testdatenbank, die ich dir geschickt habe, ist sehr rudimentär und spiegelt leider nicht alle Details der Datenbank wider, die ich gerade bearbeite. Leider konnte ich die Datenbank nicht von Grund auf erstellen, sondern musste die Arbeit eines anderen weiterführen (deshalb auch schon die vorhandenen Kundendaten, normalerweise hätte ich erstmal die Datenbank getestet, bevor ich irgendwelche Daten eintrage). Mein absolutes Unwissen, was Access angeht hat dann sein übriges getan. Inzwischen habe ich auch den Fehler gefunden. Es lag an zwei nahezu gleich benannten Feldern, die ich dann falsch verknüpft habe.

Vielen Dank nochmal!

Viele Grüße,
bky