Страница: 1 |
помогите пожайлуста. во всех материалах по VB 6 которые я встечал описываются методы работы с базами данных типа Access. кто нибудь может подсказать как работать с базами других форматов(например dbf) следующий код дает ошибку 3251 "операция не поддерживается для объектов этого типа" Dim dbb1 As Database Dim rs As Recordset Private Sub Form_Load() Dim sblocation As String sblocation = "D:\VBPROGS\b1\b1.dbf" Set dbb1 = DBEngine.Workspaces(0).OpenDatabase (sblocation) Set rs = dbb1.OpenRecordset("b1", dbOpenDynaset) End Sub подскажите хотя бы где об этом можно почитать
Я работал с помощью ADO. ---------------------------------------------------- Public ConBase As New ADODB.Connection Public RecBase As New ADODB.Recordset dim Arg as string, MasterPath as string MasterPath = "C:\.....\каталог_базы\" Arg = "Driver={Microsoft FoxPro VFP Driver (*.dbf)};UID=;PWD=;SourceDB=" _ & MasterPath & _ ";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes; _ Collate=Machine;Null=Yeseleted=Yes;" ConBase.Open((Arg)) RecBase.Open("Select * From " & "имя_файла_таблицы" & _ ";", ConBase, _ ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic) ---------------------------------------------------- Это примерно, ибо надёргал из старого проекта и между делом редактировал. Здесь есть напряг один: формат dbf юзают несколько типов баз данных (как я понял) и самое главное - формируя строку, для коннекта к базе, сунуть туда имя нужного провайдера. Строка у меня целиком из текста выдрана и если она не подходит, то пиши на мыло и я тебе документацию какая есть вышлю. Ещё, вместо имён таблиц, как в mdb, в запросах используются имена файлов из базы, т.к. в каждом только одна таблица. PS: Когда сам искал - ни одна зараза не подсказала! Такое впечатление, что тут толи собрались исключительно новички, или просто опытом не хотят делиться (( ' For DAO 3.51 ... Replace IV to 5.0 if you are with dBase 5.0 Dim db As Database Dim rs As Recordset Private Sub Form_Load() sDBPath = "c:\dbu\" ' open the database as a dBase IV file, using database path Set db = DBEngine.Workspaces(0).OpenDatabase( _ sDBPath, False, False, "dBase IV;") ' open the database file 'TEST' as a table Set rs = db.OpenRecordset("test", dbOpenTable) With rs If (.EOF And .BOF) Then ' EmptyRecordset Else MsgBox (rs!code) End If End With End Sub and GOOD LUCK... Sorry for delay , we had "May 1" .... Страница: 1 |
Вопрос: работа с базами dbf
Добавлено: 02.09.02 09:46
Автор вопроса: Николай | Web-сайт:
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
Блаш
Вопросов: 10
Ответов: 30
Профиль | | #1
Добавлено: 03.09.02 18:41
Номер ответа: 2
Автор ответа:
LIS
Вопросов: 7
Ответов: 256
Профиль | | #2
Добавлено: 03.09.02 22:38
Номер ответа: 3
Автор ответа:
LIS
Вопросов: 7
Ответов: 256
Профиль | | #3
Добавлено: 03.09.02 22:39