Действительно, тот код находит только один хендл для базы, открытой несколько раз, но для меня это некритично.
Интересно, возможно ли в окне Access 97 перечислить открытые проекты ADP? MDB, например, успешно "взаимно перечисляются" в 97 и XP (библиотека olelibA97 подключается к XP). А с ADP проблема: у ADP-Аппликейшна вместо CurrentDB.Name, как оказалось, нужно смотреть CurrentProject.FullName.
В Access XP прекрасно работает простая поправка:
On Error GoTo TestADP
Debug.Print appAcc.CurrentDb.Name
GoTo ResumeADP
TestADP:
On Error Resume Next
Debug.Print appAcc.CurrentProject.FullName
ResumeADP:
On Error GoTo 0
Но в Access 97 выдаётся ошибка на этапе компиляции: на слово "CurrentProject" ругается "Метод или компонент данных не найден".
А теперь самое интересное: в окне Watches (см. скрин) мы наблюдаем и CurrentProject, и его FullName! (Хотя code completion твёрдо стоит на своём: CurrentDB знаю, CurrentProject не знаю.) Может, всё-таки можно как-то его вытащить?