Вопрос № 82628: Здравствуйте! У меня есть записи в БД, общий список которых выводится в форме. Как сделать так, чтобы можно было вручную выбирать записи из этого списка для добавления в отчет или в любой документ для последующей печати?...
Вопрос № 82.628
Здравствуйте! У меня есть записи в БД, общий список которых выводится в форме. Как сделать так, чтобы можно было вручную выбирать записи из этого списка для добавления в отчет или в любой документ для последующей печати?
Отвечает: Shapoklak
Здравствуйте, Клинских Мария Николаевна!
Не совсем то, что нужно вам, но вот что у меня получилось (я это пока помещу в свой ответ, но, может, кто-то еще Вам что подскажет, в мини-форуме я выложу выдержки из Ваших писем, что конкретно требуется):
1. В режиме Конструктора добавляем в таблицу, по которой у Вас форма с левым списком, логическое поле, назовем его Выбор.
2. Создаем форму, в которой есть поля с названиями и поля Выбор (чтоб ставить птичку или снимать ее - у Вас это можно добавить в ту форму, где перечислен левый список).
3. Создаем запрос на выборку, указываем в нем поле Выбор, условие отбора - истина (когда формируем, пишем true)
4. Связываем этот новый запрос на схеме данных с первоначальной таблицей
5. Создаем отчет по запросу на выборку Отчет для выбора
6. На форме, где левый список, добавляем кнопку.
В ее свойствах - События - Макрокоманда Открыть отчет
Имя отчета - Отчет для выбора
Режим Просмотр (если просто просмотреть) Режим Печать - если сразу на печать.
Ответ отправила: Shapoklak (статус: Профессор) Россия, Орск Организация: школа Адрес: www.school56orsk.narod.ru WWW:компьютерные фирмы г. Орска ICQ: 101137510 ---- Ответ отправлен: 15.04.2007, 16:16
Отвечает: Alec Perle
Здравствуйте, Клинских Мария Николаевна!
Можно добавить в таблицу(цы) поле с логическим типом, значение которого устанавливать в форме при выборе необходимых записей. Затем воспользоваться фильтром по этому полю или создать запрос.
С помощью VBA получается:
Private Sub КнопкаВыбрать_Click()
Dim CurRecord as Long
CurRecord = CurrentRecord 'запоминаем номер текущей записи
With Recordset
.MoveFirst 'переходим в начало
.Move Список1.ListIndex 'переходим на выбранную запись
.Edit 'начинаем редактировать
![Выводить] = True ' задаем значение
Update 'запоминаем изменения
.MoveFirst 'переходим в начало
.Move CurRecord-1 'переходим к текущей записи
End With
Список2.Requery 'обновляем значения второго списка
End Sub
У списка Список2 источник строк - запрос по полю [Выводить]. Ну и у отчета тоже.
--------- Пессимист - это хорошо информированный оптимист (а оптимист - хорошо проинструктированный пессимист)
Ответ отправил: Alec Perle (статус: 7-ой класс)
Ответ отправлен: 15.04.2007, 16:25