Вопрос № 45621: Здравствуйте!
Пишу на VB6 и всегда в качестве БД использовала Access. Сейчас необходимо, чтобы мои программы работали на разных версиях Access: 97, 2000, 2002. Как правильно поступить в таком случае? Что можно использовать в качестве БД для работ...
Вопрос № 45.621
Здравствуйте!
Пишу на VB6 и всегда в качестве БД использовала Access. Сейчас необходимо, чтобы мои программы работали на разных версиях Access: 97, 2000, 2002. Как правильно поступить в таком случае? Что можно использовать в качестве БД для работы с VB6, если придется от Access отказаться? Программы используются на персональных компьютерах пользователей.
Отправлен: 08.06.2006, 13:28
Вопрос задала: Neva (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Филатов Евгений Геннадьевич
Здравствуйте, Neva!
Я работаю точно также, пишу на VB6, базы Access.
Для работы с базами Access97 использую DAO, для Access2000 - ADO.
Для работы со всеми версиями Access необходимо работать при помощи ADO, связь через стандартный источник данных ODBC (зарегистрирован в системе под именем "База данных MS Access" и устанавливается при инсталляции Office2000 ).
Пример работы с базами:
Public dbf As New ADODB.Connection
Public r_1 As New ADODB.Recordset
dbf.Open "Persist Security Info=False;DSN=База данных MS Access;DBQ=Pr.mdb;DefaultDir=;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=300;UID=admin;"
r_tmp.Open "update predpr set ROs_file='" & Left(Trim(r2), 100) & "',RJit_file='" & Left(Trim(r3), 100) & "' where RNTR='" & r1 & "';", dbf
dbf.Close
Через стандартные источники данных ODBC можно работать с любыми базами, например далее в моей программе производится переключение на базу SQL Server2000 и в строке подключения меняется только источник DSN и указываются имя пользователя и пароль.
Еще пример для подключения баз Foxpro:
dbf2.Open "Persist Security Info=False;DSN=Файлы dBASE;DBQ=" & CurDir() & ";MaxBufferSize=2048;PageTimeout=300;"
От Access лучше не отказываться, т.к. все эти продукты разработаны Microsoft и отлично работают вместе.
Хочется спросить, почему используются разные версии баз?
Я устанавливал программы на различные компьютеры, причем программа работает с базой даже без установленного Office, не важно какой версии. Главное - при работе через DAO установить из инсталляции Office97 компонент "Доступ к данным", а при работе через ADO установить из инсталляции Office2000 компонент "Microsoft Excel для Windows / Надстройки / ODBC" и все будет работать отлично.
С уважением.
Ответ отправил: Филатов Евгений Геннадьевич (статус: 3-ий класс)
Ответ отправлен: 08.06.2006, 14:44 Оценка за ответ: 5