Access - Formulario e informe

 
Vista:

Formulario e informe

Publicado por Carol (1 intervención) el 09/05/2007 10:22:02
Hola, mi problema es el siguiente:

tengo un informe, en el que hay un campo de texto, cuyo nombre es una variable, en origen de control no pone nada. El valor de la variable la coge del código, en el que pone algo así:

Private Sub Detalle_Format(Cancel As Integer, FormatCount As Integer)
Dim PRIMERO
PRIMERO = Me![COEFICIENTE PVP]

Select Case PRIMERO

Case Is >= 2.2
Me![TTTT] = 40
Case Is >= 2.1
Me![TTTT] = 35
Case Is >= 2
Me![TTTT] = 30
Case Is >= 1.9
Me![TTTT] = 27.5
Case Is >= 1.8
Me![TTTT] = 25
Case Is >= 1.7
Me![TTTT] = 22.5
Case Is >= 1.6
Me![TTTT] = 20
Case Is >= 1.5
Me![TTTT] = 17.5
Case Is >= 1.4
Me![TTTT] = 15
Case Is >= 1.3
Me![TTTT] = 12.5
Case Is >= 1.2
Me![TTTT] = 10
Case Is >= 1.1
Me![TTTT] = 5
End Select
End Sub

Quiero hacer lo mismo en un formulario, pero no me aparece la propidad Format del detalle en el código, y poniendolo en el Afterupdate() el beforeupdate() del TTTT no me sale nada. ¿Como podría hacerlo? Básicamente lo que quiero es que en cada registro, segun el valor que tenga el campo [COEFICIENTE PVP], le de un valor distinto a la variable [TTTT]

Gracias.
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

Cambiar el valor de un campo en un formulario según una condición

Publicado por Alejandro (4142 intervenciones) el 10/08/2023 00:17:01
Para lograr cambiar el valor de un campo en un formulario según una condición similar a lo que haces en un informe, puedes utilizar eventos como `AfterUpdate` o `Current` en el formulario. Aquí te muestro cómo podrías hacerlo:

1. Usar el evento AfterUpdate del campo COEFICIENTE PVP:

Abre el formulario en modo Diseño y selecciona el cuadro de texto `[COEFICIENTE PVP]`. Ve a la pestaña "Eventos" en la ventana de propiedades del cuadro de texto y encuentra el evento `AfterUpdate`. Haz clic en el botón con los tres puntos (`...`) para abrir el editor de código VBA para ese evento.

En el editor de código, puedes escribir código similar al que utilizaste en el informe:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub [COEFICIENTE PVP]_AfterUpdate()
    Dim PRIMERO As Double
    PRIMERO = Me![COEFICIENTE PVP]
 
    Select Case PRIMERO
        Case Is >= 2.2
            Me![TTTT] = 40
        Case Is >= 2.1
            Me![TTTT] = 35
        ' ...continúa con el resto de los casos
        Case Is >= 1.1
            Me![TTTT] = 5
    End Select
End Sub

2. Usar el evento Current del formulario:

Si deseas que el valor de `[TTTT]` se actualice automáticamente mientras navegas entre registros sin necesidad de un evento específico de `[COEFICIENTE PVP]`, puedes usar el evento `Current` del formulario:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Form_Current()
    Dim PRIMERO As Double
    PRIMERO = Me![COEFICIENTE PVP]
 
    Select Case PRIMERO
        Case Is >= 2.2
            Me![TTTT] = 40
        Case Is >= 2.1
            Me![TTTT] = 35
        ' ...continúa con el resto de los casos
        Case Is >= 1.1
            Me![TTTT] = 5
    End Select
End Sub

Recuerda ajustar los nombres de los campos y controles según tu diseño específico. Una vez que hayas agregado el código en el evento apropiado, cada vez que cambies el valor del campo `[COEFICIENTE PVP]` en el formulario, el valor de `[TTTT]` se actualizará automáticamente según las condiciones especificadas.
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