В данной статье представлено пять вариантов создания выпадающего (раскрывающегося) списка в форме OOo Base. Все варианты снабжены снимками экрана и примерами файлов. Рекомендуется к прочтению начинающему пользователю OpenOffice.org Base 
Вариант 1.
Создать связь между таблицами: в меню: Сервис-Связи.
Затем добавить обе таблицы. Взять мышкой за ключ iduser в Таблице 2 и потянуть его до поля iduser в Таблице 1. 
Создать Представление (там же, где и таблицы). 
Далее как в запросе: Добавить Таблицу 2. Выбрать из списка первого столбца: - в Поле nameuser,
- в Таблица tbl_Tablica-2,
- из списка второго столбца в Поле iduser,
- в Таблица tbl_Tablica-2, не забудьте поставить галочки в квадратиках.
В Представлении будут только два поля: 1. nameuser из Таблицы 2; 2. iduser из Таблицы 2.
 После создания формы на основе Таблицы 1, заменить поле в iduser на список. 
В поле Списка кликнуть мышью, выбрать Элемент управления, 
далее в Данные, в Тип содержимого списка заменить на Таблицу, в Содержимое списка заменить на Представление, а в Связываемое поле поставить поле 1 (т.е. Nameuser). 
ИТОГ: В соответствующее поле Таблицы 1 записывается id а в Форме отображается текст из nameuser Представления.
Вариант 2.
- Меняются местами поля iduser и nameuser в Таблице 2.
- Создать связь между таблицами.
- Представление не создается.
- После создания формы на основе Таблицы 1, заменить поле в iduser на список.
- В поле Списка кликнуть мышью, выбрать Элемент управления, далее в Данные, в Тип содержимого списка заменить на Таблицу, в Содержимое списка заменить на Таблицу 2, а в Связываемое поле поставить поле 1 ( т.е. Nameuser).

ИТОГ: В соответствующее поле Таблицы 1 записывается id а в Форме отображается текст из nameuser Таблицы 2.
Вариант 3.  Главное условие - чтобы названия полей совпадали.- В Таблице 2 только одно поле nameuser - оно текстовое и является ключом.
- Создать связь между таблицами.
- Представление не создается.
- После создания формы на основе Таблицы 1, заменить поле в iduser на Поле со списком.

В поле Поле со списком кликнуть мышью, выбрать Элемент управления, далее в Данные, в Тип содержимого списка заменить на Таблицу, в Содержимое списка заменить на Таблицу 2.
ИТОГ: В соответствующее поле Таблицы 1 будет писаться текст из nameuser Таблицы 2. В форме отображается текст из nameuser Таблицы 2.
Вариант 4. Смотри Таблицу 1 — как в третьем варианте, а Таблицу 2 — как в первом.
Главное условие - чтобы названия полей совпадали.- Связь между таблицами не создавать.
- После создания формы на основе Таблицы 1, заменить поле в nameuser на Поле со списком.
- В поле Поле со списком кликнуть мышью, выбрать Элемент управления, далее в Данные, в Тип содержимого списка заменить на Таблицу, в Содержимое списка заменить на Таблицу 2, как в предыдущем Варианте.
ИТОГ: В соответствующее поле Таблицы 1 будет писаться текст из nameuser Таблицы 2. В форме отображается текст из nameuser Таблицы 2.
вариант 5.  Обе Таблицы - как в предыдущем варианте.
- Связь между таблицами не создавать.
- После создания формы на основе Таблицы 1, заменить поле в nameuser на Поле со списком.
- В поле Поле со списком кликнуть мышью, выбрать Элемент управления, далее в Данные, в Тип содержимого списка заменить на Sql, в Содержимое списка заменить на: SELECT "nameuser" FROM "tbl_Tablica-2". Или сгенерировать запрос SQL в конструкторе Команда SQL (начиная с версии OpenOffice.org 2.4), добавив туда Таблицу 2. Далее - как в запросе (Добавить Таблицу 2. Выбрать из списка в Поле nameuser, в Таблица tbl_Tablica-2, не забудьте поставить галочку в квадратик).


ИТОГ: В соответствующее поле Таблицы 1 будет писаться текст из nameuser Таблицы 2. В форме отображается текст из nameuser Таблицы 2.
P.S.
Если ваша форма в виде таблицы, то применяем все то же самое. Только вместо заменить поле в iduser на список, кликаем мышью на названии столбца iduser и выбираем Заменить на список.
 Вместо Элемент управления выбрать Столбец.

p.p.s При редактировании формы во вкладке Общие сделайте список раскрываемым. На представленных изображениях все списки раскрываемые, поэтому справа видны треугольники.
 |