Access - NECESITO AYUDA 19/10/2005

 
Vista:

NECESITO AYUDA 19/10/2005

Publicado por alejandro (49 intervenciones) el 19/10/2005 09:23:20
ya he puesto mas notas pero no me ha contestado nadie aun. os pido ayuda para realizar lo siguiente:

tengo un formulario en el que se va formando a modo de tabla la estructura

******************************************************************************************
realizadas********* a compensar********** compensadas********* sobrante ********
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
****5********************** 5************************ 0***************** ***5*************
****7********************* 7,68********************** 0 ******************12.68**********
****0********************** 0*********************** 2.68***************** 10*************
*******************************************************************************************

el proceso es el que he indicado pero cada vez que se haya el sobrante en el registro anterior quiero que salga cero.
como puedo hacerlo para trabajar con cajas de texto y sus respectivos valores si pertenecen a varios registros?

ayudadme por favor. 1 saludo y gracias de antemano
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

Ajuste de Sobrante en formulario de registros

Publicado por Alejandro (4142 intervenciones) el 12/06/2023 22:10:00
1. Abre el formulario en modo de diseño.
2. Asegúrate de que cada caja de texto correspondiente a "compensadas" y "sobrante" tenga un nombre único asignado en la propiedad "Nombre" de cada control. Por ejemplo, "txtCompensadas" y "txtSobrante".
3. Selecciona la caja de texto "txtSobrante" y ve a la propiedad "Evento Después de Actualizar" en la pestaña "Evento".
4. Haz clic en el botón de los tres puntos (...) junto a la propiedad "Evento Después de Actualizar" para abrir el Editor de VBA.
5. En el Editor de VBA, escribe el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub txtSobrante_AfterUpdate()
    Dim compensadas As Double
    Dim sobrante As Double
 
    ' Obtener los valores de las cajas de texto "compensadas" y "sobrante"
    compensadas = CDbl(Nz(Me.txtCompensadas.Value, 0))
    sobrante = CDbl(Nz(Me.txtSobrante.Value, 0))
 
    ' Si el valor de "sobrante" en el registro anterior es mayor a cero, establecer el valor de "sobrante" a cero
    If sobrante > 0 Then
        Me.txtSobrante.Value = 0
    End If
 
    ' Calcular el valor de "compensadas" en función de "compensadas" del registro anterior y el valor actual de "sobrante"
    Me.txtCompensadas.Value = compensadas + sobrante
End Sub

6. Guarda y cierra el Editor de VBA.
7. Guarda el formulario y ciérralo.
8. Abre el formulario en modo de vista y prueba el funcionamiento. Cada vez que se actualice la caja de texto "txtSobrante", el código verificará si el valor del registro anterior es mayor a cero y, de ser así, establecerá el valor de "sobrante" a cero y calculará el nuevo valor de "compensadas" sumando el valor anterior de "compensadas" y "sobrante".

Espero que esta solución te ayude a lograr lo que necesitas en tu formulario.
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