|
|
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть программулина, которая из себя создает еще один Access.Application (в переменную app), создает там новую базу данных (NewCurrentDb) и пытается к этой базе получить доступ через app.CurrentDB Проблема в следующем: на Access2000 все это работает на ура, а вот на 2003 выскакивает после обработчика ошибок, ошибка "Метод CurrentDB недоступен для объекта _application", а если в режиме трассировки, то текст ошибки такой "Сервис ... не зарегистрирован". Может кто знает, в чем дело, и как это лечится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 17:50:20 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
Это на одном компе? DAO вообще работет? Может зарегистрировать его regsvr32? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 18:06:46 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
а библиотеку ADO не пробовали подключить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 18:07:21 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
kedzoа библиотеку ADO не пробовали подключить? тьфу, DAO! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 18:07:39 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
А через OpenDatabase не лучше будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 18:20:31 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
про то, что код Ваш в 2К работал, - подозреваю, что Вы соврамши. Нетути тама ссылки на ДАО по умолчанию. В 97м он у Вас работал - это точно. А вот чтобы после 97 заработал, надо апликейшену в ссылки дао добавить. Сделать это можно 2мя способами (см хелп на аппликейшн). Например так Код: plaintext 1. 2. 3. 4. 5. 6. (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 18:56:14 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
Дорогой Victosha. Я врать не привыкла, когда мне помощь нужна. И код мой выглядел именно ТАК КАК ВЫ(!!!) НАПИСАЛИ еще ДО того как я сюда обратилась. И references так же подключается и все-все-все. И ссылку я там ставила не по умолчанию, а создавала динамически (точь-в-точь как у Вас). Однако же не работает в Офис 2003, в Офис ХР работает, там - нет. А 97-го аксеса у меня на машине в помине не стояло - вся прога писалась под Офис ХР. И нефиг обвинять меня в том, чего Вы сами не знаете. По себе судите? ;) Не считайте людей тупее Вас, гения. Остальным спасибо, отвечаю: 1. Ссылки на ДАО все подключены. 2. Нет, это на разных машинах. Попробую через регсвр. 3. В другом месте программы есть и подключение через OpenDatabase - та же фигня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 19:15:57 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
Стоит заметить, что 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).) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 19:17:51 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
если хотите сохранить именно вызов AddFromGUID, то - вряд ли изменился сам гуид. а вот номера старшей/младшей версии могли поменяться - зайдите в оле-вью или смотрите регедитом впрямо в реестре ЕНсли Вам все равно как цепляться - второй метод типа app.References.AddFromFile(DaoDllFullFilePath) Уж он то не имеет права отказать. ЗЫ сорри - на сегодня все. труба... (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 19:21:12 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
автор1. Ссылки на ДАО все подключены. 2. Нет, это на разных машинах. Попробую через регсвр. 3. В другом месте программы есть и подключение через OpenDatabase - та же фигня. Да, вероятно нужна перерегистрация (переустановка) DAO. Проверьте просто в окне отладки ?CurrentDb.Name сработает, нет ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 19:25:41 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
ПС 2 замечание Serge Gavrilov озадачивает, а думать нету чем... (((; ... Воопче то неплохо было бы хучь каку шправку на сей счет про 2003 навесть... АУ, хто тут 2003 - выходи... (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 19:25:47 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
Проблему воспроизвести не удалось. DAO прицеплена перед ADO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 19:31:06 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
вот подумал, если даже требуется перерегистрация , то поъем ссылки из файла ПОЛНОСТЬЮ обеспечивает ее (перерегистрацию). Другой вопрос - можно ли умудрится установить 2003й, без хотя бы копирования DAO-библиотек... - если да, то это была бы существенная (для меня) информация (мне так каатся..) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 19:31:26 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
ELKa Дорогой Victosha. ... нефиг обвинять меня в том, чего Вы сами не знаете. По себе судите? ... Сужу, действительно, по себе. Не знаю как Вам, а мне больше НЕ ПО КОМУ СУДИТЬ. Более того - ни по кому другому, как бы это ему не хотелось, и не собираюсь судить ни при каких обстоятельствах. ---------------------- А не могли бы Вы, сударыня, кусок кода своего неработающего под 2003 - для всеобщего образования положить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 22:52:57 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
То Victosha Я же сказала, что код мой от Вашего практически не отличается. Я проще скажу: если у меня проблема, и я хочу помощи, то я описываю ее так, как есть (это как минимум логично), а не "соврамши", как Вы, сударь ;), изволили выразиться. То есть если я говорю, что работает на 2000, на 2003 нет, то значит так оно и есть (а смысл мне вообще вопрос задавать тогда, если так не есть). Понимаете, обидна не суть Вашего ответа (суть как-раз понятна и относится к делу), а его форма. Незаслуженно обидеть человека очень легко. Кстати, ссылка на DAO - является (по крайней мере в версиях Офиса с 2000 и дальше) - обязательной, посему она присутствует всегда даже в пустой новой БД (собсно подтверждаю слова Serge Gavrilov ). Я , возможно не очень понятно написала: обрашение к currentDB идет не из той БД, к которой он относится, а из той, из которой создается эта БД, т.е. нечто вроде: Код: plaintext 1. 2. 3. 4. 5. !!!!!!! В любом случае прав был тот человек ( Serge Gavrilov ), который посоветовал regsvr32.exe DAO360.dll ОТДЕЛЬНОЕ ему СПАСИБО . Все уже работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 11:05:42 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
То Victosha Я же сказала, что код мой от Вашего практически не отличается. Я проще скажу: если у меня проблема, и я хочу помощи, то я описываю ее так, как есть (это как минимум логично), а не "соврамши", как Вы, сударь ;), изволили выразиться. То есть если я говорю, что работает на 2000, на 2003 нет, то значит так оно и есть (а смысл мне вообще вопрос задавать тогда, если так не есть). Понимаете, обидна не суть Вашего ответа (суть как-раз понятна и относится к делу), а его форма. Незаслуженно обидеть человека очень легко. Кстати, ссылка на DAO - является (по крайней мере в версиях Офиса с 2000 и дальше) - обязательной, посему она присутствует всегда даже в пустой новой БД (собсно подтверждаю слова Serge Gavrilov ). Я , возможно не очень понятно написала: обрашение к currentDB идет не из той БД, к которой он относится, а из той, из которой создается эта БД, т.е. нечто вроде: Код: plaintext 1. 2. 3. 4. 5. !!!!!!! В любом случае прав был тот человек ( Serge Gavrilov ), который посоветовал regsvr32.exe DAO360.dll ОТДЕЛЬНОЕ ему СПАСИБО . Все уже работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 11:06:35 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
авторВсе уже работает Ну и ладушки. ---------------------------- ПС - про соврамши, гения и сами не знаете про гениев: за гения - спасибо конечно, но впредь кумиров вряд ли стоит себе создавать - от этого душа костенеет. про сами не знаете. не знаю, и, почему то не стесняюсь этого. по соврамши Вот спросили Вы так: авторЕсть программулина, которая из себя создает еще один Access.Application (в переменную app), создает там новую базу данных (NewCurrentDb) и пытается к этой базе получить доступ через app.CurrentDB ближайший по написанию к запрошенному - NewCurrentDatabase а в показанном коде - оказалось так: авторapp.OpenCurrentDatabase ... (с выражением лица) (и наилучшими пожеланиями). :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 11:19:12 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
Victosha Про соврамши - Если Вы не против, загляните в свое первое послание в моей теме - там Вы говорите что я "соврамши" по поводу версии Access в котором прога работает и в котором - не работает. Еще раз грю: по этому поводу я абсолютно не "соврамши". А насчет кода - если бы вы были чуть-чуть внимательнее, то прочитали бы, что я писала, что в коде моем есть места, где используется NewCurrentDatabase (простите, первый раз хотелось сокращенно написать - думала все поймут), и есть места, где OpenCurrentDatabase. Суть проблемы была НЕ в этих методах, а вообще в невозможности обрашения к методу currentdb в параллельно запущенном Access Application. В общем, считаю что эту бесполезную дискуссию стоит завершить. Только пожелание к Вам , Victosha , быть поаккуратнее в своих высказываниях (напиши Вы свое послание в виде "мне кажется, что Вы могли ошибиться с версией Access, потому что насколько Я знаю, это Access 97..." и далее по тексту - это не было бы так оскорбительно). Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 12:03:10 |
|
||
|
Нет доступа к методу CurrentDB вне текущего Application
|
|||
|---|---|---|---|
|
#18+
2 ELKa :) буду стараться , хотя мне показалось, что я ни на чем не настаивал. в остальном по существу Вы правы. (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 12:12:55 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32648227&tid=1672497]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 375ms |

| 0 / 0 |
