Sobre Formularios e Informes de Access

Quisiera saber cómo hacer para que en un formulario de access, con sólo introducir los números de 1 al 10, los cambiara en las tablas por IN 1, IN 2, SU 5... Etc (con el fin de hacer una tabla sobre evaluación de alumnos.

Y posteriormente cómo generar un informe de tal forma que los insuficientes quedasen de color rojo y los aprobados en negro.

2 Respuestas

Respuesta
2

Supongamos que el campo de la tabla Alumnos se llama Nota. Ponlo como texto corto y tamaño 4(no es necesario, pero así evitas que al escribir se te vaya un dígito). En el formulario donde vayas a poner la nota, en las propiedades del cuadro de texto nota, en eventos-Después de actualizar crea un procedimiento de evento y entre Private Sub y End Sub escribe

Select Case Nota
Case 1 To 4
Nota = "IN " & "" & Nota
Case 5 To 9
Nota = "SU " & "" & Nota
End Select

He supuesto que del 5 al 9 es Suficiente.

En el informe, en vista diseño haz clic sobre el cuadro de texto Nota y en la barra de menús pulsa Formato-Formato condicional- Nueva regla-El valor del campo es menor o igual y en el rectángulo de la derecha escribe

"IN 4" y abajo elige el color de texto o de fondo. Acepta Otra vez Nueva regla-El valor del campo es mayor o igual a y en el rectángulo pon "SU 5" y lo mismo del texto, fondo, etc. Aceptar y Aplicar.

Respuesta

Los pasos a seguir son:

1º/ crearte una función que traduzca los números a letras

2º/ crear una consulta en la que traduzcas las notas

3º/ hacer el informe sobre la consulta anterior

4º/ darle un formato condicional al campo de las notas en el informe.

1º/ En tu BD, añades un módulo nuevo y escribes tu función personalizada, por ejemplo:

'Función para obtener la nota en texto
Public Function fncNota(Nota As Single) As String
Select Case Nota
    Case Is < 5
        fncNota = "Insuficiente"
    Case Is < 6
        fncNota = "Suficiente"
    Case Is < 7
        fncNota = "Bien"
    Case Is < 9
        fncNota = "Notable"
    Case Is <= 10
        fncNota = "Sobresaliente"
    Case Else
        fncNota = "Sin nota"
End Select
End Function

2º/ Creas una consulta con los campos que necesites para el informe (sin el de la nota en número), y en la vista diseño de la consulta, le añades un nuevo campo con este encabezado:

NotaLetra: fncNota([NombreCampoNota])

Donde NombreCampoNota será el nombre del campo en el que tengas la nota en número.

3º/ Creas el informe sobre al consulta anterior.

4º/ Abres el informe en vista diseño, te sitúas sobre el campo que tiene la nota (NotaLetra), haces click derecho sobre él, vas a "formato condicional", y le pones los formatos que quieras, por ejemplo:

Si el valor del campo es igual a "insuficiente" que el color del texto sea rojo.

Guardas los cambios y listo!

Saludos!


Un nuevo espacio dedicado a Access, visítanos: http://nksvaccessolutions.com/ 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas