Классика баз данных - статьи

       

название предприятия, где работает человек.


Его содержимое — название предприятия, где работает человек. Обидно вводить эти записи еще раз. К тому же, нельзя ошибиться даже в мелочи — этого будет достаточно, чтобы не сработала автоматическая выборка, а ведь именно в автоматизации вся сила баз данных.

Впрочем, эту беду можно обойти. Осталось разобраться, как.

Вызовите правой кнопкой мыши контекстное меню столбца Work и с его помощью выполните преобразование Replace with/List box — таким образом вы замените текстовое поле на список. Самое сложное — это наполнить этот список нужным содержимым и связать его с полем Work таблицы persons. Такую настройку свойств элемента списка можно произвести, вызвав правой кнопкой мыши диалог Column...

Откроем вкладку Data. На ней находятся четыре важных для нашего случая параметра:
  • DataField. Поле в таблице, к которой привязана форма, будет изменяться с помощью этого элемента списка;
  • Type of list contents — способ (тип), при помощи которого будет наполняться список. Мы обязаны выбрать Query (ведь специально для этого и создавался запрос); если же избрать SQL, то SQL-запрос можно будет ввести "на ходу", без лишней возни по дизайну запросов;
  • List Content. Выбрали тип наполнения — теперь нужно конкретизировать его суть. В нашем случае это можно сделать, выбрав из списка запрос FirmsName (в другом случае в этом поле пишется строка SQL-команды);
  • Bound Field — очень интересный параметр. Помните, в запросе мы делали две колонки с одинаковыми значениями, Name? Роль первой проста — эта колонка отображается как содержание списка. То есть, если запрос проводить по-другому (например, SELECT `City`, `Name`), то в списке будут отображаться не названия фирм, а города, где они расположены. Отображаться, а не записываться в базу! Поле запроса, которое должно вноситься в таблицу, указывается номером (начиная с нуля) в рассматриваемом параметре.


Посмотрите еще раз на диалог. В данном поле стоит единица (ноль, кстати, указать не удается) — это получается второе по счету поле запроса, Name.Его содержимое будет записываться в поле таблицы, указанное в параметре DataField. Попросту говоря, с помощью данных параметров мы определяем, какое поле запроса писать в конкретном поле таблицы. При этом в списке всегда будет отображаться первое поле запроса. Хитро.

Снова переключите режим формы Design Mode On/Off. Надеюсь, все сделано правильно и результат достигнут: теперь фирму, в которой работает человек, можно выбирать из списка.


Содержание  Назад  Вперед