BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

(gelöst) aus 1 Tabelle 2 Datensätze holen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Dagobert1987
Beiträge: 8
Registriert: Fr 16. Dez 2022, 15:47

(gelöst) aus 1 Tabelle 2 Datensätze holen

Beitrag von Dagobert1987 » Fr 16. Dez 2022, 16:22

Hallo zusammen,

ich habe ein Problem, für eine Datenbank benötige ich zwingend, dass aus einer Tabelle 2 verschiedene Datensätze geholt werden, Rechnung für Kunde_A, Lieferung an Kunde_B. Es ist aber auch Möglich dass Kunde_B die Rechnung bekommt und die Lieferung an Kunde_A geht. Zurzeit sind es 20 Kunden die alle eine Lieferung bzw. eine Rechnung bekommen können. Mehr nicht ausgeschlossen.

Ich könnte natürlich 2 Tabellen mit den gleichen Inhalten erzeugen ist auch die Notlösung aber eigentlich ja nicht der sinn der Sache.

In der Abfrage funktioniert es auch, ist aber umständlich "einzugeben", weil es über die Kunden_ID geht, ist also nicht gerade User freundlich.

Erstelle ich ein Formular mit 2 Listenfeldern (Rechnung an und Lieferung an) kann ich auswählen an wenn geliefert wird und wer die Rechnung bekommt, In dem Formular bekomme ich beim Speichern aber als Error:
---------------------------------------
Fehler beim Einfügen des neuen Datensatzs
firebird_sdbc error:
*Dynamic SQL Error
*SQL error code = -204
*Table unknown
*T_Kunden_1
*At line 1, column 13
caused by
'isc_dsql_prepare'
---------------------------------------

Bisherige Lösungs-Versuche:
1. wenn ich in der Abfrage (A_Rechnungen) beiden Tabellen einen "Namen" gebe , kann ich die Datensätze nicht mehr ändern bzw. auch keine neuen Hinzufügen < Funktioniert also auch nicht.
2. wenn ich die Abfrage neu erstelle geht es bis ich die Abfrage schließe. < Auch kein Dauer Zustand, weil User unfreundlich
3. wenn ich die Daten ("T_Kunden.*") in 2 Abfragen lade ("A_Lieferung" und "A_Rechnung") (immer alle Daten ohne Sortierung / Filter etc. also "T_Kunden.*") kann ich keine neuen Datensätze in die A_Rechnungen erstellen (in den Abfragen aber schon ist also kein Abfragen Problem) < Ist so aber blöd zum Rechnungen schreiben ;)
4. Eine (er 2) Ansichten mit "T_Kunden.*" als Inhalt erzeugt den gleichen Fehler wie 3.

Notlösung:
Wäre halt 2 Tabellen mit dem gleichen Inhalt zu erstellen ist aber für neue Kunden aufwendig und Fehleranfällig ist also wirklich die Notlösung des ganzen.

Könnt ihr mir helfen wo ich den Denkfehler habe?

Danke schon mal.

Patrick
Zuletzt geändert von Dagobert1987 am So 18. Dez 2022, 15:39, insgesamt 1-mal geändert.

F3K Total
Beiträge: 2410
Registriert: So 10. Apr 2011, 10:10

Re: aus 1 Tabelle 2 Datensätze holen

Beitrag von F3K Total » Fr 16. Dez 2022, 16:30

Moin,
zwei Kundentabellen ind definitiv nicht nötig.
Lade deine ggf. verfremdete .odb Datei hier hoch. Dann kann dir geholfen werden. Da die Website .odb nicht akzeptiert, musst du sie entweder in .zip umbenennen oder tatsächlich als .zip packen.

Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

Dagobert1987
Beiträge: 8
Registriert: Fr 16. Dez 2022, 15:47

Re: aus 1 Tabelle 2 Datensätze holen

Beitrag von Dagobert1987 » Fr 16. Dez 2022, 17:06

Alles klar habe ich gemacht. alle Daten sind anonymisiert heißt es muss keinen Sinn machen was bei raus kommt. aber es sollte funktionieren. Zumindest was ich auf die schnelle getestet habe.
Dateianhänge
Kundendatenbank_Für_Forum_TW_ohne Funktion.zip
(171.41 KiB) 84-mal heruntergeladen

F3K Total
Beiträge: 2410
Registriert: So 10. Apr 2011, 10:10

Re: aus 1 Tabelle 2 Datensätze holen

Beitrag von F3K Total » Fr 16. Dez 2022, 17:56

Hi, es ist schwer durch deine "Monsterabfrage" A_Rechnungen durchzusteigen.
Ich denke, du solltest das Listenfeld "Lieferung an" an eine eigene Integer Spalte in der Tabelle T_Rechnungen binden.

Gruß R
Dateianhänge
Kundendatenbank_Für_Forum_TW_ohne Funktion.zip
(172.65 KiB) 81-mal heruntergeladen
Windows 10: AOO, LO Linux Mint: AOO, LO

Dagobert1987
Beiträge: 8
Registriert: Fr 16. Dez 2022, 15:47

Re: aus 1 Tabelle 2 Datensätze holen

Beitrag von Dagobert1987 » Fr 16. Dez 2022, 18:48

F3K Total hat geschrieben:
Fr 16. Dez 2022, 17:56
Hi, es ist schwer durch deine "Monsterabfrage" A_Rechnungen durchzusteigen.
Ich denke, du solltest das Listenfeld "Lieferung an" an eine eigene Integer Spalte in der Tabelle T_Rechnungen binden.

