In der Zwischenzeit habe ich das mit den Formularen, Unterformularen und Abfragen soweit hinbekommen, wie ich es haben will. Bei der Kür will ich nun aber für die Eingabe nur den Inhalt einer Tabelle/SQL-Abfrage zur Verfügung stellen, ich nehme an mit einem Listen-Feld, doch daran scheitere ich kläglich.
Es geht um zwei Tabellen:
Bestellungen mit Produktnummer, Stückzahl, Stückpreis usw.
Produkte mit Produktnummer und Produktname
Im Formular sollen nun alle Produktnummer aus Produkte angezeigt und dann die ausgewählte Produktnummer in das Feld von Bestellungen eingetragen werden. Den ersten Teil bekomme ich hin den zweiten nicht.
Irgendwie habe ich mich völlig verrannt und brauche Hilfe.
Listenfeld: Eingabe nur Inhalt einer Tabelle/SQL-Abfrage
Moderator: Moderatoren
Listenfeld: Eingabe nur Inhalt einer Tabelle/SQL-Abfrage
- Dateianhänge
-
- LO_Base_Test.odb
- (22.25 KiB) 95-mal heruntergeladen
Ich nutze LibreOffice unter Kubuntu Linux.
Re: Listenfeld: Eingabe nur Inhalt einer Tabelle/SQL-Abfrage
Hi,
ich habe dir mal ein einfaches Bestellformular drangebaut, siehe Formular Bestellungen.
Da kannst Du dir die Eigenschaften der Listenfelder, ob einzeln oder innerhalb des Tabellenkontrollfeldes, mal anschauen.
Es gibt bei Auswahl von "Art des Listeninhaltes": SQL die Möglichkeit zwei Werte abzufragen, der erste wird im Listenfeld angezeigt, der zweite in die Datenbank geschrieben.
In diesem Beispiel lautet das Statement
Dabei ist der angezeigte erste Wert:und der einzutragende zweite Wert
Es wird also die Produktnummer, gefolgt von einem Leerzeichen, Klammer auf, Name des Produktes, Klammer zu angezeigt, aber nur die Produktnummer eingetragen, siehe Bild:
Als zweite Verbesserung habe ich unter Extras/SQL ... einmalig diesen SQL Befehl abgesetzt:
So brauchst du kein Kaufdatum eingeben, es wird automatisch das heutige beim Abspeichern eines neuen Datensatzes gesetzt, gibst du aber eines ein, wird dies gespeichert.
Viel Erfolg
Gruß R
ich habe dir mal ein einfaches Bestellformular drangebaut, siehe Formular Bestellungen.
Da kannst Du dir die Eigenschaften der Listenfelder, ob einzeln oder innerhalb des Tabellenkontrollfeldes, mal anschauen.
Es gibt bei Auswahl von "Art des Listeninhaltes": SQL die Möglichkeit zwei Werte abzufragen, der erste wird im Listenfeld angezeigt, der zweite in die Datenbank geschrieben.
In diesem Beispiel lautet das Statement
Code: Alles auswählen
SELECT "Produkt_Nr" || ' (' || "Name" || ')', "Produkt_Nr" FROM "Produkte"
Code: Alles auswählen
"Produkt_Nr" || ' (' || "Name" || ')'
Code: Alles auswählen
"Produkt_Nr"
Code: Alles auswählen
ALTER TABLE "Bestellungen" ALTER "Kaufdatum" SET DEFAULT CURRENT_DATE
Viel Erfolg
Gruß R
- Dateianhänge
-
- LO_Base_Test.odb
- (31.85 KiB) 101-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Listenfeld: Eingabe nur Inhalt einer Tabelle/SQL-Abfrage
Genau darauf bin ich nicht gekommen. Vielen herzlichen Dank!F3K Total hat geschrieben:Es gibt bei Auswahl von "Art des Listeninhaltes": SQL die Möglichkeit zwei Werte abzufragen, der erste wird im Listenfeld angezeigt, der zweite in die Datenbank geschrieben.

Gibt es eine Quelle wo ich mir den SQL-Dialekt von Base anschauen kann?
Ich nutze LibreOffice unter Kubuntu Linux.
Re: Listenfeld: Eingabe nur Inhalt einer Tabelle/SQL-Abfrage
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO