Пытаюсь из Excel добраться до mdb базы, делаю как в VBA:
Dim dbs As Database, rst As Recordset
Set dbs = OpenDatabase("c:\work\excel\Plat.mdb")
Set rst = dbs.OpenRecordset("SELECT * from Plateg_DB where Numb = 1")
и на последней строке получаю Type mismatch. Из-за чего это и как это побороть, подскажите. Причем, если ошибиться в запросе SQL, то получаю сообщение от ODBC, т.е. OpenRecordset срабатывает, но вот присвоить в rst не хочет!!!
A>Пытаюсь из Excel добраться до mdb базы, делаю как в VBA:
A> Dim dbs As Database, rst As Recordset A> A> Set dbs = OpenDatabase("c:\work\excel\Plat.mdb") A> Set rst = dbs.OpenRecordset("SELECT * from Plateg_DB where Numb = 1")
A>и на последней строке получаю Type mismatch. Из-за чего это и как это побороть, подскажите. Причем, если ошибиться в запросе SQL, то получаю сообщение от ODBC, т.е. OpenRecordset срабатывает, но вот присвоить в rst не хочет!!!
Это выглядит как конфликт библиотек типов. Посмотри, что у тебя подключено в References, скорее всего ты испрользуешь вместе DAO и ADO. В этом случае у тебя Database — DAO, Recordset — ADO.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте Alexs, вы писали:
A>Пытаюсь из Excel добраться до mdb базы, делаю как в VBA...
А зачем такой гимор. Не проще ли через ODBC (меню Данные — Внешние данные — Создать запрос... Дальше по визарду).
Re: Excel + *.mdb
От:
Аноним
Дата:
03.11.03 01:46
Оценка:
Можно написать:
Dim dbs as Database
Dim rst as DAO.Recordset 'Чтобы избежать конфликта DAO и ADO
Здравствуйте, Alexs, Вы писали:
A>Пытаюсь из Excel добраться до mdb базы, делаю как в VBA:
A> Dim dbs As Database, rst As Recordset
A> Set dbs = OpenDatabase("c:\work\excel\Plat.mdb") A> Set rst = dbs.OpenRecordset("SELECT * from Plateg_DB where Numb = 1")
A>и на последней строке получаю Type mismatch. Из-за чего это и как это побороть, подскажите. Причем, если ошибиться в запросе SQL, то получаю сообщение от ODBC, т.е. OpenRecordset срабатывает, но вот присвоить в rst не хочет!!!