powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как передать параметр открываемому отчету Access?
9 сообщений из 9, страница 1 из 1
Как передать параметр открываемому отчету Access?
    #39469887
Verbovsky Innokenty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База - MSSQL SERVER 2012
клиент - VB6
Для отчетов использую проект Access 2007 .adp
Отчет имеет источником записей хранимую процедуру с параметром.
Что-то меня переклинило, никак не придумаю, как передать параметр

Код: vbnet
1.
2.
3.
4.
5.
6.
Set gAccessApp = CreateObject("Access.Application")
    With gAccessApp
        .OpenAccessProject App.Path & "\db.adp", False
        .CurrentProject.OpenConnection "Provider=SQLOLEDB.1;Password=..."
        .DoCmd.OutputTo acOutputReport, "rpt", acFormatPDF, App.Path & "\rpt.pdf"
    End With


прововал так:

Код: vbnet
1.
2.
    gAccessApp.DoCmd.OpenReport "rpt", acViewDesign
    gAccessApp.Reports("rpt").RecordSource = "dbo.sp_rpt " & Parameter



не понимает (
...
Рейтинг: 0 / 0
Как передать параметр открываемому отчету Access?
    #39469900
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Verbovsky Innokenty,

https://msdn.microsoft.com/ru-ru/library/office/ff192676.aspx
Обратите внимание на "where condition"

Код: vbnet
1.
gAccessApp.DoCmd.OpenReport "rpt", acViewDesign,,"Id=" & Id
...
Рейтинг: 0 / 0
Как передать параметр открываемому отчету Access?
    #39469908
Verbovsky Innokenty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-duke,

Спасибо, но не помогло. Access выдает диалоговое окно с запросом на значение параметра (
...
Рейтинг: 0 / 0
Как передать параметр открываемому отчету Access?
    #39471253
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Verbovsky Innokentybig-duke,

Спасибо, но не помогло. Access выдает диалоговое окно с запросом на значение параметра (
Как вариант через глобальную функцию.
...
Рейтинг: 0 / 0
Как передать параметр открываемому отчету Access?
    #39471559
Verbovsky Innokenty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Focha, спасибо, но не совсем понятно как это и что это меняет

Пока решил заменить процедуру на представление и менять RecordSource = "SELECT * FROM view WHERE ID =" & ID
...
Рейтинг: 0 / 0
Как передать параметр открываемому отчету Access?
    #39473124
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Verbovsky InnokentyFocha, спасибо, но не совсем понятно как это и что это меняет

Пока решил заменить процедуру на представление и менять RecordSource = "SELECT * FROM view WHERE ID =" & ID


Код: vbnet
1.
2.
3.
Public Function id() As String
id = 12
End Function




Код: sql
1.
2.
3.
SELECT *
FROM test
WHERE id=id();
...
Рейтинг: 0 / 0
Как передать параметр открываемому отчету Access?
    #39473125
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
Public Function id() As Double 'я же число возвращаю
id = 12
End Function
...
Рейтинг: 0 / 0
Как передать параметр открываемому отчету Access?
    #39473170
Verbovsky Innokenty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Focha
Код: sql
1.
2.
3.
SELECT *
FROM test
WHERE id=id();


Не, не то. Мне надо передать параметр хранимой процедуре, а не SQL-инструкцию создать. Ну да ладно, смог процедуру во "вьюшку" переделать
...
Рейтинг: 0 / 0
Как передать параметр открываемому отчету Access?
    #39483262
Verbovsky Innokenty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если вдруг кому интересно, победил следующим образом:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Set gAccessApp = CreateObject("Access.Application")
    With gAccessApp
        .OpenAccessProject App.Path & "\db.adp", False
        .CurrentProject.OpenConnection "Provider=SQLOLEDB.1;Password=..."
        .DoCmd.OpenReport "rpt", acViewDesign
        .Reports("rpt").InputParameters = "@ID int=" & ID & ", d Date='20170701'"
        .DoCmd.OutputTo acOutputReport, "rpt", acFormatPDF, App.Path & "\rpt.pdf"
    End With
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как передать параметр открываемому отчету Access?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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