Conocer cómo comparar el registro actual con un registro anterior de Microsoft Office Access puede ayudar a identificar datos repetitivos . El acceso es un sistema de gestión de base de datos relacional utilizada para el diseño de bases de datos locales . Una consulta se utiliza para recuperar datos de las tablas de bases de datos . Visual Basic para Aplicaciones ( VBA ) es un lenguaje de programación utilizado para automatizar tareas rutinarias en Access . En pocos pasos se puede escribir VBA para recorrer los resultados de una consulta. Instrucciones
1
Abra la base de datos Access Northwind Microsoft Office. La base de datos Northwind se incluye en la suite de Microsoft Office. Seleccione el menú "Insertar" y haga clic en
2
Escriba lo siguiente para declarar las variables "Módulo ". :
Rst As Recordset
Dim dbs como base de datos
queryStr dévil como secuencia
qryPrev dévil como secuencia
qryCurrent dévil como secuencia
rstCnt Dim As Integer
Set dbs = CurrentDb
3
Escriba lo siguiente para consultar la tabla " Proveedores ":
queryStr = "SELECT suppliers.Company , "
queryStr = queryStr & " Proveedores [ apellido] ",
queryStr = queryStr y " Proveedores [ Nombre ] "
queryStr = queryStr &" de los proveedores; . ".
4
Escriba lo siguiente para abrir un nuevo conjunto de registros :
Set rst = dbs.OpenRecordset ( queryStr )
rst.MoveLast
rst.MoveFirst
5
Escriba lo siguiente para recorrer los registros del conjunto de registros y comparar el registro actual con el anterior récord :
para rstCnt = 0 para rst.RecordCount - 1
qryPrev = rst . Fields ( "Empresa ") . Valor
qryPrev = qryPrev y rst.Fields ( " [ Apellidos ]" ) . Valor
qryPrev = qryPrev y rst.Fields ( " [ Nombre ] " ). Valor
Si rstCnt < > rst.RecordCount - 1 Entonces
rst.MoveNext
qryCurrent = rst.Fields ( " . Compañía ") Valor
qryCurrent = qryCurrent y rst.Fields ( " [ Apellidos ]" ) . Valor
qryCurrent = qryCurrent y rst.Fields ( " [ Nombre ]" ) . Valor
< p > Si qryPrev = qryCurrent Entonces
Debug.Print " registro anterior es idéntico al registro actual. "
Debug.Print qryPrev
Debug.Print qryCurrent
< p > End If
demás
Debug.Print " Terminado comparar todos los registros ".
End If
Siguiente rstCnt
6 < p > Escriba el siguiente para borrar las variables de la memoria : .
rst.Close
dbs.Close
Press "F5 " para ejecutar la subrutina