Поделиться через


Свойство Recordset.BatchSize (DAO)

Область применения: Access 2013, Office 2013

Синтаксис

expression . Batchsize

expression: переменная, представляющая объект Recordset.

Примечания

Свойство BatchSize определяет размер пакета, используемый при отправке инструкций на сервер в пакетном обновлении. Значение свойства определяет количество инструкций, отправленных на сервер в одном буфере команд. По умолчанию на сервер в каждом пакете отправляется 15 инструкций. Это свойство можно изменить в любое время. Если сервер базы данных не поддерживает пакетную обработку инструкций, можно задать для этого свойства значение 1, что приведет к отправке каждой инструкции отдельно.

Пример

В этом примере свойства BatchSize и UpdateOptions используются для управления аспектами любого пакетного обновления для указанного объекта Recordset.

Sub BatchSizeX() 
 
 Dim wrkMain As Workspace 
 Dim conMain As Connection 
 Dim rstTemp As Recordset 
 
 Set wrkMain = CreateWorkspace("ODBCWorkspace", _ 
 "admin", "", dbUseODBC) 
 ' This DefaultCursorDriver setting is required for 
 ' batch updating. 
 wrkMain.DefaultCursorDriver = dbUseClientBatchCursor 
 
 ' Note: The DSN referenced below must be configured to 
 ' use Microsoft Windows NT Authentication Mode to 
 ' authorize user access to the Microsoft SQL Server. 
 Set conMain = wrkMain.OpenConnection("Publishers", _ 
 dbDriverNoPrompt, False, _ 
 "ODBC;DATABASE=pubs;DSN=Publishers") 
 
 ' The following locking argument is required for 
 ' batch updating. 
 Set rstTemp = conMain.OpenRecordset( _ 
 "SELECT * FROM roysched", dbOpenDynaset, 0, _ 
 dbOptimisticBatch) 
 
 With rstTemp 
 ' Increase the number of statements sent to the server 
 ' during a single batch update, thereby reducing the 
 ' number of times an update would have to access the 
 ' server. 
 .BatchSize = 25 
 
 ' Change the UpdateOptions property so that the WHERE 
 ' clause of any batched statements going to the server 
 ' will include any updated columns in addition to the 
 ' key column(s). Also, any modifications to records 
 ' will be made by deleting the original record 
 ' and adding a modified version rather than just 
 ' modifying the original record. 
 .UpdateOptions = dbCriteriaModValues + _ 
 dbCriteriaDeleteInsert 
 
 ' Engage in batch updating using the new settings 
 ' above. 
 ' ... 
 
 .Close 
 End With 
 
 conMain.Close 
 wrkMain.Close 
 
End Sub