** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Modificar cad. de texto. Cons. de Actualización -2
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Modificar cad. de texto. Cons. de Actualización -2

 Responder Responder
Autor
Mensaje
PacoPa Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 15/Noviembre/2017
Localización: Los Barrios
Estado: Sin conexión
Puntos: 14
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita PacoPa Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Modificar cad. de texto. Cons. de Actualización -2
    Enviado: 16/Mayo/2018 a las 11:36
Buenos días. Hace unos meses abrí un hilo, que la verdad es de agradecer lo rápido que me ayudaron. Ahora me ha vuelto a surgir otra duda sobre casi lo mismo pero el hilo se encuentra cerrado. Este es:

Modificar cad. de texto. Consulta de Actualización



Vuelvo a necesitar modificar mediante consultas en ACCESS 2000 las siguientes cadenas de textos. Convertir a mayúscula la primera letra de una segunda palabra en el mismo campo. Evidentemente dejando la primera también en Mayuscula

Milano negro -> Milano Negro

Muchas gracias


Editado por PacoPa - 16/Mayo/2018 a las 11:39
ACCESS, Bites y aves -> http://bd.cocn.eu
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 4703
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita mounir Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 16/Mayo/2018 a las 11:57
Hola!

mírate este enlace:

ConvCadena (función) en concreto:
vbProperCase 3 :Convierte la primera letra de cada palabra de la cadena en mayúsculas.
Un Saludo.
Arriba
VIMIPAS Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Enero/2006
Localización: ESPAÑA
Estado: Sin conexión
Puntos: 5148
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita VIMIPAS Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 16/Mayo/2018 a las 16:46
Buenas tardes a todos.

Paco, al margen de lo que te pone Mounir, y sin saber si ya te lo han aconsejado antes que yo, este es mi consejo:


Clicka sobre el enlace que te he puesto arriba y échale un vistazo al curso que gratuitamente nos ofrece este foro.

Saludos.
Gracias
Arriba
PacoPa Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 15/Noviembre/2017
Localización: Los Barrios
Estado: Sin conexión
Puntos: 14
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita PacoPa Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 17/Mayo/2018 a las 11:50
Gracias a ambos. Probé incluir vbProperCase 3 para realizar una consulta para posteriormente pasarla consulta de actualización y aún no se como llegar a usarla concretaménte. Luego me he leído los temas de 13 a 15 que en teoría debería estar allí la solución a mis problemas y nada No encuentro como solucionarlo aplicando código a esa consulta. Por ahora y tras algunas pruebas he conseguido esto:

De mi campo especie (unos 13.000 registros) de, por ejemplo,  cisne negro ya lo paso a Cisne negro (Todos los registros) usando:       Campo2: Mayús(Izq([castellano];1)) &                       Der([castellano];Longitud([castellano])-1)

También lo puedo pasar a CISNE NEGRO con:    Campo4: Mayús(Izq([castellano];1)) & Mayús(Der([castellano];Longitud([castellano])-1))

Pero aún no conseguí realizar dicha consulta para que el resultado final (según ejemplo sea) en todos los registros cambiar a Mayúscula Ambas Iniciales de las dos palabras del campo. Cisne Negro sería el resultado a esperar en todos los registros.

Muchas gracias


ACCESS, Bites y aves -> http://bd.cocn.eu
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 4703
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita mounir Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 17/Mayo/2018 a las 12:20
Hola!

Su uso es muy fácil:

En una consulta, Campo:ConvCadena([Castellano];3)
Un Saludo.
Arriba
VIMIPAS Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Enero/2006
Localización: ESPAÑA
Estado: Sin conexión
Puntos: 5148
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita VIMIPAS Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 17/Mayo/2018 a las 22:08
Hola buenas noches.

Publicado originalmente por mounir mounir escribió:


ConvCadena (función) en concreto:
vbProperCase 3 :Convierte la primera letra de cada palabra de la cadena en mayúsculas.

y

Publicado originalmente por PacoPa PacoPa escribió:

....Luego me he leído los temas de 13 a 15 que en teoría debería estar allí la solución a mis problemas y nada No encuentro como solucionarlo...

Veamos como acoplar lo que pone Mounir y esas lecciones. He montado una tabla con el nombre del preguntante y he puesto estos registros

pacopa
NOMBRES
avanzando, poco a poco, se llega
blanco me veo en Access
cisne negro
gato blanco
pacopa papaco yo
Que diga... negro me veo en Access

