You can change the value of this property after opening the Recordset to send updates to another provider. Or, you can set this property to Nothing (in Microsoft Visual Basic) to disconnect the Recordset from any provider.
Ennor писал(а):Попробуй рекордсет открыть как adReadOnly.
Leon_ писал(а):Попробуй присвоить свойству ActiveConnection открытого рекордсета Nothing -- это сделает его "несвязанным".
Sil писал(а):Можно переформулировать вопрос? Задачка такая:
нужно из recordset считать все записи, но в произвольном порядке. Мне казалось, что проще всего считывать произвольную запись, затем удалять ее (чтобы не было повторений) и следующую считывать. Со считыванием проблем нет, все вроде работает, но содержимое таблички, которое загоняется в recordset, получается одноразовым -)), т.к. при удалении записи из recordset она удаляется из базы. Может быть, есть другой способ добиться того же результата (т.е. случайной выборки)?
Sil писал(а):Говорит, что не может это сделать при открытом recordset.Leon_ писал(а):Попробуй присвоить свойству ActiveConnection открытого рекордсета Nothing -- это сделает его "несвязанным".
rst.Open sQuery, CurrentProject.Connection, adOpenKeyset, adLockOptimistic, adCmdText
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
Set rst.ActiveConnection = CurrentProject.Connection
rst.CursorLocation = adUseClient
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic
rst.Source = "SELECT * FROM table1"
rst.Open
Set rst.ActiveConnection = Nothing
Leon_ писал(а)::roll: Странн-но..
Но это работающий пример, VBA, Access 2002.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3