powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по ADO рекордсету (задержка обновления данных)
6 сообщений из 6, страница 1 из 1
Вопрос по ADO рекордсету (задержка обновления данных)
    #39517060
Mant1s0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день.

Возникла необходимость перехода от DAO рекордсетов к ADO, столкнулся со следующей проблемой - если я вношу изменения в RS, и сразу после этого обновляю форму, в которой присутствуют измененные записи, я не вижу изменений.
Решается это с помощью задержки в коде - но это сильно понижает быстродействие. Можно как-то это решить по-другому? В ADO таких проблем нет.
...
Рейтинг: 0 / 0
Вопрос по ADO рекордсету (задержка обновления данных)
    #39517155
`
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
`
Гость
Mant1s0,

Это решает проблему
(Оставляя за скобками всю нерациональность подхода)

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
Private Sub Кнопка1_Click()
    Dim ADOConn As New ADODB.Connection
    Dim ADORec As New ADODB.Recordset
    Dim ADORec2 As New ADODB.Recordset
  
    ADOConn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source= " & CurrentDb.Name & ";"
    ADOConn.Open
    Set ADORec.ActiveConnection = CurrentProject.Connection 'ADOConn
    ADORec.LockType = adLockOptimistic
    ADORec.CursorType = adOpenKeyset
    ADORec.Source = "tbl_Groups"
    ADORec.Open
      
    ADORec.AddNew
    NewGroupID = ADORec.Fields("GroupID").Value
    ADORec.Update
    
    ADORec.Close
    Set ADORec = Nothing
    
    Set ADORec2.ActiveConnection = CurrentProject.Connection 'ADOConn
    ADORec2.LockType = adLockOptimistic
    ADORec2.CursorType = adOpenKeyset
    strSQL = "SELECT * FROM tbl_Products WHERE CB = TRUE"
    ADORec2.Source = strSQL
    ADORec2.Open
    
    ADORec2.MoveLast
    ADORec2.MoveFirst
    
    rsCount = ADORec2.RecordCount
    
    For i = 1 To rsCount
        ADORec2.Fields("GroupID") = NewGroupID
        ADORec2.Fields("CB") = False
        ADORec2.Update
        ADORec2.MoveNext
    Next
    ADORec2.Close
    Set ADORec2 = Nothing
    
    
    
    'пауза
    
    Me.Requery
    DoCmd.OpenForm "frm_GroupCard", acNormal, , "GroupID = " & NewGroupID
End Sub
...
Рейтинг: 0 / 0
Вопрос по ADO рекордсету (задержка обновления данных)
    #39517188
Mant1s0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
`,

Все работает, спасибо.
Правильно ли я понимаю, что после переноса таблиц на MS SQL проблема вернется?
...
Рейтинг: 0 / 0
Вопрос по ADO рекордсету (задержка обновления данных)
    #39517253
`
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
`
Гость
Mant1s0,

На сервере, оформь все эти "приседания" по созданию групы и переносу элементов в одну ХП, и никаких проблем не будет
...
Рейтинг: 0 / 0
Вопрос по ADO рекордсету (задержка обновления данных)
    #39517288
Mant1s0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
`,

Ок. Спасибо.
А в чем суть описанной выше проблемы?
...
Рейтинг: 0 / 0
Вопрос по ADO рекордсету (задержка обновления данных)
    #39517311
`
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
`
Гость
Mant1s0А в чем суть описанной выше проблемы?Коротко - разные коннекшионы, в которых открыты твои рекордсеты в ВБА и рекордсет формы
Тут, подробней - Почти FAQ. Не работает, начинаем отлаживать - работает
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по ADO рекордсету (задержка обновления данных)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]