Agregar registros de acuerdo a diferencia de dos campos

Estoy medio trabado queriendo armar una macro. La situación es así:

Tengo un formulario con origen a tabla INGRESO TEMPORAL donde se ingresa un número de ID (Número) y FECHA (Fecha corta), y luego líneas donde hay tres campos

DESDE (Número) HASTA (Número) METROS (Número)

Lo que quiero es generar una macro para que cuando el usuario presione un botón, la macro agregue en la tabla MEDIDORES todos los datos para todos los números entre DESDE y HASTA inclusive, o sea, si por ejemplo se cargara:

ID     = 1
FECHA  = 21/09/2016
DESDE  = 100
HASTA  = 105
METROS = 2

En la tabla medidores se anexen 6 registros:

ID  FECHA       NUMERO  METROS
1   21/09/2016  100     2
1   21/09/2016  101     2
1   21/09/2016  102     2
1   21/09/2016  103     2
1   21/09/2016  104     2
1 21/09/2016  105 2

Imagino que tengo que usar DCount pero no me está saliendo. Consulto para ver si alguien me puede dar una mano con este problema.

1 Respuesta

Respuesta
1

Pon este código en el evento "Al hacer click" de tu botón del formulairo:

Dim rst As DAO:Recordset
Dim i As Long
Set rst=Me.RecordsetClone
If rst.RecordCount=0 The Exit Sub
rst.MoveFirst
Do Until rst.EOF
   For i=rst("DESDE") To rst("HASTA")
       CurrentDb.Execute "INSERT INTO MEDIDORES (ID,FECHA;NUMERO,METROS) VALUES(" & rst("ID") & _
                 ","#" & Format(rst("FECHA"),"mm/dd/yyyy") & "#," & i & "," & rst("METROS") & ")"
   Next i
   rst.MoveNext
Loop
rst.Close
Set rst=Nothing

Ese código te servirá perfectamente siempre y cuando vayas borrando la tabla INGRESO TEMPORAL después de hacer la inserción, pues de lo contrario, te volverá a insertar los mismos valores.

Un saludo.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas