Access - Formula en access

 
Vista:

Formula en access

Publicado por Paco (127 intervenciones) el 20/03/2007 22:47:47
A quien me pueda ayudar..

Tengo un formulario con dos campos, palets y cajas.
En el campo palets, en origen del control, he introducido la formula: iif([cajas]>10;"2";iif([cajas]>5;"1")).
Lo que pretendo es que si en el campo cajas, hay una cantidad mayor que 10 en el campo palets, me ponga 2, y por el contrario, si es menor que 10 y mayor que 5 me ponga 1.
Pués bién, en el campo palets, me sale lo siguiente, #¿Nombre?.
No se si es que me he equivocado en algo o que esta formula no va así.
Por favor si alquien me puede ayudar, se lo agradeceria.
Un saludo...
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

RE:Formula en access

Publicado por Enrique (1299 intervenciones) el 21/03/2007 19:15:20
Saludos, Paco:
Para estos casos creo que es mejor usar: If - Then - ElseIf - Else - End If, en lugar de la Función Silnm ( Iff en entorno VBA), porque esta función solo contempla una parte verdadera y una parte falsa y tu caso es ligeramente más complejo. Prueba en el Evento Después de actualizar del campo "Cajas":

Private Sub Cajas_AfterUpdate()
If Cajas > 10 Then
Palets = 2
ElseIf Cajas > 5 And Cajas < 10 Then
Palets = 1
Else
Cajas = Null 'Este caso sería cuando Cajas fuera 3, 4 o 5
End If
End Sub

En el último Else deberías de establecer el Valor de Palets si se diera el caso de que su valor estuviera entre 3 y 5 si no quieres que sea Nulo, salvo que ese caso nunca se te pueda presentar.

Enrique
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

RE:Formula en access

Publicado por Mazinger Z (27 intervenciones) el 22/03/2007 00:58:15
=iif([cajas]>10,2,iif([cajas]>5 AND [cajas]<10,1,99))

Reemplaza el 99 por el valor que desees cuando cajas sea menor que cinco.
Si cajas es igual a 10 va a devolver 99, esto lo evitas con [cajas]>=10
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

RE:Formula en access

Publicado por Enrique (1299 intervenciones) el 22/03/2007 18:34:03
Una pequeña corrección según mi opinión, a lo que indica Mazinger:

El signo igual que hay al principio indica que lo está colocando en el Origen del Control del Campo por lo que la función aquí es Silnm, no Iff (aunque Access lo traducirá) y además aquí no sirve el separador coma ( , ) sino punto y coma ( ; ).

Otro detalle es que al usar el Origen del Control, el campo Palets se convierte en un Campo Calculado y no se podrá grabar su valor en una Tabla, cosa que puede que necesites hacer.

Saludos
Enrique
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