Raven B.
Про compiler error полностью ответил Al-x.
Цитата:
Raven B.:
У меня немного другая задача.
Например: пользователь выбирает в листбоксе название професии. Я селектом в программе получаю id професии. Потом получаю из таблицы - связки все id опасных факторов для данной професии. потом вывожк их в соседний listBox. И т.п. То есть селект нужен для "сложных" с логической точки зрения операций (не помите неправильно - это самый простой пример) и тех операций, при которых надо перед передачей информации пользователю ее обработать.
|
Можно и без всяких селектов.
1. Создаешь форму frm_Профессии, для нее источником данных ставишь "SELECT id_профессии FROM Т_Профессии". В ней создаешь listbox с именем lbx_СписокЭлементов, для него ставишь источник строк "SELECT id_профессии, НазваниеПрофессии FROM Т_Профессии". Свойство "Данные" (ControlSource) этого листбокса оставляешь пустым. Ширину столбцов листбокса ставишь "0;4" (чтобы в нем не отображалось поле id_профессии). Для него пишешь обработчик события "После обновления", который переводит текущую запись формы на выбранную профессию:
Код:
Private Sub lbx_СписокЭлементов_AfterUpdate()
Me.RecordsetClone.FindFirst "id_профессии=" & lbx_СписокЭлементов.Value
Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub
Также на всякий случай для формы пишешь такой обработчик события "Текущая запись", который выделит в листбоксе текущую профессию:
Код:
Private Sub Form_Current()
lbx_СписокЭлементов.Value = Me!id_профессии
End Sub
2. Создаешь форму sfrm_ОпасныеФакторы, пишешь в ней источник данных "Select id_профессии, ИмяОпасногоФактора FROM Т_ОпасныеФакторы". Ставишь на нее нужные элементы управления.
3. Добавляешь на форму frm_Профессии подчиненную форму, свойство "Объект-источник" для нее указываешь sfrm_ОпасныеФакторы, в свойствах "Подчиненные поля" и "Основные поля" пишешь "id_профессии".
4. Наслаждаешься полученными результатами =)