Вопрос № 101128: Ув. эксперты вопрос по VB - Access. Я эксперементирую (обучаюсь) при помощи книги "Пол Киммел Программирование для Microsoft Access 2002" И вот у меня не выходит с одним кодом программы указанном там. Вылетает ошибка Run - time error '-2147...
Вопрос № 101.128
Ув. эксперты вопрос по VB - Access. Я эксперементирую (обучаюсь) при помощи книги "Пол Киммел Программирование для Microsoft Access 2002" И вот у меня не выходит с одним кодом программы указанном там. Вылетает ошибка Run - time error '-214727843(80040e-400)
Не выполнена проверка подлинности.
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data source" & DatabasePath - подчеркивается желтым....
Таблицу создал вбил данные...
Помогите пожалуйста это исправить. И вот еще что... как книга и какую можете посоветовать для изучения с примерами кода... Легкую в понимании...
Приложение:
Отправлен: 07.09.2007, 00:04
Вопрос задал: Аверин АС (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Шишкин Максим Алексеевич
Здравствуйте, Аверин АС!
НУ насколько я понял из кода то нет Data source.....
--------- Мы не ищем легких путей.... они сами нас находят:)
Ответ отправил: Шишкин Максим Алексеевич (статус: 1-ый класс)
Ответ отправлен: 07.09.2007, 03:23 Оценка за ответ: 3 Комментарий оценки: Всё верно, но мало поиснил... спасибо!!!
Отвечает: Alexander N. Monastyrsky
Здравствуйте, Аверин АС!
Ошибка в параметрах открытия базы. Утеряно "=" после Data source.
Const DatabasePath = _
"C:SanchezProverkaContacts.mdb"
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data source=" & DatabasePath
Все параметры должны присваиваться.
Удачи.
--------- Страшен Русский сервис, бессмысленный и беспощадный...
Ответ отправил: Alexander N. Monastyrsky (статус: 2-ой класс)
Ответ отправлен: 07.09.2007, 10:17 Оценка за ответ: 3 Комментарий оценки: Спасибо, но я новичёк можно подробней... Насчет "=" оператора присваивания знаю... Спасибо...
Отвечает: Филатов Евгений Геннадьевич
Здравствуйте, Аверин АС!
Попробуйте открыть так :
dbf.Open "Persist Security Info=False;DSN=База данных MS Access;DBQ=C:SanchezProverkaContacts.mdb;DefaultDir=;FIL=MS Access;MaxBufferSize=2048;PageTimeout=300;UID=admin;"
Это если из внешней программы или открывать внешнюю базу. В "Источниках данных ODBC" должен быть соответствующий DSN ( ставится из mdac_typ.exe версии 2.7 или 2.8 ) или добавить вручную и настроить на базы MDB .
Если же модуль находится в самой базе и производится подключение к ней, то это можно сделать так :
Set Connection = CurrentProject.Connection
Насчет книги посоветовать не могу - сам учился по HELP'ам и MSDN. Лучше всего учиться на каком-то реальном задании.
С уважением.
Ответ отправил: Филатов Евгений Геннадьевич (статус: 8-ой класс)
Ответ отправлен: 07.09.2007, 10:28 Оценка за ответ: 4
Отвечает: Залетин Виталий Викторович (мь!тарь)
Здравствуйте, Аверин АС!
Знак равенства после Data source потерян. Делайте, например, так:
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Database.Path
Теперь вопросы: Зачем лишний объект ADODB.Catalog? Можно же в открытии рекордсета поставить сам объект ADODB.Connection:
Я бы советовал почитать по базам данных такие книги:
Р. Дженнингс "Руководство разработчика баз данных на Visual Basic 6.0"
Р. Дженнингс "Использование Microsoft Office Access 2003. Специальное издание"
Р. Дженнингс "Использование Microsoft Access 2000. Специальное издание"
--------- Учиться никогда не поздно. Особенно программированию!
Ответ отправил: Залетин Виталий Викторович (мь!тарь) (статус: Студент)
Ответ отправлен: 09.09.2007, 14:33 Оценка за ответ: 5 Комментарий оценки: Пожалуй исчерпывающе, спасибо...