Campo calculado en access

Quiero poner un campo calculado en una tabla que automáticamente indique la letra "C"; "I" o "A" según si el código postal es 48006 o 48009 = "C"; resto de códigos = "I" o si deuda > 25.000 = "A"; y tampoco sé si lo tengo que poner en "valor predeterminado" o "regla de validación". El campo CPOSTAL (que es como se llama) es texto.

1 respuesta

Respuesta

Si tu campo en donde quieres poner la letra es "CPOSTAL" y el que contiene la deuda es "DEUDA", y el campo donde va la letra es "LETRA" entonces podrías usar este ejemplo:

En el evento "Después de actualizar" del campo CPOSTAL y suponiendo que la deuda ya esté registrada. (Hay varias formas de hacerlo, pero te mando este ejemplo utilizando CASE)

Select Case CPOSTAL
'En el caso del & se deberá usar la secuencia &
Case Is = "48006", "48009"
LETRA= "C"

Case ELSE

LETRA="I"

End Select

IF DEUDA > 25000 THEN LETRA="A"

***

Ejemplo de la instrucción Select Case
En este ejemplo se utiliza la instrucción Select Case para
evaluar el valor de una variable. La segunda cláusula Case contiene el
valor de la variable que se evalúa y, por tanto, sólo se ejecuta la instrucción
asociada con ella.
Dim Número
Número = 8 ' Inicializa variable.
Select Case Número ' Evalúa Número.
Case 1 To 5 ' Número entre 1 y 5, inclusive.
Debug.Print "Entre 1 y 5"
'Es la única cláusula Case cuyo valor es True.
Case 6, 7, 8 ' Número entre 6 y 8.
Debug.Print "Entre 6 y 8"
Case 9 To 10 ' Número es 9 ó 10.
Debug.Print "Mayor que 8"
Case Else ' Otros valores.
Debug.Print "No está entre 1 y 10"
End Select

Hola:

Muchas gracias por tu respuesta e interés.

La primera parte la me puesto en "después de actualizar" del campo CL de la siguiente. forma:

Private Sub cl_AfterUpdate()
Select Case CPOSTAL
'En el caso del & se deberá usar la secuencia &
Case Is = "48006", "48009"
cl = "C"
Case Else
cl = "I"
End Select
If IMPORTE > 25000 Then cl = "A"
End Sub

pero en CL no sale nada.

La segunda parte no la entiendo y no sé si la tengo que poner en algún sitio o es otra forma de hacerlo.

Espero tu respuesta y muchas gracias por las molestias.

Juan Antonio

Creo que el evento después de actualizar debe estar en el campo CPOSTAL .

Hola, de nuevo:

La verdad es que en el campo CL no sale nada después de haber puesto en el campo CPOSTAL en el evento "·después de actualizar" lo siguiente.:

Private Sub cl_AfterUpdate()
Select Case CPOSTAL
'En el caso del & se deberá usar la secuencia &
Case Is = "48006", "48009"
cl = "C"
Case Else
cl = "I"
End Select
If IMPORTE > 25000 Then cl = "A"
End Sub

Si tienes alguna sugerencia, te lo agradecería. Saludos

Private Sub CPOSTAL_AfterUpdate()
Select Case CPOSTAL
Case Is = "48006", "48009"
CL = "C"
Case Else
CL = "I"
End Select
If IMPORTE > 25000 Then CL = "A"
End Sub

Así debe quedar. En el evento después de actualizar del campo CLPOSTAL

Muchas gracias por las molestias pero no me ha salido lo que dices; supongo que soy yo ya que no domino access, aunque de todas formas muchas gracias. Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas