powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Применить готовый RecordSet к другой форме
7 сообщений из 7, страница 1 из 1
Применить готовый RecordSet к другой форме
    #39838387
vklpt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть форма с источником в виде тяжёлого запроса.
Нужно сделать красивую печатную форму с этими же данными.
Стандартный путь - делаем отчёт на основе такого же запроса, но это нужно будет снова подождать, пока запрос выполнится.
А есть ли способ скопировать готовый набор записей в отчёт?
Что-то вроде этого:
Код: vbnet
1.
2.
3.
4.
5.
6.
Private Sub Report_Open(Cancel As Integer)
    Dim RST As DAO.Recordset
    
    Set RST = Forms("форма_источник").RecordsetClone
    Set Me.Recordset = RST
End Sub


Приведённый код выдаёт ошибку: "Это свойство доступно только в файлах ADP"

MS Access 2010 x32, база в MDB.
...
Рейтинг: 0 / 0
Применить готовый RecordSet к другой форме
    #39838392
vklpt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну и так будет Type mismatch

Код: vbnet
1.
2.
3.
4.
5.
6.
Private Sub Report_Open(Cancel As Integer)
    Dim RST As ADODB.Recordset
    
    Set RST = Forms("форма_источник").RecordsetClone
    Set Me.Recordset = RST
End Sub
...
Рейтинг: 0 / 0
Применить готовый RecordSet к другой форме
    #39838414
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vklpt,
пример от Панурга
...
Рейтинг: 0 / 0
Применить готовый RecordSet к другой форме
    #39838886
vklpt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, работает для "Предварительного просмотра", но при печати (на виртуальный PDF) принтер выводит только начиная со второй страницы (добавил данных в таблицу). Что с этим можно сделать?
...
Рейтинг: 0 / 0
Применить готовый RecordSet к другой форме
    #39838922
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vklptЧто с этим можно сделать?строчку кода нужно добавить
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub secDetail_Print(Cancel As Integer, PrintCount As Integer)
    With m_rst
        If Not .EOF Then
...
        Else
            Me.PrintSection = False
            Me.NextRecord = True
            m_rst.MoveFirst
        End If
    End With
End Sub
...
Рейтинг: 0 / 0
Применить готовый RecordSet к другой форме
    #39839291
vklpt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понятно, при фактической печати это всё ещё раз отрабатывает. Спасибо.
Получается, чтобы реально распечатать, надо ещё и предпросмотр отмотать на последний лист, чтобы сработал movefirst на EOF.
И счётчик страниц правда не отрабатывает нормально (Страница 3 из 1), да и как-то слишком много костылей, видимо правильнее просто форму распечатать, пусть и некрасиво.
...
Рейтинг: 0 / 0
Применить готовый RecordSet к другой форме
    #39839297
vklpt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну или добавить событие на печать заголовка, он же один раз печатается. Но всё равно слишком много костылей
Код: vbnet
1.
2.
3.
Private Sub ЗаголовокОтчета_Print(Cancel As Integer, PrintCount As Integer)
    RST.MoveFirst
End Sub
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Применить готовый RecordSet к другой форме
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]