Gruß R
das ist erfollgt einmal wird es an die Zelle "Kunden_ID" und das andere mal an "Für_Kunde_ID" gebunden.

Ich habe mal die "Dekofelder" welche ich nur für den Druck benötige raus geschmissen, vielleicht ist es jetzt besser.
Dateianhänge
Kundendatenbank_Für_Forum_TW_ohne Funktion V2.zip
(167.26 KiB) 85-mal heruntergeladen

F3K Total
Beiträge: 2410
Registriert: So 10. Apr 2011, 10:10

Re: aus 1 Tabelle 2 Datensätze holen

Beitrag von F3K Total » Sa 17. Dez 2022, 10:15

Moin,
das Problem liegt in der Abfrage A_Rechnungen, sie ist so, wie du sie erstellt hast, nicht beschreibbar.
Ich habe mal T_KUNDEN_1 herausgenommen, und alle Felder die daran hängen, schwubs funktioniert es.
Wenn ich das Problem richtig verstanden habe, möchtest du bei Lieferung an den Nachnamen und Vornamen usw. der Lieferadresse in der Abfrage haben.
Klappt bei mir mit einer korrelierenden Unterabfrage.

Code: Alles auswählen

(SELECT "Nachname"FROM "T_Kunden" WHERE  "KundenID" = "Für_Kunde_ID") "Lieferung_an_Nachname",
(SELECT "Vorname"FROM "T_Kunden" WHERE  "KundenID" = "Für_Kunde_ID") "Lieferung_an_Vorname",
Ich würde das ganze aber anders machen.
Beschreibbare Formulare versuche ich immer auf reinen Tabellen, ggf. mit Unterformularen, aufzubauen, denn meistens dann, wenn mehrere Tabellen in einer Abfrage verwendet werden, kommt es zu Problemen.
Dies gilt nicht für Formulare die etwas anzeigen sollen.
Gruß R
Dateianhänge
Kundendatenbank_Für_Forum_TW_ohne Funktion V2.zip
(169.11 KiB) 84-mal heruntergeladen
Windows 10: AOO, LO Linux Mint: AOO, LO

Dagobert1987
Beiträge: 8
Registriert: Fr 16. Dez 2022, 15:47

Re: aus 1 Tabelle 2 Datensätze holen

Beitrag von Dagobert1987 » Sa 17. Dez 2022, 12:28

Ein Traum es funktioniert. Vielen Vielen DANK :!: :!: :!:
korrelierenden Unterabfrage
ist das Schlagwort wo nach ich suchen muss? würde gerne verstehen was da passiert, damit ich den Fehler nicht noch mal habe.

F3K Total
Beiträge: 2410
Registriert: So 10. Apr 2011, 10:10

Re: aus 1 Tabelle 2 Datensätze holen

Beitrag von F3K Total » Sa 17. Dez 2022, 13:19

Hallo Dagobert,
in der Abfrage, die als Datengrundlage für das beschreibbare Formular dient, brauchst du doch den Namen nicht in Textform, wird doch im Listenfeld auf Basis der ID angezeigt. Die korrelierenden Unterabfragen fressen viel Rechenkapazität, ich würde sie weglassen. Wenn du eine eigene Abfrage nur zur Anzeige oder z.B. als Grundlage für einen Bericht erzeugst, muss diese nicht beschreibbar sein, dann kannst du auch wieder mit verknüpften Tabellen arbeiten.
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

Dagobert1987
Beiträge: 8
Registriert: Fr 16. Dez 2022, 15:47

Re: aus 1 Tabelle 2 Datensätze holen

Beitrag von Dagobert1987 » Sa 17. Dez 2022, 15:33

Hallo Dagobert,
in der Abfrage, die als Datengrundlage für das beschreibbare Formular dient, brauchst du doch den Namen nicht in Textform, wird doch im Listenfeld auf Basis der ID angezeigt. Die korrelierenden Unterabfragen fressen viel Rechenkapazität, ich würde sie weglassen. Wenn du eine eigene Abfrage nur zur Anzeige oder z.B. als Grundlage für einen Bericht erzeugst, muss diese nicht beschreibbar sein, dann kannst du auch wieder mit verknüpften Tabellen arbeiten.
Gruß R
jain. Ich übergebe die Daten via Textfelder und Platzhalter an ein Libre Office Writer mit Hilfe eines Makros. daher sind diese vielen "Deko" Felder, damit es "Hübsch" aussieht und ein berechenbares Format erzeuge. Mit dem Ergebniss der Berichte war ich nicht zufrieden genug.

Aber danke für den Hinweis mit der Rechenkapazität, ist notiert.

F3K Total
Beiträge: 2410
Registriert: So 10. Apr 2011, 10:10

Re: aus 1 Tabelle 2 Datensätze holen

Beitrag von F3K Total » Sa 17. Dez 2022, 16:01

Dagobert1987 hat geschrieben:
Sa 17. Dez 2022, 15:33
Ich übergebe die Daten via Textfelder und Platzhalter an ein Libre Office Writer mit Hilfe eines Makros.
Du liest den Inhalt der Textfelder aus? Ok, kann man machen. Mein Favorit ist es, die Daten direkt aus dem strukturellen Formular zu holen.Bsp.:

Code: Alles auswählen

sVorname = oForm.Columns.Vorname.getstring
Tausend Wege führen nach Rom.
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten