- Код: Выделить всё
'Подключение к БД
Dim rs As ADODB.Recordset
Private Sub Form_Load()
On Error GoTo Er
Screen.MousePointer = vbHourglass
'Подключение к БД
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Persist Security Info=False"
'Параметрический запрос
'Обработка БД на 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 = adLockOptimistic
rs.CursorType = adOpenDynamic
'Создание объекта ADO command
Set cm = New ADODB.Command
Set cm.ActiveConnection = cn
cm.CommandType = adCmdTable
cm.CommandText = "Authors"
'Выполнение команды
rs.Open cm 'Вместо "Set rs = cm.Execute", _
т.к. "cm.Execute" выполняет "SP" на серверном курсоре!
'Заполняем грид
TDBGrid1.DataSource = rs
Screen.MousePointer = vbDefault
Exit Sub
Er:
Set Find = Nothing
Screen.MousePointer = vbDefault
MsgBox "Error " & Err.Number & ": " & Err.Description, vbOKOnly + vbCritical, "Error"
End Sub
Private Sub Timer1_Timer()
On Error GoTo Er
Dim i As Long
Dim c As Integer
i = rs.AbsolutePosition
c = TDBGrid1.Col
'Обновление грида
Call Form_Load
rs.AbsolutePosition = i
TDBGrid1.Col = c
DataGrid1.SetFocus
Exit Sub
Er:
Err.Clear
End Sub
Не сочтите вопрос глупым, я уже давно пытаюсь решить его!