BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> 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
-
- Beiträge: 8
- Registriert: Fr 16. Dez 2022, 15:47
(gelöst) aus 1 Tabelle 2 Datensätze holen
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
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.
Re: aus 1 Tabelle 2 Datensätze holen
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
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
-
- Beiträge: 8
- Registriert: Fr 16. Dez 2022, 15:47
Re: aus 1 Tabelle 2 Datensätze holen
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
Re: aus 1 Tabelle 2 Datensätze holen
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
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
-
- Beiträge: 8
- Registriert: Fr 16. Dez 2022, 15:47
Re: aus 1 Tabelle 2 Datensätze holen
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
Re: aus 1 Tabelle 2 Datensätze holen
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.
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
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",
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
-
- Beiträge: 8
- Registriert: Fr 16. Dez 2022, 15:47
Re: aus 1 Tabelle 2 Datensätze holen
Ein Traum es funktioniert. Vielen Vielen DANK
ist das Schlagwort wo nach ich suchen muss? würde gerne verstehen was da passiert, damit ich den Fehler nicht noch mal habe.korrelierenden Unterabfrage
Re: aus 1 Tabelle 2 Datensätze holen
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
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
-
- Beiträge: 8
- Registriert: Fr 16. Dez 2022, 15:47
Re: aus 1 Tabelle 2 Datensätze holen
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.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
Aber danke für den Hinweis mit der Rechenkapazität, ist notiert.
Re: aus 1 Tabelle 2 Datensätze holen
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.:Dagobert1987 hat geschrieben: ↑Sa 17. Dez 2022, 15:33Ich übergebe die Daten via Textfelder und Platzhalter an ein Libre Office Writer mit Hilfe eines Makros.
Code: Alles auswählen
sVorname = oForm.Columns.Vorname.getstring
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 ❤️