powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нет доступа к методу CurrentDB вне текущего Application
20 сообщений из 20, страница 1 из 1
Нет доступа к методу CurrentDB вне текущего Application
    #32647480
ELKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Есть программулина, которая из себя создает еще один Access.Application (в переменную app), создает там новую базу данных (NewCurrentDb) и пытается к этой базе получить доступ через app.CurrentDB

Проблема в следующем: на Access2000 все это работает на ура, а вот на 2003 выскакивает после обработчика ошибок, ошибка "Метод CurrentDB недоступен для объекта _application", а если в режиме трассировки, то текст ошибки такой "Сервис ... не зарегистрирован".

Может кто знает, в чем дело, и как это лечится?
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32647524
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это на одном компе?
DAO вообще работет? Может зарегистрировать его regsvr32?
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32647527
Фотография kedzo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а библиотеку ADO не пробовали подключить?
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32647528
Фотография kedzo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kedzoа библиотеку ADO не пробовали подключить?
тьфу, DAO!
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32647548
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А через OpenDatabase не лучше будет
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32647594
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про то, что код Ваш в 2К работал, - подозреваю, что Вы соврамши. Нетути тама ссылки на ДАО по умолчанию.
В 97м он у Вас работал - это точно.
А вот чтобы после 97 заработал, надо апликейшену в ссылки дао добавить.

Сделать это можно 2мя способами (см хелп на аппликейшн).

Например так

Код: plaintext
1.
2.
3.
4.
5.
6.
app.NewCurrentDatabase(uniqfileName)

 'внимание - этоа строка не лубит отладчика 
app.References.AddFromGuid "{00025E01-0000-0000-C000-000000000046}",  5 ,  0 

 'Вот теперь и к CurrentDB не грех постучаться 
Set dbs=app.CurrentDB



(с выражением лица)
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32647615
ELKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дорогой Victosha.
Я врать не привыкла, когда мне помощь нужна. И код мой выглядел именно ТАК КАК ВЫ(!!!) НАПИСАЛИ еще ДО того как я сюда обратилась. И references так же подключается и все-все-все. И ссылку я там ставила не по умолчанию, а создавала динамически (точь-в-точь как у Вас). Однако же не работает в Офис 2003, в Офис ХР работает, там - нет.
А 97-го аксеса у меня на машине в помине не стояло - вся прога писалась под Офис ХР.
И нефиг обвинять меня в том, чего Вы сами не знаете. По себе судите? ;) Не считайте людей тупее Вас, гения.

Остальным спасибо, отвечаю:
1. Ссылки на ДАО все подключены.
2. Нет, это на разных машинах. Попробую через регсвр.
3. В другом месте программы есть и подключение через OpenDatabase - та же фигня.
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32647616
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стоит заметить, что CurrentDB работает и без установки непосредственной ссылки на DAO. Access сам это делает (см. Help на CurrentDb:
Note In Microsoft Access the CurrentDb method establishes a hidden reference to the Microsoft DAO 3.6 Object Library in a Microsoft Access database (.mdb).)
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32647619
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если хотите сохранить именно вызов AddFromGUID, то - вряд ли изменился сам гуид.
а вот номера старшей/младшей версии могли поменяться -

зайдите в оле-вью или смотрите регедитом впрямо в реестре

ЕНсли Вам все равно как цепляться - второй метод типа app.References.AddFromFile(DaoDllFullFilePath)

Уж он то не имеет права отказать.

ЗЫ
сорри - на сегодня все.
труба...


(с выражением лица)
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32647624
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор1. Ссылки на ДАО все подключены.
2. Нет, это на разных машинах. Попробую через регсвр.
3. В другом месте программы есть и подключение через OpenDatabase - та же фигня.

Да, вероятно нужна перерегистрация (переустановка) DAO.
Проверьте просто в окне отладки
?CurrentDb.Name
сработает, нет ...
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32647625
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПС 2

