|
|
|
| Как из БД Access программно вытащить путь до установленной рабочей группы?
Подскажите, люди добрыя) | |
|
| |
|
|
|
| "путь до установленной рабочей группы" имеется ввиду путь к используемому MDW файлу?
Тогда DBEngine.SystemDB | |
|
| |
|
|
|
| to Анатолий (Киев)
Не совсем... Отвечает только именем файла (дословно: "system.mdb")
А нужен полный путь... | |
|
| |
|
|
|
| У меня в окне отладки:
?DBEngine.SystemDB
C:\Documents and Settings\arm801\Application Data\Microsoft\Access\System.mdw
Почему у вас только имя файла, да еще и system.mdb - не знаю.
Какой у вас Акс и Винда?
Добавлю еще вариант:
?CurrentProject.Connection.ConnectionString
Provider=Microsoft.Jet.OLEDB.4.0;...;Jet OLEDB:System database=C:\Documents and Settings\arm801\Application Data\Microsoft\Access\System.mdw;... | |
|
| |
|
|
|
| to Анатолий (Киев)
Я подключаюсь из Visual Basic, упустил, сорри))
И действительно пишет вместо System.mdb вместо *.mdw
При чем нга результат не влияет даже то, что если указать как рабочую группу "c:\asdf.mdw"
Эххх, как же из этого подключения вытащить системную рабочую группу, установленную как по-умолчанию? Людиии помАжитееее.. Все перерыл...
Подключение так
Dim DbE As DBEngine, Dbs As Database
Set DbE = New DBEngine
Set Dbs = DbE.OpenDatabase("C:\asd.mdb", False, False, ";pwd=asd")
.... | |
|
| |
|
|
|
| дефолтовую можно через реестр
HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Access\Jet\4.0\Engines\SystemDB | |
|
| |
|
|
|
| to osmor
Да, я взял этот вариант как единственно-возможный. Сейчас разрабатываю эту веточку)
Косяк в том, что офисов у пользователя может быть несколько, соответственно данных может быть несколько. Еще в реестре данные могут оставаться от предыдущих офисов.. И еще куча вариантов.. Приходится вначале узнавать из реестра путь к msAccess.exe. Проверять его наличие. Далее узнавать месторасположение файла рабочих групп. Проверять его наличие. И только если все три пункта true, то удачно... НО! А если два-три разных Access установлено у перца?)) И он умудрился указать для каждого свой файл рабочих групп. Ахахх)
К тому же же версий офиса куча, далее, версии 2007 и 2010 живут уже по другим адресам в реестре)))
Но я вроде уже докопался до правды)))) Хотя... )))
Спасибо Вам) | |
|
| |
|
|
|
| Объясните, зачем вам это нужно. Файл System.mdw всегда содержит определенный набор пользователей и групп с определенными правами. Редактировать его нет смысла. Можно использовать любой, какой найдете.
Если хотите установить защиту - создайте свой MDW, положите в ту же папку, где ваш проект и указывайте путь в св-ве SystemDB. | |
|
| |
|
|
|
| to Анатолий (Киев)
Я дорабатываю свою утилиту- AllowShift. В новой версии планирю сделать автоподхват системного файла рабочих групп, если пльзователь укажет "работать с файлом рабочих групп", и выберет "Системный по-умолчанию". Соответственно, отсюда замороки) | |
|
| |