Restar en Access

No tengo mucho en access por lo que diría que soy novato. Tengo un formulario donde capturo la gasolina de varios vehículos y deseo que me reste los km al cargar gasolina con los de la ultima carga, y me de el total de km recorridos entre recarga de gasolina por vehículo.

1 respuesta

Respuesta
1

Con la información que me das no puedo darte una respuesta correcta. Necesitaría saber los nombres de los campos, el nombre del formulario de trabajo y el nombre de la tabla sobre la que se basa el formulario. ¿Qué versión de Access utilizas?

Por otra parte imagino que tienes algún autonumérico que te dé el identificador de registro, porque si no hay algo que "identifique" el orden de las entradas es imposible saber cuál fue la última entrada. Un campo fecha también serviría.

Hola. 

Agradezco tu atención y envío lo solicitado.

Mi Formulario y tabla se llaman Gasolina donde tengo los siguientes campos: Movil, Fecha Consumo, N° de Vale, Litros Cargados, Km Recorrido, Importe neto y Kilometraje al cargar. 

Movil = las unidades que cargan gasolina.

Kilometraje al cargar = Km. marcados en la unidad (aqui es donde deseo restar el km anterior con el capturado)

Km Recorrido = Donde deseo me de por automatico el rendimineto entre carga por Movil.

Nuevamente te agradezco tu atención. Saludos

Sinceramente, no acabo de ver clara la cosa con los datos que me has aportado. O yo no entiendo tu consulta o a mí me faltan campos en tu tabla para recoger los datos que pides. ¿Qué significa "Donde deseo me de por automático el rendimiento entre carga por Móvil"? Con esto parece que estás pidiendo una cosa diferente de lo que pedías en la primera consulta.

En fin... Vamos a ver...

¿Serías tan amable de ponerme los datos de lo que sería una introducción de un registro en tu formulario como si el sistema ya estuviera hecho según lo que pides? Algo así como:

Móvil: 24

Fecha consumo: xx/xx/xx

Km al cargar: 8

Etc...

Y añadir: como en el anterior repostaje los km eran 3, y ahora carga 8, en el campo ZZZ debería salir 5

Etc.

Es importante que me indiques tanto los datos como los campos en los que salen.

A ver si consigo aclararme.

Neckkito, buenas tardes.

Te envío la pantalla de mi Formulario

http://www.subirimagenes.com/imagen-ejemopantalla-7435446.html

Saludos.

Voy a hacer un par de suposiciones sobre los nombres de campos, aunque intentaré emplear los que utilizas (a pesar de no tenerlos muy claros). Si vieras que hay diferencias en los nombres de los campos deberías sustituir los que yo he supuesto por los tuyos.

Los nombres que voy a suponer son:

- [Movil]

- [Kilometraje] -> Es donde tú has escrito, en la imagen, 131200

- [Fecha Consumo]

- [Km Recorrido]

Lo que tienes que hacer es lo siguiente:

1.- En tu formulario en vista diseño seleccionas el campo [Kilometraje]. Sacas sus propiedades y te vas a la Pestaña Eventos -> Después de actualizar, y le generas el siguiente código:

....

Private Sub Kilometraje_AfterUpdate()
'Declaramos las variables
Dim vMov As String
Dim vKmAhora As Long, vKmAntes As Long
Dim vKmRec As Long

Dim vFecha As Variant
'Cogemos los valores que necesitamos
vMov = Me.Móvil.Value
vKmAhora = Me.Kilometraje.Value
'Obtenemos la última fecha de repostaje
vFecha = DMax("[Fecha Consumo]", "Gasolina", "[Móvil]='" & vMov & "'")
'Si no existe esa fecha es que aún no hay registro
If IsNull(vFecha) Then
vKmAntes = 0
Else
'Convertimos la vFecha a Tipo Fecha
vFecha = CDate(vFecha)
'Obtenemos el último registro
vKmAntes = DLookup("[Kilometraje]", "Gasolina", "[Móvil]='" & vMov & "'" _
& " AND [Fecha Consumo]=#" & Format(vFecha, "mm/dd/yy") & "#")
End If
'Calculamos los km recorridos
vKmRec = vKmAhora - vKmAntes
'Escribimos el resultado en el campo
Me.Km_Recorrido.Value = vKmRec
End Sub

...

Recuerda lo de cambiar los nombres de los campos en el código por los correctos.

Ya me dirás qué tal.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas