Saltar al contenido

Recordset. ¿Editar o actualizar la instrucción sql vba forma más rápida de actualizar?

Ya no necesitas indagar más por todo internet ya que estás al lugar correcto, tenemos la solución que quieres sin liarte.

Solución:

Asumiendo WHERE columnc = 20 selecciona más de 1000 filas, como mencionó en un comentario, ejecutando eso UPDATE La declaración debe ser notablemente más rápida que recorrer un conjunto de registros y actualizar sus filas una a la vez.

La última estrategia es un enfoque RBAR (Row By Agonizing Row). La primera estrategia, ejecutar un único (válido) UPDATE, es un enfoque “basado en conjuntos”. En general, basado en conjuntos triunfa sobre RBAR con respecto al rendimiento.

Sin embargo, sus 2 ejemplos plantean otros problemas. Mi primera sugerencia sería usar DAO en lugar de ADO para ejecutar su UPDATE:

CurrentDb.Execute stSQL, dbFailonError

Cualquiera que sea la estrategia que elija, asegúrese de columnac está indexado.

El método SQL suele ser el más rápido para las actualizaciones masivas, pero la sintaxis suele ser complicada.

El método VBA, sin embargo, tiene las claras ventajas de que el código es más limpio y el conjunto de registros se puede usar antes o después de la actualización/edición sin solicitar los datos. Esto puede marcar una gran diferencia si tiene que hacer cálculos extensos entre actualizaciones. Además, el conjunto de registros se puede pasar ByRef a funciones de soporte o procesamiento posterior.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *