|
Responder ![]() |
Autor | |
enano123456 ![]() Habitual ![]() Unido: 27/Enero/2009 Estado: Sin conexión Puntos: 129 |
![]() Enviado: 09/Enero/2016 a las 18:33 |
Muy buenas a todos.
Tengo una base de datos para la gestión de personal, donde también trato el tema económico. Por la cuestión del personal y de las cartas, correos, etc. que le escribimos los nombres y apellidos tienen puestos sus acentos. Para el tema económico necesito mandar un archivo a Hacienda con lo que ha cobrado cada uno, pero ese archivo no puede llevar ni acentos, ni ñ, ni º, ni ª. Me gustaría saber si hay alguna manera de que al lanzar el informe se quiten estos caracteres y se reemplacen por las vocales sin acento u otra cosa. Yo he probado en la Hoja de Propiedades del informe, en la columna Al paginar poner: =Reemplazar([Nombre Completo];"Á";"A") Pero no me lo hace. No se mucho de VBA, trabajo con el asistente. Muchas gracias por adelantado.
|
|
![]() |
|
jmmiralles ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador ![]() ![]() Unido: 29/Noviembre/2008 Localización: Albacete-España Estado: Sin conexión Puntos: 569 |
![]() |
Hola enano123456,
en mis funciones favoritas tienes una función hecha por le maestro Emilio que quita los acentos, ampliándola un poco, evidentemente respetando su criterios podrías sustituir la "ñ" por "n". Te paso el link para que la ojees Mis Funciones Favoritas Editado para insertar el link bien. Suerte Editado por jmmiralles - 09/Enero/2016 a las 19:30 |
|
![]() |
|
enano123456 ![]() Habitual ![]() Unido: 27/Enero/2009 Estado: Sin conexión Puntos: 129 |
![]() |
Hola jmmiralles
Como te dije no se mucho de VBA. En la Función, cuando pones Argumentos: strTexto => cadena de texto a convertir strTexto que sería poner el nombre del campo donde están los nombres que quiero quitarle los acentos? ([Nombre Completo]) y esa función donde la pongo en la hoja de propiedades, Al abrir, Al paginar,..? Muchas gracias, como verás no estoy muy ducho |
|
![]() |
|
jmmiralles ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador ![]() ![]() Unido: 29/Noviembre/2008 Localización: Albacete-España Estado: Sin conexión Puntos: 569 |
![]() |
Hola nuevamente,
la función la pones en el módulo del informe. strTexto, efectivamente, es el nombre, frase, campo etc que quieres tratar. Replace es una Function de VBA su equivalente, si no controlas, es Reemplazar Te dejo un link para que le eches un vistazo y sepas como funciona Funcion Reemplazar ¿El evento? prueba en los que dices y también en "Al dar formato" de Detalle y tu mismo decides donde debes ponerlo, la mejor forma de aprender es probar y equivocarte. Por cierto para llamarla lo puedes hacer desde la hoja de propiedades y en el evento pones por ejemplo: Evento Al dar formato =SinTildes("Nombre de tu campo a modificar") Suerte |
|
![]() |
|
enano123456 ![]() Habitual ![]() Unido: 27/Enero/2009 Estado: Sin conexión Puntos: 129 |
![]() |
Hola jmmiralles
He puesto esto: Option Compare Database '******************************************************************************* '* SinTildes '* Devuelve sin tildes (acentos, dieresis) la palabra pasada como parámetro y '* convertida a minusculas '* Argumentos: strTexto => cadena de texto a convertir '* uso: SinTildes strTexto '* ESH 28/09/04 10:51 '******************************************************************************* Function SinTildes(strTexto As String) As String 'strTexto = LCase(strTexto) esto lo he quitado porque en el informe los nombres tienen que ir en mayúsculas strTexto = Replace(strTexto, "Á", "A") strTexto = Replace(strTexto, "É", "E") strTexto = Replace(strTexto, "Í", "I") strTexto = Replace(strTexto, "Ó", "O") strTexto = Replace(strTexto, "Ú", "U") strTexto = Replace(strTexto, "Ü", "U") SinTildes = strTexto End Function ' SinTildes Y en Al dar formato del Detalle: =SinTildes([Nombre Completo]) Pero no me funciona Si puedes dime que hago mal Muchas gracias por todo y por tu paciencia.
|
|
![]() |
|
VIMIPAS ![]() Colaborador ![]() ![]() Unido: 06/Enero/2006 Localización: ESPAÑA Estado: Sin conexión Puntos: 5300 |
![]() |
Hola buenas noches.
En el informe ya sabemos que tienes un control de texto que contiene el campo [Nombre Completo], yo le llamaría a partir de ahora así: NombreCompletoTxt (así, tal cual, sin espacios de ningún tipo y repito: NombreCompletoTxt, así le llamaría yo, haz la prueba). Con esto te evitarás poner ningún evento, no los necesitas. (Ni al dar formato, ni a nada mas, sin eventos) Pon ahora al lado de ese control, otro control mas (llámale como tu quieras, da igual), y en su origen de control pones esto: =SinTildes(NombreCompletoTxt) Lanza el informe y verás como tienes dos controles con dos nombres, uno con acentos y el otro sin acentos. Usa el de sin acentos para pasarselo a Hacienda. Ya nos cuentas. Saludos. P.D.: (Ahora que edito veo que el amigo Miralles también te ha contestado, hola Jose María). Por cierto en esta función te falta esto para la Ñ, coloca lo que te indica Jose María.
Editado por VIMIPAS - 10/Enero/2016 a las 21:34 |
|
Gracias
|
|
![]() |
|
jmmiralles ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador ![]() ![]() Unido: 29/Noviembre/2008 Localización: Albacete-España Estado: Sin conexión Puntos: 569 |
![]() |
Hola,
1º Para reemplazar la "ñ" por "n" debajo de lo siguiente strTexto = Replace(strTexto, "Ü", "U") pon esto strTexto = Replace(strTexto, "ñ", "n") 2º En el evento "Al dar formato" del Detalle pon SinTildes( MI CAMPO) Donde MI CAMPO es el campo o nombre que tienes que remplazar los acentos y la Ñ Ojo, si llamas la función desde el módulo de VBA no tienes que poner el signo = delante de SinTildes, si lo haces desde la hoja de propiedades, en el evento al dar formato, si tienes que ponerlo. Aprovecho la edición para saludar a Vimipas (Vicente) que se me había adelantado. Editado para ampliar la advertencia de Ojo. Espero te sirva, ya nos dices Editado por jmmiralles - 10/Enero/2016 a las 21:34 |
|
![]() |
|
enano123456 ![]() Habitual ![]() Unido: 27/Enero/2009 Estado: Sin conexión Puntos: 129 |
![]() |
Muchas gracias a los dos.
jmmiralles, de la manera que me dices no me ha funcionado, seguro que hago algo mal De la manera que me dice VIMIPAS me funciona perfectamente. Muchísimas gracias a los dos. Se puede cerrar.
|
|
![]() |
Responder ![]() |
|
Tweet
|
Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |