Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Что случилось в Access 2002 с объектами TableDef? / 6 сообщений из 6, страница 1 из 1
18.07.2004, 20:40:38
    #32609700
Иван FXS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что случилось в Access 2002 с объектами TableDef?
У меня при обращении к коллекции CurrentDb.TableDefs - тормозит нещадно ... никто такого не замечал???
...
Рейтинг: 0 / 0
18.07.2004, 20:47:23
    #32609701
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что случилось в Access 2002 с объектами TableDef?
А как ты это видишь?
...
Рейтинг: 0 / 0
18.07.2004, 21:06:55
    #32609709
Иван FXS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что случилось в Access 2002 с объектами TableDef?
Как-как ... глазами - вижу как движется секундная стрелка ;-)

Я скажу вам больше: код

Код: plaintext
1.
2.
3.
Sub Sub1()
MsgBox CurrentDb.TableDefs("myTable").Name
End Sub

- выдает (подумав секунды две-три, что само по себе уже очень странно) ожидаемое сообщение ("myTable"), а код

Код: plaintext
1.
2.
3.
4.
5.
Sub Sub2()
Dim td As DAO.TableDef
Set td = CurrentDb.TableDefs("myTable")
MsgBox td.Name
End Sub

- выдает "Run-time error '3420': Указан недопустимый объект, или объект более не задан."

:-(((

__________________
А вот - описание "ошибки 3420":

Неверный или не заданный объект. (Ошибка 3420)
Попытка ссылки на объект, который более не является определенным или не имеет заданного значения.

Возможные причины:

Объект был закрыт.
Был закрыт или удален родительский объект, с которым был связан данный объект.
Объект вышел из области определения.
Библиотека объектов не зарегистрирована в реестре Microsoft® Windows®.
Сделана попытка ссылки на метод или свойство семейства без его предварительного присвоения переменной. Например, для ссылки на свойство Name необходимо использовать следующую конструкцию:
Dim dbsPublish As Database

Set dbsPublish = OpenDatabase("BIBLIO.mdb")

dbname = dbsPublish.Name
...
Рейтинг: 0 / 0
18.07.2004, 21:52:24
    #32609717
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что случилось в Access 2002 с объектами TableDef?
Иван FXSSet td = CurrentDb.TableDefs("myTable")
- выдает "Run-time error '3420': Указан недопустимый объект, или объект более не задан."
Это известное явление. Currentdb надо либо запомнить в переменной, либо вынести в строку With.
...
Рейтинг: 0 / 0
19.07.2004, 10:06:08
    #32609922
ячсм
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что случилось в Access 2002 с объектами TableDef?
Владимир Саныч Иван FXSSet td = CurrentDb.TableDefs("myTable")
- выдает "Run-time error '3420': Указан недопустимый объект, или объект более не задан."
Это известное явление. Currentdb надо либо запомнить в переменной, либо вынести в строку With.
Или TableDefs запомнить в переменную (или в блок With)

З.Ы. Удивительно, что человек это обнаружил только в 2002-м аксесе :)
...
Рейтинг: 0 / 0
19.07.2004, 10:14:57
    #32609942
Иван FXS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что случилось в Access 2002 с объектами TableDef?
Э-кх-ммм ... а вчем тут фишка: почему именно с TableDef у CurrentDb такие заморочки?
Всю жизнь пишу, например:
Set rst= CurrentDb.OpenRecordset("труляля")
- и никогда не возникало необходимости в "Currentdb надо либо запомнить в переменной" ? :-(
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Что случилось в Access 2002 с объектами TableDef? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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