Access - Ayuda.... Resta en Access

 
Vista:

Ayuda.... Resta en Access

Publicado por Rouge (1 intervención) el 10/01/2007 18:45:42
Hola a todos
Tengo un problema que no puedo solucionar y ojala me pudieran ayudar...

tengo una tabla con datos y lo q necesito es retar el primer dato con el segundo y guardarlo en una variable... eso quiere decir que cuando ingrese el valor en el primer dato me reste altiro en anterior con el ultimo q ingrese...

ojala me pudieran ayudar les agradeceria muchisimo

Saludos..... Rouge
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Restar y almacenar resultado de datos ingresados en un formulario

Publicado por Alejandro (4142 intervenciones) el 01/08/2023 18:32:25
¡Hola, Rouge!

Claro, puedo ayudarte con eso. Para llevar a cabo la tarea de restar el primer dato con el segundo y guardar el resultado en una variable, puedes utilizar el evento AfterUpdate del control del formulario donde ingresan los datos.

Supongamos que tienes una tabla llamada "TablaDatos" con un campo llamado "Dato" donde deseas ingresar los valores. También tienes un formulario llamado "FormularioDatos" con un control de cuadro de texto llamado "txtDato" donde los usuarios ingresan los valores.

A continuación, te presento cómo hacerlo con VBA (Visual Basic for Applications) en el evento AfterUpdate del control "txtDato":

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub txtDato_AfterUpdate()
    Static datoAnterior As Variant ' Variable estática para almacenar el valor del dato anterior
 
    ' Verificar si ya hay un valor anterior almacenado en la variable
    If IsEmpty(datoAnterior) Then
        ' Si no hay valor anterior, guardar el valor del primer dato en la variable
        datoAnterior = Me.txtDato.Value
    Else
        ' Si hay valor anterior, restar el valor actual (Me.txtDato.Value) con el valor anterior y guardar el resultado en la variable "resultado"
        Dim resultado As Variant
        resultado = Me.txtDato.Value - datoAnterior
 
        ' Mostrar el resultado en un cuadro de mensaje (puedes hacer lo que desees con el resultado, como almacenarlo en otra tabla o realizar otra acción)
        MsgBox "Resultado: " & resultado
 
        ' Actualizar la variable con el valor actual para ser utilizado en el siguiente AfterUpdate
        datoAnterior = Me.txtDato.Value
    End If
End Sub

Con este código, cada vez que ingreses un valor en el cuadro de texto "txtDato", se calculará automáticamente la resta entre el valor ingresado y el valor anteriormente ingresado, y se mostrará el resultado en un cuadro de mensaje (puedes modificarlo según lo que necesites).

La variable `datoAnterior` es declarada como estática para que conserve su valor entre llamadas al evento AfterUpdate y se pueda utilizar para el cálculo en el siguiente ingreso de dato.

Espero que esta solución te sea útil. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar