Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как передать параметр открываемому отчету Access? / 9 сообщений из 9, страница 1 из 1
10.06.2017, 08:37
    #39469887
Verbovsky Innokenty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать параметр открываемому отчету Access?
База - 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
10.06.2017, 09:39
    #39469900
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать параметр открываемому отчету Access?
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
10.06.2017, 10:03
    #39469908
Verbovsky Innokenty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать параметр открываемому отчету Access?
big-duke,

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

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

Пока решил заменить процедуру на представление и менять RecordSource = "SELECT * FROM view WHERE ID =" & ID
...
Рейтинг: 0 / 0
16.06.2017, 13:40
    #39473124
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать параметр открываемому отчету Access?
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
16.06.2017, 13:41
    #39473125
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать параметр открываемому отчету Access?
Код: vbnet
1.
2.
3.
Public Function id() As Double 'я же число возвращаю
id = 12
End Function
...
Рейтинг: 0 / 0
16.06.2017, 14:35
    #39473170
Verbovsky Innokenty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать параметр открываемому отчету Access?
Focha
Код: sql
1.
2.
3.
SELECT *
FROM test
WHERE id=id();


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

Код: 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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как передать параметр открываемому отчету Access? / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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