замечание Serge Gavrilov озадачивает, а думать нету чем... (((;
...
Воопче то неплохо было бы хучь каку шправку на сей счет про 2003 навесть...

АУ, хто тут 2003 - выходи...


(с выражением лица)
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32647628
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблему воспроизвести не удалось. DAO прицеплена перед ADO
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32647629
вот подумал, если даже требуется перерегистрация , то поъем ссылки из файла ПОЛНОСТЬЮ обеспечивает ее (перерегистрацию).

Другой вопрос - можно ли умудрится установить 2003й, без хотя бы копирования DAO-библиотек... - если да, то это была бы существенная (для меня) информация (мне так каатся..)
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32647751
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ELKa Дорогой Victosha.
...
нефиг обвинять меня в том, чего Вы сами не знаете. По себе судите?

...

Сужу, действительно, по себе.

Не знаю как Вам, а мне больше НЕ ПО КОМУ СУДИТЬ.
Более того - ни по кому другому, как бы это ему не хотелось, и не собираюсь судить ни при каких обстоятельствах.

----------------------


А не могли бы Вы, сударыня, кусок кода своего неработающего под 2003 - для всеобщего образования положить?
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32648223
ELKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То Victosha Я же сказала, что код мой от Вашего практически не отличается. Я проще скажу: если у меня проблема, и я хочу помощи, то я описываю ее так, как есть (это как минимум логично), а не "соврамши", как Вы, сударь ;), изволили выразиться. То есть если я говорю, что работает на 2000, на 2003 нет, то значит так оно и есть (а смысл мне вообще вопрос задавать тогда, если так не есть). Понимаете, обидна не суть Вашего ответа (суть как-раз понятна и относится к делу), а его форма. Незаслуженно обидеть человека очень легко.

Кстати, ссылка на DAO - является (по крайней мере в версиях Офиса с 2000 и дальше) - обязательной, посему она присутствует всегда даже в пустой новой БД (собсно подтверждаю слова Serge Gavrilov ).

Я , возможно не очень понятно написала: обрашение к currentDB идет не из той БД, к которой он относится, а из той, из которой создается эта БД, т.е. нечто вроде:

Код: plaintext
1.
2.
3.
4.
5.
set app = CreateObject("Access.Application") 
app.OpenCurrentDatabase ("...")

set db = app.currentdb  ' вот это не работает 
app.currentdb.close      '  и так тоже не работает 
'т.е. мне нужно из моей текущей базы сделать какое-то действие  в другой, открытой в app 
Хотя, если обращаться к currentdb текущей базы, тоесть той, из которой другая открывается - то все ок.

!!!!!!!
В любом случае прав был тот человек ( Serge Gavrilov ), который посоветовал regsvr32.exe DAO360.dll
ОТДЕЛЬНОЕ ему СПАСИБО . Все уже работает.
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32648227
ELKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То Victosha Я же сказала, что код мой от Вашего практически не отличается. Я проще скажу: если у меня проблема, и я хочу помощи, то я описываю ее так, как есть (это как минимум логично), а не "соврамши", как Вы, сударь ;), изволили выразиться. То есть если я говорю, что работает на 2000, на 2003 нет, то значит так оно и есть (а смысл мне вообще вопрос задавать тогда, если так не есть). Понимаете, обидна не суть Вашего ответа (суть как-раз понятна и относится к делу), а его форма. Незаслуженно обидеть человека очень легко.

Кстати, ссылка на DAO - является (по крайней мере в версиях Офиса с 2000 и дальше) - обязательной, посему она присутствует всегда даже в пустой новой БД (собсно подтверждаю слова Serge Gavrilov ).

Я , возможно не очень понятно написала: обрашение к currentDB идет не из той БД, к которой он относится, а из той, из которой создается эта БД, т.е. нечто вроде:

Код: plaintext
1.
2.
3.
4.
5.
set app = CreateObject("Access.Application") 
app.OpenCurrentDatabase ("...")

set db = app.currentdb  ' вот это не работает 
app.currentdb.close      '  и так тоже не работает 
'т.е. мне нужно из моей текущей базы сделать какое-то действие  в другой, открытой в app 
Хотя, если обращаться к currentdb текущей базы, тоесть той, из которой другая открывается - то все ок.

!!!!!!!
В любом случае прав был тот человек ( Serge Gavrilov ), который посоветовал regsvr32.exe DAO360.dll
ОТДЕЛЬНОЕ ему СПАСИБО . Все уже работает.
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32648266
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВсе уже работает

Ну и ладушки.

----------------------------
ПС - про соврамши, гения и сами не знаете

про гениев:
за гения - спасибо конечно, но впредь кумиров вряд ли стоит себе создавать - от этого душа костенеет.

про сами не знаете.
не знаю, и, почему то не стесняюсь этого.

по соврамши

Вот спросили Вы так:
авторЕсть программулина, которая из себя создает еще один Access.Application (в переменную app), создает там новую базу данных (NewCurrentDb) и пытается к этой базе получить доступ через app.CurrentDB

ближайший по написанию к запрошенному - NewCurrentDatabase

а в показанном коде - оказалось так:

авторapp.OpenCurrentDatabase

...

(с выражением лица)

(и наилучшими пожеланиями).
:)
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32648400
ELKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Victosha Про соврамши - Если Вы не против, загляните в свое первое послание в моей теме - там Вы говорите что я "соврамши" по поводу версии Access в котором прога работает и в котором - не работает. Еще раз грю: по этому поводу я абсолютно не "соврамши".
А насчет кода - если бы вы были чуть-чуть внимательнее, то прочитали бы, что я писала, что в коде моем есть места, где используется NewCurrentDatabase (простите, первый раз хотелось сокращенно написать - думала все поймут), и есть места, где OpenCurrentDatabase. Суть проблемы была НЕ в этих методах, а вообще в невозможности обрашения к методу currentdb в параллельно запущенном Access Application.

В общем, считаю что эту бесполезную дискуссию стоит завершить. Только пожелание к Вам , Victosha , быть поаккуратнее в своих высказываниях (напиши Вы свое послание в виде "мне кажется, что Вы могли ошибиться с версией Access, потому что насколько Я знаю, это Access 97..." и далее по тексту - это не было бы так оскорбительно).

Спасибо.
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32648431
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ELKa

:)

буду стараться , хотя мне показалось, что я ни на чем не настаивал.
в остальном по существу Вы правы.

(с выражением лица)
...
Рейтинг: 0 / 0
Нет доступа к методу CurrentDB вне текущего Application
    #32648488
Рефери
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бой окончен! Ничья.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нет доступа к методу CurrentDB вне текущего Application
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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