Access - Al menos un campo del formulario mayor que cero

 
Vista:

Al menos un campo del formulario mayor que cero

Publicado por Ricky (1 intervención) el 16/02/2015 10:54:15
Buenos días, mi consulta es la siguiente:
Cómo puedo hacer que para un formulario, un requisito obligatorio sea que al menos uno de varios campos numéricos sea mayor que 0 (no todos). O dicho de otra forma; tengo una caja de texto calculada que suma los valores de estos campos, deseo que este campo sea >0 como regla de validación, pero al escribir ">0" en la regla de validación de este campo de texto, no hace nada. Muchas gracias y un saludo a todos.
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 Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Al menos un campo del formulario mayor que cero

Publicado por Neckkito (1157 intervenciones) el 17/02/2015 11:28:58
Hola!

Un campo calculado no es un control manipulable por el usuario, de ahí que no te funcione la regla de validación.

Te pongo un ejemplo de cómo podría hacerse:

Supongamos que tu cuadro de texto calculado se llama txtSuma (Propiedades -> Pestaña Otras -> Nombre). Lo que tienes que hacer es:

- Sacas las propiedades del formulario -> Pestaña eventos -> Antes de actualizar

- En ese evento le generas este código:

...
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.txtSuma.Value = 0 Then
Cancel = True
MsgBox "Al menos un campo debe ser mayor que cero", vbExclamation, "INCORRECTO"
End If
End Sub
...

Y con esto te debería validar la condición que necesitas.

Si por casualidad el campo calculado no te mostrara valor (es decir, quedara en blanco hasta que no se rellenaran todos los campos que intervienen en la suma) en el código anterior deberías hacer un pequeño cambio en la primera línea del If, que debería quedarte así:

If IsNull(Me.txtSuma.Value) Or Me.txtSuma.Value = 0 Then

Ojo: lo anterior te funcionará para nuevos registros o si modificas algún registro, pero no te corregirá los que ya tengas introducidos.

Saludos,
firmaMail
http://neckkito.siliconproject.com.ar
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