Access - Crear un campo calculado llamado ‘APA’

 
Vista:

Crear un campo calculado llamado ‘APA’

Publicado por Jesús (2 intervenciones) el 08/10/2013 23:10:23
Tengo mi biblioteca personal en una tabla dentro de la que necesito crear un campo calculado llamado ‘APA’ utilizando los dos siguientes campos: ‘Autor’ y ‘Año de Publicación’. Ambos son del tipo ‘texto corto’ (lo de año por que no siempre existe un año completo de edición [182?; 19??]
He utilizado esta expresión en el campo calculado:

Recortar(Izq([Autor];EnCad(2;[Autor];", ")+2)) & ". (" & [Año publicación] & ")"

Se trata de crear el texto de la cita bibliográfica en formato APA [1er Apellido del autor, inicial del nombre seguido de un punto, espacio y año de la publicación en paréntesis]. Sé que el problema son los diferentes formatos utilizables en el campo Autor. Después de batallarle mucho sólo lo logro que me devuelva el texto que espero cuando Autor y Año de publicación están completos. Estos son los principales casos y resultados hasta ahora obtenidos.
Muchas gracias anticipadas por el apoyo que se me brinde.

‘Autor’ ‘Año publicación --> Valor que devuelve campo calculado APA [Lástima no se edita la tabla que preparé]

Miquel-I Vergés, J. M. Nulo ->Miquel-I Vergés, J. ()
Williams-Alzaga, Enrique 1963 -->Williams-Alzaga, E. (1963)
Academie Diplomatique Internationale 1993 -->Ac. (1933)
Congreso Hispanoamericano de Historia 1953 -->Co. (1953)
J. A. A. *** 1820 -->J.. (1820)
Don ***** 1824 -->Do. (1824)
Archives Nationales 1913 -->Ar. (1913)
N.N. [Autor anónimo] 1920 -->N.. (1920)
Periódico 1915 -->Pe. (1915)
Varios autores 1808 -->Va. (1808)
Documentos 1789 -->Do. (1789)
? Anselmo, [Se desconoce el 1er nombre y apellido] nulo ?. ()
[No hay autor pero si año de publicac.] 2003 -->. (2003)
? Carlos, nulo -->?. ()
2do Congreso Continental 2003 -->2d. (2003)
Nulo todo [Cuando no se digito ni el Autor ni el Año
de publicación: ambos campos están en blanco]nulo -->#¡Tipo!
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 Rubén

Crear un campo calculado llamado ‘APA’

Publicado por Rubén (13 intervenciones) el 10/10/2013 10:19:34
Hola, Jesús:

A la vista de la casuística de formatos que tienes en los campos, te recomendaría que, en vez de crear el campo calculado con la fórmula directamente en la consulta, lo hagas a través de una función definida como código VB.
Te lo aconsejo porque así puedes manejar excepciones, como en el caso de los valores nulos, que seguramente van a requerir que emplees instrucciones de flujo (if...then).
A modo de ejemplo, si compruebas que algún valor es nulo, puedes reemplazarlo por otro, por ejemplo "-" o "Sin datos". Así cuando no hay datos podría salir el resultado como "Apellido, N. - (Sin datos)", y evitas errores como el de #¡Tipo! o #Nulo
En la consulta, el campo calculado lo haces con una llamada a esa función, por ejemplo FormatoAPA([Autor],[Año publicación]), y queda bastante más limpio.
Por cierto, aunque Access permite nombres de campos con espacios, te aconsejo que no los uses, en su lugar emplea cadenas "enteras" (por ejemplo "Año_publicación", en vez de "Año publicación"), pues te librarás de más de un problema.
Un saludo,

Rubén
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

Crear un campo calculado llamado ‘APA’

Publicado por Jesús (2 intervenciones) el 10/10/2013 15:04:12
Muchas gracias Ruben. La cosa es que soy empírico en Access y desde luego poco manejo lenguaje VB. Pero voy a intentar con tus sugerencias. Buen día
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