Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как определить, что файл - это база ACCESS без коннекта / 7 сообщений из 7, страница 1 из 1
23.07.2003, 20:56
    #32216298
Elias
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, что файл - это база ACCESS без коннекта
Как определить, что некоторый файл на диске - это база ACCESS?
На расширение файла, я думаю, полагаться не стоит. Коннектиться к нему чем либо (OBDC, OLE DB, Access) тоже нет возможности. Как можно, открыв файл, и прочитав его содержимое (лучше всего начало), определить, что это база ACCESS?
...
Рейтинг: 0 / 0
24.07.2003, 05:22
    #32216378
nauvad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, что файл - это база ACCESS без коннекта
'функция проверяет МДБшность файла с именем filename типа C:\basa.txt
'если это файл MDB базы той же версии ACCESS (или библиотеки DAO, если проверка не из оболочки ACCESS) то вернет 0
Function ControlMDBFile(ByVal filename As String) As Integer
Dim wsp As DAO.Workspace, dbs As DAO.Database
' Возвращает ссылку на заданную по умолчанию рабочую область.
Set wsp = DBEngine.Workspaces(0)
' Возвращает ссылку на файл filename. Если не ACCESS или не та версия
'то вернет ошибку 3343 Нераспознаваемый формат базы данных: filename.
On Error Resume Next
Set dbs = wsp.OpenDatabase(filename)
'посмотреть, что получилось
Debug.Print Err, Err.Description
'вернуть код ошибки
ControlMDBFile = Err
'освободить объектную переменную
Set dbs = Nothing
End Function
...
Рейтинг: 0 / 0
24.07.2003, 11:07
    #32216579
Elias
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, что файл - это база ACCESS без коннекта
Ну это же функция для DAO. Я написал, что коннектиться к файлу не могу ничем. Т.к. это операция длительная, а файлов для проверки может быть за раз N штук, т.е. м.б. и 10000.
...
Рейтинг: 0 / 0
24.07.2003, 11:17
    #32216592
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, что файл - это база ACCESS без коннекта
Слушай, сам аксес не всегда может определить что ему подсунули.
Никогда что ли не видел фразы типа "Файл поврежден или не является файлом базы данных аксес"?
Так что полагайся на расширение и не мучайся
Другие варианты ничуть не лучше. Ну прочитаешь ты начало файла, вытащишь оттуда что-то, по чему сделаешь вывод что это именно аксесовский файл. И вывод будет неправильным. Ибо аксес этот файл не воспримет.
По определению (близко к нему) - файл является файлом базы данных аксес тогда и только тогда когда с ним может работать аксес
Если аксес не может работать с этим файлом - значит это хрень какая-то, что бы там не было написано в начале файла.
Если аксес может с файлом нормально работать - значит это то что тебе нужно.
...
Рейтинг: 0 / 0
24.07.2003, 11:27
    #32216611
Elias
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, что файл - это база ACCESS без коннекта
Я думаю тут все-равно многоступенчатый процесс нужен - сначала проверка простая и быстрая, а потом уже скармливать прошедших непосредственно ACCESSу.
...
Рейтинг: 0 / 0
24.07.2003, 11:31
    #32216622
Elias
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, что файл - это база ACCESS без коннекта
На расширение полагаться не могу, т.к. сам в программе позволяю архивировать базу в файл с любым расширением (вернее не я, а винда).
Я тут заметил вначале своих ACCESS баз строчку "Standard Jet DB".
Буду наверно полагаться на нее.
...
Рейтинг: 0 / 0
24.07.2003, 12:28
    #32216739
Elias
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить, что файл - это база ACCESS без коннекта
Что неприятно, при коонекте к файлам, которые не база, может вылезать диалог ввода параметров коннекшена - логин/пароль и т.п.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как определить, что файл - это база ACCESS без коннекта / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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