|
Программно узнать, какая база запущена? MDB или ACCDB?
|
|||
---|---|---|---|
#18+
Есть у меня задача в которой есть диалог подключения баз. Веду я её в формате MDB, а затем конвертирую в ACCDB. Так надо. (Одни клиенты работают с форматом MDB, а другие с ACCDB). Из MDB можно подключаться только к MDB, а из ACCDB - к MDB и ACCDB. И это надо учитывать в программе. Можно ли программно определить версию работающего файла? Версию именно базы, а не Access? Вроде что-то такое как-то проскальзывало. Моё решение пока такое. Получаю полный путь к рабочей базе. Отрезаю расширение файла и анализирую его. Если присутствует ACCD - значит 12 версия, если нет, то MDB. А может есть другой способ? ------------------------------------------------------------- А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 12:41 |
|
Программно узнать, какая база запущена? MDB или ACCDB?
|
|||
---|---|---|---|
#18+
Joss, А что говорит свойство "CurrentDB.Name"? Там ведь полное название файла. Ну так посмотрите расширение файла. Не вариант? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 12:53 |
|
Программно узнать, какая база запущена? MDB или ACCDB?
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
У меня получается "4.0" для mdb и "12.0" для ACCDB А вот что в справке Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 13:00 |
|
Программно узнать, какая база запущена? MDB или ACCDB?
|
|||
---|---|---|---|
#18+
JossВерсию именно базы, а не Access?CurrentDB.Properties("AccessVersion")? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 13:01 |
|
Программно узнать, какая база запущена? MDB или ACCDB?
|
|||
---|---|---|---|
#18+
studierenJoss, А что говорит свойство "CurrentDB.Name"? Там ведь полное название файла. Ну так посмотрите расширение файла. Не вариант? Я же описал точно такой же способ авторПолучаю полный путь к рабочей базе. Отрезаю расширение файла и анализирую его. Если присутствует ACCD - значит 12 версия, если нет, то MDB. А полное имя можно получить несколькими способами. Например Код: plaintext
Код: vbnet 1.
выдаёт 12.0 Код: vbnet 1.
выдаёт 12 А вот Код: vbnet 1.
для ACCDB выдаёт 09.50 а для MDB выдаёт 08.50 что то тут не совсем понятно. Тестировалось в Access 2010, формат базы MDB - 2000 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 13:17 |
|
Программно узнать, какая база запущена? MDB или ACCDB?
|
|||
---|---|---|---|
#18+
Провёл тестирование Оператор ?currentdb.Version для MDB 2000 - 4.0 для MDB 2002-2003 - 4.0 для ACCDB - 12.0 Оператор ?currentproject.FileFormat для MDB 2000 - 9 для MDB 2002-2003 - 10 для ACCDB - 12 Оператор ?CurrentDB.Properties("AccessVersion") для MDB 2000 - 08.50 для MDB 2002-2003 - 09.50 для ACCDB - 09.50 Получается, что более точно формат базы определяет оператор ?currentproject.FileFormat ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 13:42 |
|
Программно узнать, какая база запущена? MDB или ACCDB?
|
|||
---|---|---|---|
#18+
Вот ещё ссылки, где обсуждали похожую проблему http://www.sql.ru/forum/312058/kak-opredelit-versiu-mdb https://qa-help.ru/questions/kak-programmno-uznat-versiyu-access-v-kotoroy-sozdavalas-bd Всем спасибо за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 13:56 |
|
Программно узнать, какая база запущена? MDB или ACCDB?
|
|||
---|---|---|---|
#18+
Joss https://qa-help.ru/questions/kak-programmno-uznat-versiyu-access-v-kotoroy-sozdavalas-bd Да! Сильно. Найти в сети на каком-то сайте ответ на вопрос (собстна весь тред) стащенный с этого подфорума. Как программно узнать версию Access, в которой создавалась БД? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 14:38 |
|
|
start [/forum/topic.php?fid=45&msg=39713529&tid=1611135]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
131ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 316ms |
total: | 538ms |
0 / 0 |