Libreoffice Base: Wie haben Sie eine Combobox mit einer verknüpften Tabelle verknüpft, die mit oder in der Formulartabellensteuerung verknüpft ist

4610
Genom

Ich konnte nicht zusammenfassen, was ich wirklich im Titel will. Aber hier versuche ich zu erklären, worum es geht. Ich habe von MS Access zu Libreoffice Base gewechselt, da es Open Source, kostenlos und plattformunabhängig ist. Ich mag Libreoffice wirklich sehr und versuche deshalb meine Probleme dort zu lösen. Ich konnte nichts in den Dokumentationen finden und auch nicht genau dieselbe Frage finden (es gab ähnliche Fragen, die aber nicht für mich geklappt haben).

Ein Teil meiner Datenbank besteht aus 3 Tabellen. Die Rechnungstabelle ist eins zu vielen mit dem Service verknüpft (dies ist eine Zeile in der Rechnung, in der das betroffene Produkt und die Menge angegeben sind). (Invoice.ID (1) -> Service.InvoiceID (n)) (n) = viele, (1) = Eins

Auf der anderen Seite habe ich eine andere Tabelle für Produkte, die einem Katalog von Produkten ähnelt, die zu vielen mit der Service- Tabelle verknüpft sind . Produkt .ID (1) -> Service.ProductID (n) Ich habe auch ein mit einer Abfrage verknüpftes Tabellensteuerelement erstellt, das Service- und Produkttabellen verbindet. Ich habe also folgende Spalten: Service.ID, Invoice.ID, Product.ID, Service.Quantity, Product.Name, Product.Description, Product.Price

Ich möchte eine Spalte mit Combobox in diese Tabelle einfügen, die mit der Product-Tabelle verknüpft ist. Der Benutzer sieht also den Produktnamen und wählt dort das richtige Produkt aus. Die Service.ProductID wird jedoch in die Product.ID des ausgewählten Produkts geändert. Ich vermute, das ist machbar, aber ich finde keinen Weg.

Jede Hilfe wäre dankbar!

PS. Ich programmiere auch und könnte auch eine eigene Java-Anwendung schreiben, aber ich nehme an, dass dies für eine solche Anwendung nicht erforderlich ist.

Ich habe die Antwort in OpenOffice-Foren gefunden .

Fazit: Combobox ist hier die falsche Wahl, da es wie eine Textbox mit automatischer Vervollständigung aussieht. Stattdessen wird Listbox verwendet (die im klassischen Sinne auch wie eine Combobox aussieht). Schreiben Sie einfach eine SQL-Abfrage, um den Namen (sichtbares Feld) für Index 0 und ID auf Index 1 (Datenfeld) zu erhalten. Wählen Sie das zu ändernde Datenfeld in der Tabelle aus. Das ist es!

3

0 Antworten auf die Frage