О проекте
Контакты
Полезные ссылки
Карта сайта
Вход для участников

Базы данных (Base)

Выпадающий список в форме или как связать таблицы Печать
Автор olegger   
05.04.2008 г.

В данной статье представлено пять вариантов создания выпадающего (раскрывающегося) списка в форме OOo Base.

Все варианты снабжены снимками экрана и примерами файлов.

Рекомендуется к прочтению начинающему пользователю OpenOffice.org Base Улыбающийся

 

Вариант 1.

Image

Создать связь между таблицами: в меню: Сервис-Связи.

Image 

Затем добавить обе таблицы. Взять мышкой за ключ iduser в Таблице 2 и потянуть его до поля iduser в Таблице 1.

Image

Создать Представление (там же, где и таблицы).

Image

Далее как в запросе: Добавить Таблицу 2. Выбрать из списка первого столбца:

  • в Поле nameuser,
  • в Таблица tbl_Tablica-2,
  • из списка второго столбца в Поле iduser,
  • в Таблица tbl_Tablica-2, не забудьте поставить галочки в квадратиках.

В Представлении будут только два поля:
   1. nameuser из Таблицы 2;
   2. iduser из Таблицы 2.
Image

После создания формы на основе Таблицы 1, заменить поле в iduser на список.

Image

В поле Списка кликнуть мышью, выбрать Элемент управления,

Image

далее в Данные, в Тип содержимого списка заменить на Таблицу, в Содержимое списка заменить на Представление,
а в Связываемое поле поставить поле 1 (т.е. Nameuser).

Image

ИТОГ: В соответствующее поле Таблицы 1 записывается id а в Форме отображается текст из nameuser Представления.


Вариант 2.

Image

  • Меняются местами поля iduser и nameuser в Таблице 2.
  • Создать связь между таблицами.
  • Представление не создается.
  • После создания формы на основе Таблицы 1, заменить поле в iduser на список.
  • В поле Списка кликнуть мышью, выбрать Элемент управления, далее в Данные, в Тип содержимого списка заменить на Таблицу, в Содержимое списка заменить на Таблицу 2, а в Связываемое поле поставить поле 1 ( т.е. Nameuser).

Image

ИТОГ: В соответствующее поле Таблицы 1 записывается id а в Форме отображается текст из nameuser Таблицы 2.


Вариант 3.

 Image

Главное условие - чтобы названия полей совпадали.

  • В Таблице 2 только одно поле nameuser - оно текстовое и является ключом.
  • Создать связь между таблицами.
  • Представление не создается.
  • После создания формы на основе Таблицы 1, заменить поле в iduser на Поле со списком.

Image

В поле Поле со списком кликнуть мышью, выбрать Элемент управления, далее в Данные, в
Тип содержимого списка заменить на Таблицу, в Содержимое списка заменить на Таблицу 2.

ИТОГ: В соответствующее поле Таблицы 1 будет писаться текст из nameuser Таблицы 2. В форме отображается текст из nameuser Таблицы 2.


Вариант 4.

Image

Смотри Таблицу 1 — как в третьем варианте, а Таблицу 2 — как в первом.

Главное условие - чтобы названия полей совпадали.

  • Связь между таблицами не создавать.
  • После создания формы на основе Таблицы 1, заменить поле в nameuser на Поле со списком.
  • В поле Поле со списком кликнуть мышью, выбрать Элемент управления, далее в Данные, в Тип содержимого списка заменить на Таблицу, в Содержимое списка заменить на Таблицу 2, как в предыдущем Варианте.

ИТОГ: В соответствующее поле Таблицы 1 будет писаться текст из nameuser Таблицы 2. В форме отображается текст из nameuser Таблицы 2.


вариант 5.

 Image

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

Image
Image

ИТОГ: В соответствующее поле Таблицы 1 будет писаться текст из nameuser Таблицы 2. В форме отображается текст из nameuser Таблицы 2.


P.S.

Если ваша форма в виде таблицы, то применяем все то же самое. Только вместо заменить
поле в iduser на список
, кликаем мышью на названии столбца iduser и выбираем Заменить
на список
.
Image
Вместо Элемент управления выбрать Столбец.

Image 

Image

p.p.s 

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

 

Обсудить на форуме...

Последнее обновление ( 19.08.2012 г. )
 
« Пред.

Текстовые документы (Writer)

MyOOo.ru, 2008 — 2024. Хостинг предоставлен компанией Netangels