База Libreoffice: каким образом комбинированный список связан со связанной таблицей, связанной с элементом управления таблицей формы или в нем
Я не мог подвести итог, чего я действительно хочу в названии. Но здесь я попытаюсь объяснить, о чем идет речь. Я перешел с MS Access на Libreoffice Base, потому что он с открытым исходным кодом, свободен и не зависит от платформы. Мне очень нравится Libreoffice, и поэтому я пытаюсь решить свои проблемы там. Я не смог найти ничего связанного в документации, а также не смог найти точно такой же вопрос (были похожие вопросы, но у меня не получилось).
Часть моей базы данных состоит из 3 таблиц. Таблица счетов-фактур связана один-ко-многим со службой (это одна строка в счете-фактуре с указанием продукта и количества). (Invoice.ID (1) -> Service.InvoiceID (n)) (n) = много, (1) = один
С другой стороны, у меня есть другая таблица для продуктов, которая похожа на каталог продуктов, привязанных один ко многим к таблице обслуживания. Product.ID (1) -> Service.ProductID (n) Я также создал элемент управления таблицей, связанный с запросом, который объединяет таблицы Service и Product. Поэтому у меня есть следующие столбцы: Service.ID, Invoice.ID, Product.ID, Service.Quantity, Product.Name, Product.Description, Product.Price
Я хочу поместить столбец с выпадающим списком в эту таблицу, который связан с таблицей продуктов. Таким образом, пользователь видит название продукта и выбирает правильный продукт, но Service.ProductID будет изменен на Product.ID выбранного продукта. Я полагаю, это выполнимо, однако я не могу найти какой-либо способ.
Любая помощь будет оценена!
PS. Я также занимаюсь программированием и мог бы написать собственное Java-приложение, но я полагаю, что это не нужно для приложений такого типа.
Я нашел ответ на форумах OpenOffice.
Подводя итог: Combobox - неправильный выбор, поскольку он похож на текстовое поле с автозаполнением. Вместо него используется список (который также выглядит как комбинированный список в классическом смысле). Просто напишите SQL-запрос, чтобы получить имя (видимое поле) для индекса 0 и идентификатор для индекса 1 (поле данных). И выберите поле данных в таблице для изменения. Это оно!