|
|
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
Уважаемые Знатоки Ассеss! Помогите, пропадаю совсем!!!! Для Access XP Никак не могу сделать :( программный ввод параметра в отчет для хранимой процедуры, используемой как RecordSource этого отчета, через св-во InputParameters отчета. Выбрасывается сообщение "Введенное выражение содержит недопустимую ссылку на объект InputParameter" Пробовал размещать в процедуре обработки открытия конструкцию: Me.InputParameters="<Имя глобальной переменной>", где глобальная переменная содержит значение параметра, Не читает даже литерал: Me.InputParameters="Значение" Такое ощущение, что св-во InputParameter просто заблокирован, либо не работает, ни в режиме конструктора отчета, ни еще как :( Просмотрел все, что нашел на форумах, в т.ч. на Вашем, ничего не нашел :( Был бы очень благодарен всем, кто откликнулся и выручил бы. С уважением, Александр ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 09:20 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
я не знаю. но смею предположить: а разве не me.recordsource.inputparameters? ну, щас меня запинают... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 09:29 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
Нет, InputParameters-это свойство самого очета, а не Источника записей Чего-то не отвечает больше никто, может не в курсе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 10:56 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
ADO подключена? Я вообще то в открытии отчета ставлю такую дребедень: Код: plaintext Сейчас уже не помню почему не Ме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 11:16 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 gav Ещё 20 топиков и достигнем нужного результата:) Строка формируется в переменную (exec dbo.mySP myparam), при открытии отчёта она передаётся в OpenArgs. На открытии отчёта пишем: If Not IsNull(Me.OpenArgs) Then Me.RecordSource = Me.OpenArgs 2 ALL Помню, получал такую проблему: Задаём RecordSource отчёта: dbo.mySP, в InputParameters пишем @myparam int="2003" (у процедуры один входной myparam int), открываем отчёт - всё работает. Теперь в дизайнере всё это удаляем, сохраняем и прописываем это на открытие отчёта: Me.RecordSource = "dbo.mySP" Me.InputParameters = "@myparam int=""2003""" Получаем вопрос: введите значение параметра myparam. Где грабли? Просто по старой памяти захотел разобраться, почему так не работает. Тогда время поджимало и сделал с формированием строки заранее, без InputParameters. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 11:38 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 Hammer Получаем вопрос: введите значение параметра myparam. Где грабли? Просто по старой памяти захотел разобраться, почему так не работает Есть такая проблема. Просто решается - нужно дать превью, отчет спрашивает параметр. Даем ОК, снова превью. Все ОК! Дело видимо в порядке наступления события Open и получения рекордсетом фильтра - параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 11:56 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 Odess Не понял нифига. Он КАЖДЫЙ раз выводит запрос на ввод параметра - я же хочу его программно поставлять. При чём тут превью - абсолюьно пофиг, как я открываю отчёт - сразу на принтер или на превью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 12:00 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
я даю в строке входных параметров отчета в последнее время имя функции @myparam int = getmyparam() а функцию пишу в отчете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 12:05 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 АлексейК Делаем отчёт - не прописываем ничего в RecordSource. Пишем функцию в отчёте: Код: plaintext 1. 2. В отчёте в InputParameters: @myparam int = getparam_s() На открытие: Me.RecordSource = "dbo.mySP" Не работает - спрашивает тоже самое:) Если прописать процедуру заранее в RecordSource - то всё нормально, но это мне и так было известно и отчётов таких вагон. Как раз интересовала проблема с программным назначением параметров и рекордсурса. В итоге, старый дедовский способ - заранее сформированаая строка, переданная в openargs. Вот не могу понять, где грабли-то?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 12:21 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 Hammer Я поясняю - в конструкторе отчета: 1-й раз превью - запрос параметра. 2-й раз превью - все ОК. Обязательно сохранить отчет (если просто закрыть - он не предложит сделать сохранение, обязательно Save). Тогда все работает в дальнейшем и при превью и при печати. У меня так все отчеты работают - иначе параметры слетают при изменении рекордсоурса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 12:57 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 Odess При этом указан Рекордсурс и параметры? Или ничего не указано и всё на открытии задаётся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 13:10 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
это фокус - покус наверное сказывается что после смены источника записей слетают входные параметры попробуй в коде сразу прописывать и источник и входные параметры me.recordsource = ... me.inputparameters = ... еще вариант (я не пробовал) источник : "exec MYSP @param1 int = 123" или без exec ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 13:10 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. http://support.microsoft.com/default.aspx?scid=kb;en-us;300693 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 13:11 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 АлексейК попробуй в коде сразу прописывать и источник и входные параметры me.recordsource = ... me.inputparameters = ... еще вариант (я не пробовал) источник : "exec MYSP @param1 int = 123" или без exec Читам то, что я раньше писал: Строка формируется в переменную (exec dbo.mySP myparam), при открытии отчёта она передаётся в OpenArgs. На открытии отчёта пишем: If Not IsNull(Me.OpenArgs) Then Me.RecordSource = Me.OpenArgs Теперь в дизайнере всё это удаляем, сохраняем и прописываем это на открытие отчёта: Me.RecordSource = "dbo.mySP" Me.InputParameters = "@myparam int=""2003""" [526798] - это всё в этом ответе. У меня так всё и работает - заранее сформированаая строчка. Просто интересно через параметры - программно в коде их задавать не получается. Вариант Одесса повторить не удаётся - туплю, но не понимаю. Оставляю только заполненым в свойствах параметры - программно только источник, в конструкторе превью - спрашивает. Задаю - ещё превью - опять спрашивает. Ты абсолютно прав, при смене источника сбиваются параметры - это можно наблюдать и в дизайнере. Указана строка с параметрами, нет источника, как только прописываем источник строка с параметрами обнуляется. У меня так. Аксес ХП 10.4302.4219 - SP2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 13:21 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 incold ОПЕРЕДИЛ! Вот хотел как раз написать - пришёл с обеда и набрёл на тоже самое:) Значит, правильно, что не стал изначально париться, а по старинке всё сделал.... А тот тут воду в ступе уже толчём:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 13:47 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 Hammer Источник записей, к пимеру, ХП: СписокПереучета Работает так же с SELECT ... В событии Open следующий текст: Код: plaintext 1. 2. 3. Все работает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 14:02 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
Большое спасибо всем за полезные советы, но у меня что-то он при ЛЮБОМ обращении к InputParameters, в т.ч. после изменения RecordSource, выдает сообщение о недопустимой ссылке на данное свойство. Почему-я так и не понял. Если это как-то связано с ADO, то она подключена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 14:18 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 gav Приведи список и порядок подключенных бибилиотек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 14:29 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 Odess При этом в свойствах отчёта не прописаны InputParameters заранее, а прописан только RecordSource? Ну не работает так у меня:) У меня не работает даже так (на открытие): Me.InputParameters = "@myparam int=""2003""" Если эту строчку прописать в дизайне - всё пучком. Все манипуляции с превью из дизайна и т.п. предложенные ранее не помогли. Что не противоречит микрософту:) 2 gav Дык и не парься - формируй строку на лету и посылай её в RecordSource. Прочитай пост incold. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 14:31 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 Hammer А СП стоЯт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 14:33 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 Odess А читаем всё, что другие пишут или выборочно и сразу ответик?:) Смотрим в пост номер [527053] в этой ветке: Аксес ХП 10.4302.4219 - SP2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 14:34 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 Hummer Блин, я сразу и не заметил - убери из Me.InputParameters = "@myparam int=""2003""" Значек "@". В этом вся загвоздка - я тоже потрахался в свое время ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 14:36 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 Odess На втором превью просит ввести значение параметра "2003". После сохранить в конструкторе заносится строчка в параметры: myparam int="2003". Что уже мне не нравиться, так как для хранимых нужна @. Это я по твоей инструкции. Кусок хелпа: Пример строки свойства InputParameter, используемой в инструкции SQL в свойстве Источник записей (RecordSource), может иметь следующий синтаксис. state char=[Form]![StateList], salesyear smallint=[Введите год] Пример строки свойства InputParameter используемой в сохраненной процедуре, имеет следующий вид. @state char=[Form]![StateList], @salesyear smallint=[Введите год] В результате параметр @state примет текущее значение элемента управления StateList и будет выведено приглашение на ввод параметра @salesyear. Любые другие параметры сохраненной процедуры, не присутствующие в списке, получат значения по умолчанию. В общем, я думаю, умные дядьки из микрософт не стали бы зря писать то, что привёл инкольд... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 14:46 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
Строка с параметрами у тебя сохраниться, попробуй передавать значение из другой формы - т.е. поставь в коде ссылку на другую форму. Фактически, ты их автоматом после твоих манипуляций с превью прописал в дизайнере отчётов, а программно ничего не задаёшь - так как ссылка на форму статична и уже прописана в конструкторе отчёта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 14:48 |
|
||
|
Access отчет с программным вводом параметров
|
|||
|---|---|---|---|
|
#18+
2 Hummer В твоем случае нужно 2003 без кавычек писать - ты присваиваешь целому параметру текстовое значение - зачем? Повторяю - хранимка не нужна - я абсолютно так же работаю с Select.... и т.п. Не знаю что имел в виду Микрософт - но у меня это работает не в одном проекте. А разбираться в конструкторе запросов мне лично проще, чем в тексте рекордсоурса, особенно с подстановкой параметров ;-) Советую поразбираться - там нет никаких особых проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2004, 14:50 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32402854&tid=1676735]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 491ms |

| 0 / 0 |
