 Возможно ли так сделать? Заполняю и обновляю грид так, как показано ниже.
  Возможно ли так сделать? Заполняю и обновляю грид так, как показано ниже.
- Код: Выделить всё
 'Подключение к БД
 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
Не сочтите вопрос глупым, я уже давно пытаюсь решить его!











