Copiar datos del registro anterior en nuevo registro de formulario

Quería plantearles una cuestión.

Estoy intentando hacer un pequeño formulario de Access para poder llevar el registro de las operaciones de mantenimiento, para mi trabajo, en el cual hay que coger lecturas de unos consumos mensualmente, por ejemplo "Lectura ant comb" que hace referencia a la lectura de combustible tomada el mes anterior, en el caso de ser el primer registro sería cero y "Lectura act com" que hace referencia a la lectura de combustible tomada en el mes actual y calcular el consumo de combustible habido en el periodo, no sé cómo hacer para que me aparezca en el siguiente registro, es decir al mes siguiente la "Lectura ant comb" con los datos de la "Lectura act comb" del registro anterior, para no tener que copiar los datos manualmente.

No sé si es posible hacerlo, de poderse hacer, agradecería me indicasen como.

Adjunto unas capturas de pantalla para que puedan ver como lo he planteado.

2 respuestas

Respuesta
1

Puedes hacerlo de mil formas. Por ejemplo, tengo una tabla Abonados

Y una tabla Lecturas

Donde se podría poner más campos como, consumo por semana, mes, etc.

Con ella hago un formulario, lo pongo continuo, porque se ve mejor

Selecciono el abonado Juan y en ese momento, en Lectura anterior me pone su valor

En el primer registro de Juan me pone como Lectura Anterior 0, pero en los siguientes, ya va poniendo el último valor de Lectura actual

El código del evento Después de actualizar del cuadro combinado Abonado es

Private Sub Abonado_AfterUpdate()
LecturaAnterior = Nz(DLast("lecturaactual", "lecturas", "abonado='" & Me.Abonado & "'"))
End Sub

Y el código del evento Después de actualizar del control LecturaActual es

Private Sub LecturaActual_AfterUpdate()
Consumo = LecturaActual - LecturaAnterior
DoCmd.RunCommand acCmdSaveRecord
ConsumoAcumulado = DSum("consumo", "lecturas", "abonado='" & Me.Abonado & "'")
End Sub
Respuesta
1

En una toma de datos simplemente se anota el valor real del contador, es en un tratamiento posterior (formulario o informe) donde se calcula el consumo perdidas ganancias o lo que sea adecuado.

Y sí, tomar el valor del registro anterior se puede hacer de muchas formas (incluso dejarlo como valor predeterminado para la siguiente entrada), pero siempre implicara una redundancia que se evita si solo se anota una vez el dato.

Un clásico para obtener el dato del registro anterior es utilizar una función de dominio (DMáx) para lo que lo único que se necesita es un campo (del mismo registro) que tenga un valor ascendente (el del contador seria útil si no es una medida parcial) y una medidor parcial no es un dato fiable (se puede reiniciar en cualquier momento y falsear el conjunto).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas