Sustituir valores en campos de texto

Dudas sobre Tablas, Consultas, Formularios, Informes...
epidrion
Nivel 2
Mensajes: 21
Registrado: Mar Dic 19, 2017 11:14 pm

Sustituir valores en campos de texto

Mensajepor epidrion » Mar Ene 09, 2018 9:29 am

Buenos días,

Tengo una duda que quizá es muy básica pero me lleva loco. Intento explicarla a ver si alguien me puede echar una mano.
Simplifico un el ejemplo para explicarme mejor:
Tengo una tabla donde aparecen varios campos de texto con los valores: E, N, S o I correspondiente a notas escolares. Me interesaría que en el informe que se origina de esa tabla los valores fueras Excelente, Notable, Suficiente o Insuficiente. Como puedo substituir las abreviaturas por los valores completos?

Gracias por adelantado

Jilo
Nivel 1
Mensajes: 15
Registrado: Mié Dic 02, 2015 11:05 am

Re: Sustituir valores en campos de texto

Mensajepor Jilo » Mar Ene 09, 2018 9:39 am

Hola Epidrion,

Yo creo que lo mas limpio sería en la tabla donde estan los datos añadir otro campo con el nombre largo y dependiendo de lo que necesites mostrar el largo o la abreviatura.

Espero te sirva

Avatar de Usuario
Fayad
Colaborador
Mensajes: 206
Registrado: Mié Oct 28, 2015 9:43 pm

Re: Sustituir valores en campos de texto

Mensajepor Fayad » Mar Ene 09, 2018 9:46 am

Salu2.

pitxiku
VIP
Reto01
Mensajes: 143
Registrado: Sab Sep 30, 2017 6:23 pm

Re: Sustituir valores en campos de texto

Mensajepor pitxiku » Mar Ene 09, 2018 8:07 pm

Como son varios los datos, tal vez sea más cómoda la función Switch/conmutador.

Otra posibilidad es tener 1 tabla auxiliar con 2 campos, la nota abreviada y la descripción larga, y usarla en la consulta para devolver el texto. Además de esta forma es más sencillo modificar/agregar notas.

epidrion
Nivel 2
Mensajes: 21
Registrado: Mar Dic 19, 2017 11:14 pm

Re: Sustituir valores en campos de texto

Mensajepor epidrion » Mié Ene 10, 2018 8:28 pm

Gracias por las respuestas.

La opción de pitxicu me parece la más pràctica pero no sé como hacerlo. De momento he creado una tabla principal y una secundaria tiene las notas abreviadas y completas. De la tabla principal, en uno de los campos, hago que me busque en la secundaria. Hasta aquí bien pero ahora como hago que le informe me muestre el valor literal completo y no el abreviado. Simplemente me interesa para el informe, para nada más

Gracias de nuevo

pitxiku
VIP
Reto01
Mensajes: 143
Registrado: Sab Sep 30, 2017 6:23 pm

Re: Sustituir valores en campos de texto

Mensajepor pitxiku » Jue Ene 11, 2018 8:48 pm

Supongamos que tienes la tabla con las notas que ha sacado cada escolar: la tabla se llama NotasEscolares, y tiene 3 campos: Escolar, Asignatura y Nota:

Escolar - Asignatura - Nota
==== ======= ====
Pepe Mates S
Juan Mates N
Pepe Lenguaje B
Juan Lenguaje S

Luego tienes la tabla con las notas y su descripción: la tabla se llama Notas, y tiene 2 campos: Nota y Descripcion:

Nota - Descripcion
=== ========
S Suficiente
B Bien
N Notable

Teniendo esto, podemos crear una consulta en Access. Y si ponemos en vista Diseño algo así:

SELECT NotasEscolares.Escolar, NotasEscolares.Asignatura, Notas.Descripcion FROM NotasEscolares INNER JOIN NotasEscolares.Nota = Notas.Nota;

Cuando vayas a Vista Hoja de datos verás lo que quieres. ¿Y cómo usarlo en un informe/formulario? Sencillo: un informe (o un formulario) pueden tener como origen del registro una consulta como esta.

Avatar de Usuario
-Marta-
VIP
Reto07
Mensajes: 88
Registrado: Mié Jun 15, 2016 1:44 pm

Re: Sustituir valores en campos de texto

Mensajepor -Marta- » Vie Ene 12, 2018 1:53 am

hola

si solo lo quieres como fuente de datos de un informe puedes crearte una consulta con el conmutador SWITCH (que ya te comento pitxiku en su mensaje anterior), de esta forma te ahorras tener una tabla mas

SELECT Alumnos.Alumno, Alumnos.Asignatura, Switch([Nota]='I','Insuficiente',[Nota]='S','Suficiente',[Nota]='N','Notable',[Nota]='E','Excelente') AS NotaTexto
FROM Alumnos

un saludo


Volver a “Objetos Access”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado