Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 После сжатия БД перестала работать функция CreateReportControl  [new]
katvin
Member

Откуда:
Сообщений: 20
Сделала сжатие БД, и после этого перестала работать функция CreateReportControl. Выдает ошибку
Run-time error '29054'
Приложению MSAccess не удается добавить, переименовать или удалить требуемые элементы управления.

Почему такое могло произойти и как от этого избавиться?
22 апр 04, 10:59    [642761]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
Попробуй восстановить
22 апр 04, 11:15    [642803]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
легкие подозрения на целостность референсов..
22 апр 04, 11:26    [642829]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
хвост
Guest
2katvin

а случаем - Сжатие с Созданием mde ты не перепутал?
22 апр 04, 11:33    [642849]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
хвост
не перепутал?

-ла. :^)
22 апр 04, 11:35    [642857]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
katvin
Member

Откуда:
Сообщений: 20
2АлексейК
С целостностью референсов все в порядке.
2хвост
Не перепутала.

Как исправить этот глюк, я нашла, но почему возникает, осталось для меня загадкой.
После функции CreateReportControl у меня в коде есть строчка, где я меняю Caption вновь созданному контролу.
 [MyReport].[MyControl].Caption = "..."

Если эту строчку закоментировать, все работает. Как только открываешь эту строку, прога срубается на CreateReportControl.
Может кто подскажет почему так происходит?
22 апр 04, 13:36    [643303]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
автор
После функции CreateReportControl у меня в коде есть строчка, где я меняю Caption вновь созданному контролу.
[MyReport].[MyControl].Caption = "..."

Это должно выглядеть так:

dim c as control
c = CreateReportControl ...
c.Caption = ...

а не

[MyReport].[MyControl].Caption = ...
22 апр 04, 14:04    [643402]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
не знаю зачем но там еще рестор ставляют - так в хелпе написано

Set ctlNew = CreateReportControl(rep.name, acTextBox, acDetail, Sec.name, cdata, X, Y)

DoCmd.Restore
ctlNew.name = cname
22 апр 04, 14:19    [643459]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
katvin
Member

Откуда:
Сообщений: 20
2 ВС Спасибо.
А как тогда правильно обратиться к созданному в конструкторе руками (а не с помощью CreateReportControl) контролу, только через
Reports.Item("report_name").Controls.Item("control_name").Caption 

или можно как то проще?
22 апр 04, 14:22    [643465]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Reports.Item("report_name").Controls.Item("control_name").Caption

- это полный синтаксис. Можно короче, наример:

Reports!report_name!control_name.Caption
22 апр 04, 14:24    [643475]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
katvin
Member

Откуда:
Сообщений: 20
И почему, если у меня идет неправильное обращение к контролу, то ошибка возникает на CreateReportControl?
Причем, до сжатия такой ошибки не возникало.
22 апр 04, 14:25    [643481]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
(громко пожимаю плечами)
22 апр 04, 14:26    [643487]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
хвост
Guest
а сколько контролв уже есть в мосент выполнения Create...?
22 апр 04, 14:46    [643547]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
katvin
Member

Откуда:
Сообщений: 20
хвост
а сколько контролв уже есть в мосент выполнения Create...?

9 TextBox'ов +Lines+Labels. А какое это имеет значение?
22 апр 04, 18:33    [644566]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
экспортируй в новый файл все объекты
22 апр 04, 18:42    [644583]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
katvin
Member

Откуда:
Сообщений: 20
У меня тут по отчету возник еще вопросик. Как сделать, чтобы когда пользователь закрывает отчет (нажимает на крестик), он автоматически закрывался без сохранения, не выдавая диалог
"Сохранить изменения макета или структуры отчета?"
22 апр 04, 18:43    [644588]     Ответить | Цитировать Сообщить модератору
 Re: После сжатия БД перестала работать функция CreateReportControl  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Вот длинное обсуждение на похожую тему:

https://www.sql.ru/forum/actualthread.aspx?bid=4&tid=87028&pg=-1
22 апр 04, 18:45    [644596]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить