Писать приложение приходится прямо у клиента, т.к. БД предоставить на дом он не может (слишком личная информация). А я ещё на основной работе работаю, где нет инета (из-за политики безопасности), искать негде и некогда. В общем, запарка… Надеюсь, поймете…
Поделитесь плиз описанием, статейками, книгами и ещё чем-нибудь полезным по данной БД, желательно на русском языке. Пишите либо ссылки в топик, либо всё перечисленное в личку или на почту…
Также хочу спросить, есть ли CASE средства для данной БД, по какому принципу осуществляются связи таблиц в БД (целостность данных, есть ли внешние и внутренние ключи), есть ли какой-либо анализатор запросов, отличаются ли синтаксис запросов, по сравнению Access, может ли быть связан аксесовский файл с файлами “DBF”?
Пока сделал заполнение таблицы из файла “DBRPLATR.DBF”, через ADO. Работает, но иногда глючит. Почему – не знаю, ошибка синтаксиса и сортировки (особенно при первом подключении к новой БД).Возможно параметр подключения неправильно указал:
- Код: Выделить всё
"Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=\\GTD\BD\ГТД;"
P.S. Простите за бестактность вопросов...
Делаю так:
- Код: Выделить всё
Public View As String
View = "DBRPLATR.DBF"
- Код: Выделить всё
Public Sub mnuFind_Click()
On Error GoTo Er
'Обновить
'Заполняем таблицу
Set TData1.SourceRecordset = Consts.Find("SELECT * FROM " & View)
Exit Sub
Er:
Screen.MousePointer = vbDefault
MsgBox "Error " & Err.Number & ": " & Err.Description, vbOKOnly + vbCritical, "Error"
End Sub
- Код: Выделить всё
Public Function Find(ByRef sql As String) As ADODB.Recordset
On Error GoTo Er
Connect.Soedinenie = _
"Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=\\GTD\BD\ГТД;"
Screen.MousePointer = vbHourglass
'Подключение к БД
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
cn.Open (Connect.Soedinenie)
'Параметрический запрос
'Обработка БД на VB6 стр. 500
Dim cm As ADODB.Command
Dim rs As ADODB.Recordset
Dim P As ADODB.Parameter
'Создание и иниализация объекта Recordset
Set rs = New ADODB.Recordset
Set rs.ActiveConnection = cn
'Грид поддерживает только клиентский курсор
rs.CursorLocation = adUseClient
rs.LockType = adLockReadOnly
rs.CursorType = adOpenStatic
'Создание объекта ADO command
Set cm = New ADODB.Command
Set cm.ActiveConnection = cn
cm.CommandType = adCmdText
cm.CommandText = sql
'Выполнение команды
rs.Open cm 'Вместо "Set rs = cm.Execute", _
т.к. "cm.Execute" выполняет "SP" на серверном курсоре!
Set Find = rs
Set rs = Nothing 'Обязательно! Иначе - Error 7004!
Screen.MousePointer = vbDefault
Exit Function
Er:
Set Find = Nothing
Screen.MousePointer = vbDefault
MsgBox "Error " & Err.Number & ": " & Err.Description, vbOKOnly + vbCritical, "Error"
End Function