Ahora he hecho una consulta sobre esa tabla y me sale esto:

CONSULTA
NOMBRES Expr1
avanzando, poco a poco, se llega Avanzando, Poco A Poco, Se Llega
blanco me veo en Access Blanco Me Veo En Access
cisne negro Cisne Negro
gato blanco Gato Blanco
pacopa papaco yo Pacopa Papaco Yo
Que diga... negro me veo en Access Que Diga... Negro Me Veo En Access

Sencillo, hacer lo que ha indicado mounir.

En Expr1 de la consulta he puesto esto: Expr1: ConvCadena([nombres];3)

Pero buscamos nada mas que sean las dos primeras palabras (no se si hay mas palabras en los registros de PacoPa), vamos a ver como lo haría yo con una consulta para que saliera lo que pide.

CONSULTA
NOMBRES Expr1 Expr2
avanzando, poco a poco, se llega 11 Avanzando, Poco a poco, se llega
blanco me veo en Access 7 Blanco Me veo en Access
cisne negro 6 Cisne Negro
gato blanco 5 Gato Blanco
pacopa papaco yo 7 Pacopa Papaco yo
Que diga... negro me veo en Access 4 Que Diga... negro me veo en Access

Juntemos ahora las lecciones de Eduardo Olaz o, la ayuda de Access.

En Expr1 he puesto ahora esto: Expr1: EnCad([nombres];" ").
Que en cristiano quiere decir, dame el número exacto en donde está el primer espacio entre dos palabras. Para tu caso, que parece que hay dos palabras. En mi caso, será el primer espacio que se encuentre en el registro. Esto marcará la primera palabra y la segunda, es el punto de inflexión donde debemos hacer hincapié.

Y en Expr2 he puesto esto:
Expr2: Format(Medio([nombres];1;1);">") & Medio([nombres];2;[Expr1]-1) & Format(Medio([nombres];[Expr1]+1;1);">") & Medio([nombres];[Expr1]+2)
Que en cristiano quiere decir:

1.- Quiero usar el formato de mayúsculas para la primera letra de la primera palabra: Format(Medio([nombres];1;1);">")
2.- Quiero usar el formato de minúsculas (o el que haya, no quiero alterar esta parte) para el resto hasta el primer espacio: Medio([nombres];2;[Expr1]-1).... como Expr1 es donde está el espacio, si le restamos 1, estaremos en la letra anterior (el final de la primera palabra).
3.- Quiero usar el formato de mayúsculas para la primera letra de la segunda palabra: Format(Medio([nombres];[Expr1]+1;1);">").... como Expr1 es donde está el espacio, si le sumamos 1, estaremos en la inmediata palabra (la segunda palabra).
4.- (igual que en punto 2 anterior): Quiero usar el formato de minúsculas (o el que haya, no quiero alterar esta parte) para el resto de palabras que hayan en el registro.

Así usando las lecciones de Eduardo Olaz.

Mi recomendación, puesto que no se si los espacios que hay entre palabras son "un solo espacio" o "mas de un espacio", es que te estudies a fondo lo de Split, eso recoge las palabras exactas, y ya has visto que fácil es cambiarlas, bueno fácil, fácil cuando te pones a ello, simplemente hay que ponerse y practicar.

Y por último, la SQL de la consulta:

SELECT pacopa.NOMBRES, InStr([nombres]," ") AS Expr1, Format(Mid([nombres],1,1),">") & Mid([nombres],2,[Expr1]-1) & Format(Mid([nombres],[Expr1]+1,1),">") & Mid([nombres],[Expr1]+2) AS Expr2
FROM pacopa
ORDER BY pacopa.NOMBRES;

Saludos.




Editado por VIMIPAS - 17/Mayo/2018 a las 22:29
Gracias
Arriba
PacoPa Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 15/Noviembre/2017
Localización: Los Barrios
Estado: Sin conexión
Puntos: 14
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita PacoPa Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 18/Mayo/2018 a las 18:51
Sois unos Crack´s muchas gracias. Además de funcionar he aprendido mucho con vosotros. Os hago una reseña a vosotros y este foro ya que me habéis sacado de varios apuros.

Espero os guste dicha reseña de agradecimientos.

ACCESS, Bites y aves -> http://bd.cocn.eu
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable