Buenas, estoy haciendo un pequeño módulo en access 2001 (xD!) el cual va atado a un formulario y a una tabla. Tengo 4 campos: DESDE, HASTA, DIES y MESOS y cuando asigno un valor a uno de estos campos del formulario, este tambien se asigna a la tabla. Todo bien hasta ahí, eso ya lo hace, pero necesito que el valor de los campos se asignen a todos los registros de la tabla, no solo a 1, por lo tanto necesito un bucle y alomejor un array, pero no tengo ni idea de VB y no me aclaro demasiado...
¿Podría echarme un cable alguien?
Este es mi código:
Function CambioValores()
'Definicion de variables
Dim base As DAO.Database
Dim tabla As DAO.Recordset
Dim DESDE As Date
Dim HASTA As Date
Dim DIES As Long
Dim MESOS As Integer
Dim LIMITE As Integer
Dim CONTADOR As Integer
CONTADOR = 0
Set base = CurrentDb 'Asignamos la Base de datos actual a la variable base
Set tabla = base.OpenRecordset("COPIANOMINA") 'Guardamos en la variable tabla toda la tabla COPIANOMINA
LIMITE = tabla.Fields.Count
Do While CONTADOR < LIMITE
DESDE = tabla(2) 'Asignamos que DESDE hace referencia al campo 2 de tabla
HASTA = tabla(3)
DIES = tabla(4)
MESOS = tabla(40)
DESDE = Form_DESDEHASTA.DESDE 'Asignamos a la variable DESDE el valor del campo de nuestro formulario
HASTA = Form_DESDEHASTA.HASTA
DIES = Form_DESDEHASTA.DIES
MESOS = Form_DESDEHASTA.MESOS
Form_DESDEHASTA.DIES = DateDiff("d", HASTA, DESDE) 'Cojo el valor en dias entre las fechas HASTA y DESDE
Form_DESDEHASTA.MESOS = Month(DESDE) 'Asigno a la variable MESOS el valor del mes contenido por DESDE
If Form_DESDEHASTA.DIES < 0 Then
Form_DESDEHASTA.DIES = Form_DESDEHASTA.DIES * (-1)
End If
CONTADOR = CONTADOR + 1
Loop
End Function
Como se ve... lo que no se es cómo cambiar de registro por cada iteración del bucle...
Un saludo.