online 1
gast (50)

/ Forum / Datenbanken

DatenbankenDatenbanken

Fragevon solu vom 07.11.2019, 13:28 Options

umfangreicher Bericht mit Access2000 erstellen

Hallo,
ich habe eine Datenbank mit ca. 50.000 Datensätze auf der Basis von ca. 7 Tabellen. Eine Tabelle bildet in der Regel die Haupttabelle mit 1:n-Beziehungen. Allerdings bestehen die Tabellen nur aus Kennziffern. Ca. 250 Tabellen beinhalten jeweils die Kennziffer und einen entsprechenden langschriftlichen Text.

Jetzt kommt das Problem. Ich wollte eine oder mehrere Abfragen erstellen mit den benötigten Daten. Leider scheint das aber seine Grenzen zu haben. Denn eine Bericht mit den langschriftlichen Begriffen ist ab einer Zahl von ca. 25 Tabellen(-verknüpfungen) nicht mehr möglich.

Gibt eine Lösung dazu. Alle 255 Begriffe sollen in einen Bericht.
Danke vorweg.


Antwort schreiben

Antwort 1 von Teddy7 vom 08.11.2019, 08:32 Options

Verstehe ich das richtig ? Du hast 250 Tabellen, in denen jeweils ein Datensatz steht ???? Muß das sein ?
Üblicherweise macht man sowas in einer Tabelle:
Satzart (001 - 250); Kennziffer; Text

Über eine Abfrage kann man den gewünschten Text bekommen, indem man die Satzart als Kriterium setzt.

Alle Deine Probleme würden dadurch gelöst.

Gruß
Teddy

Antwort 2 von solu vom 08.11.2019, 10:08 Options

Ich möchte mich präzisieren. Anbei ein Beispiel nur bezogen auf die Haupttabelle (ca. 50.000 lfd. Nummern)und die ca. 250 Referenztabellen:
***
Tabelle Haupttabelle
lfd. Nr. ==> 1,2,3,4,... bis 50.000
Weinsorte_Nr ==> 1,2,3...
Lieferant_Nr ==> 1,2,3,4,...
*
Referenztabelle
Weinsorte_NR ==> 1,2,3,...
Weinsorte ==> Riesling, Burgunder, ...
*
Referenztabelle
Liefernant_NR ...
...
***

Ich möchte jetzt, dass ich eine Tabelle erhalte (bzw. im Anschluss einen Bericht erzeuge) in der nur die langschriftliche Bezeichnung steht:
***
Tabelle Haupttabelle
lfd. Nr. ==> 1,2,3,4,...
Weinsorte ==> Riesling, Burgunder, ...
Lieferant ==> ...
***

Leider klappt dies nur bis ca. 20-25 Referenztabellen als Abfrage und entsprechender Festlegung der Beziehungen.

Freue mich über jede Antwort.
Gruß
Solu

Antwort 3 von solu vom 08.11.2019, 10:20 Options

sorry, noch eine Ergänzung:

ich möchte im Bericht jeweils nur eine lfd. Nummer darstellen.
Also ca. 250 langschriftliche Texte. Ich denke, dass dies auf ca. 6 bis 7 Din-A-4 Seiten passt.

Gruß
Solu

Antwort 4 von RalfH vom 08.11.2019, 12:03 Options

Hallo,
Ui, wer möchte oder kann denn soviele Daten auf einmal verarbeiten ?
Das ganze ist doch total Überfrachtet und bringt keinen Mehrwert.

Weniger ist manchmal mehr !

Welche Fragenstellung beruht den auf dem Entwurf für einen Bericht?
Zum Beispiel welcher Lieferant liefert welche Weine ?
Gruß RAlf

Antwort 5 von Teddy7 vom 09.11.2019, 09:01 Options

Um die Diskussion mal abzuküzen:
Du kannst Im Bericht mit ungebundenen Feldern arbeiten, die im Ereignis "beim Formatieren" des entsprechenden Bereichs gefüllt werden mit VBA-Code.
Das kann z.B. so aussehen:
dim suche as string
suche = 'WeinId = ' & WeinKz
DWeinart = dlookup("Weinart", "tblWein", suche)

dabei sei WeinId der Feldname der lfdnr in der Tabelle tblWein und Weinart der Feldname des gewünschten Textfeldes.

Sollte das Schüsselfeld ein string (Text) sein, dann muß es zusätzlich in Hochkommas gesetzt werden.

