Propiedad Recordset.BatchSize (DAO)
Se aplica a: Access 2013, Office 2013
Sintaxis
expresión . BatchSize
expression Variable que representa un objeto Recordset.
Comentarios
La propiedad BatchSize determina el tamaño del lote utilizado para enviar instrucciones al servidor en una actualización por lotes. El valor de la propiedad determina el número de instrucciones enviadas al servidor en un búfer de comando. De forma predeterminada, se envían al servidor 15 instrucciones en cada lote. Esta propiedad se puede cambiar en cualquier momento. Si un servidor de base de datos no admite lotes de instrucciones, puede establecer esta propiedad en 1, lo que produce que cada instrucción se envíe por separado.
Ejemplo
En este ejemplo, se usan las propiedades BatchSize y UpdateOptions para controlar aspectos de cualquier actualización por lotes para el objeto Recordset especificado.
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