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

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

Может кто знает, в чем дело, и как это лечится?
...
Рейтинг: 0 / 0
12.08.2004, 18:06:46
    #32647524
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет доступа к методу CurrentDB вне текущего Application
Это на одном компе?
DAO вообще работет? Может зарегистрировать его regsvr32?
...
Рейтинг: 0 / 0
12.08.2004, 18:07:21
    #32647527
kedzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет доступа к методу CurrentDB вне текущего Application
а библиотеку ADO не пробовали подключить?
...
Рейтинг: 0 / 0
12.08.2004, 18:07:39
    #32647528
kedzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет доступа к методу CurrentDB вне текущего Application
kedzoа библиотеку ADO не пробовали подключить?
тьфу, DAO!
...
Рейтинг: 0 / 0
12.08.2004, 18:20:31
    #32647548
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет доступа к методу CurrentDB вне текущего Application
А через OpenDatabase не лучше будет
...
Рейтинг: 0 / 0
12.08.2004, 18:56:14
    #32647594
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет доступа к методу CurrentDB вне текущего Application
про то, что код Ваш в 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
12.08.2004, 19:15:57
    #32647615
ELKa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет доступа к методу CurrentDB вне текущего Application
Дорогой Victosha.
Я врать не привыкла, когда мне помощь нужна. И код мой выглядел именно ТАК КАК ВЫ(!!!) НАПИСАЛИ еще ДО того как я сюда обратилась. И references так же подключается и все-все-все. И ссылку я там ставила не по умолчанию, а создавала динамически (точь-в-точь как у Вас). Однако же не работает в Офис 2003, в Офис ХР работает, там - нет.
А 97-го аксеса у меня на машине в помине не стояло - вся прога писалась под Офис ХР.
И нефиг обвинять меня в том, чего Вы сами не знаете. По себе судите? ;) Не считайте людей тупее Вас, гения.

Остальным спасибо, отвечаю:
1. Ссылки на ДАО все подключены.
2. Нет, это на разных машинах. Попробую через регсвр.
3. В другом месте программы есть и подключение через OpenDatabase - та же фигня.
...
Рейтинг: 0 / 0
12.08.2004, 19:17:51
    #32647616
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет доступа к методу CurrentDB вне текущего Application
Стоит заметить, что 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
12.08.2004, 19:21:12
    #32647619
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет доступа к методу CurrentDB вне текущего Application
если хотите сохранить именно вызов AddFromGUID, то - вряд ли изменился сам гуид.
а вот номера старшей/младшей версии могли поменяться -

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

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

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

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


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

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

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

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


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

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

...

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

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

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


А не могли бы Вы, сударыня, кусок кода своего неработающего под 2003 - для всеобщего образования положить?
...
Рейтинг: 0 / 0
13.08.2004, 11:05:42
    #32648223
ELKa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет доступа к методу CurrentDB вне текущего Application
То 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
13.08.2004, 11:06:35
    #32648227
ELKa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет доступа к методу CurrentDB вне текущего Application
То 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
13.08.2004, 11:19:12
    #32648266
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет доступа к методу CurrentDB вне текущего Application
авторВсе уже работает

Ну и ладушки.

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

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

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

по соврамши

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

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

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

авторapp.OpenCurrentDatabase

...

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

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

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

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

:)

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

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


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