////////
250 Tabellen sind trotzdem ein Unding. So teuer ist Speicherplatz nicht mehr. Da kannst Du ruhig statt der Kz auch mal den Text im Datensatz speichern.
////////
Gruß
Teddy

Antwort 6 von solu vom 09.11.2019, 10:47 Options

Hi Teddy7,
ich habe versucht die Anleitung umzusetzen. Leider klappt es nicht. Also, ich habe einen Bericht auf Grundlage der Haupttabelle (mit einer lfd. Nr.) mit dem Assistenten erzeugt. Die Felder enthalten jetzt nur Kennzahlen. Nun habe ich versucht eins dieser Textfelder nach deinen Anweisungen auf die Referenz zu beziehen .

Muß ich dieses Textfeld jetzt in ein anderes Ereignisfeld überführen?
Wo finde ich denn das Eregnis "beim formatieren"?
Was meinst du in deinem Beispiel mit "WeinKz"
*
Zum Hintergrund der Datenbank möchte ich noch erzählen, dass die Daten seit ca. 20 Jahren gesammelt werden. Wir haben uns nun für eine neue Software mit einer ganz anderen Logik entschieden. Das heißt, dass wir die Daten nur zu ca. 55% und nicht 1:1 in die neue Datenbank migrieren können. Um aber weiterhin eine Möglichkeit zu haben die Altdaten komplett auszudrucken (je lfd.Nr.) würden wir dies gerne
über Access realisieren.
*
Danke schön!!!
*
Gruß
Solu

Antwort 7 von Teddy7 vom 09.11.2019, 11:49 Options

Also - Du hast einen Bericht erstellt mit den Kennzahlfeldern.
Soweit so gut. Jetzt fügst Du in den Bericht zusätzlich UNGEBUNDENE Felder ein für die Texte - z.B. nennst Du ein ungebundenes Textfeld "DWeinart"
(die Kennzahlenfelder sind ja an das Kennzahlenfeld in´m Datensatz gebunden und können deshalb nicht verwendet werden).
Im Bericht gibt es Bereiche - z.B. der Detailbereich.
Wenn Deine Daten im Detail-Bereich angelistet werden dann klick rechts auf den Bereich - Du findest in den Eigenschaften u.A. das Ereignis beim Formatieren. Wenn Du auf diese Zeile klickst erscheint recht ein Icon mit 3 Punkten. Da klickst Du drauf und wählst Code-generator aus.
Es kommt dieses Bild:
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)

End Sub

In den Zeile zwischen Private Sub und End Sub kann man jetzt VBA-Code schreiben.
Da definiert man sich eine Text-Variable (nur wegen der Übersichtlichkeit):
dim suche as string
Füllt diese mit den Suchkriterien:
suche = 'WeinId = ' & WeinKz
Sucht sich dann in der Tabelle den entsprechenden Wert und füllt ihn in ein ungebundenes Textfeld:
DWeinart = dlookup("Weinart", "tblWein", suche)

Das machst Du analog für alle 250 Textfelder. Die Ausführung des Berichts dauert dann etwas länger als üblich, aber das sollte im akzeptablen Bereich liegen.
Gruß
Teddy

Antwort 8 von Solu vom 09.11.2019, 13:43 Options

Hi Teddy7,

leider noch kein Erfolg.

Also, ich habe ein "ungebundenes Textfeld" erzeugt und bin über die rechte Maustaste auf "Eigenschaften" gegangen. Der Reiter "Ereignis" ist nur grau. Angaben werden nicht angezeigt. Unter dem Reiter "Alle" ist der Menüpunkt "beim formatieren" nicht vorhanden.

???

Gruß
Solu

Antwort 9 von Teddy7 vom 09.11.2019, 17:05 Options

Rechtsklick auf Detailbereich - Eigenschaften - Reiter Ereignis

Antwort 10 von solu vom 23.11.2019, 08:42 Options

Danke Teddy7,

ich habe es heute noch mal versucht und es hat geklappt. Irgendwie hatte ich ein Brett vor dem Kopf. Also, herzlichen Dank!

Solu

Ähnliche Themen

Access berichte filter
Kjatar  17.01.2007 - 508 Hits - 7 Antworten

Access Bericht mit mehreren Abfragen
golo108  19.01.2007 - 293 Hits - 7 Antworten

Bericht aus Recordset erstellen
Vossibaer  15.08.2007 - 96 Hits - 2 Antworten

summe in accessbericht aus felder mit formeln
nathi  21.02.2008 - 95 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026