** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Eliminar caracteres por la derecha
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoEliminar caracteres por la derecha

 Responder Responder
Autor
Mensaje
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1719
Enlace directo a este mensaje Tema: Eliminar caracteres por la derecha
    Enviado: 08/Junio/2020 a las 08:18
Buenas.
Existe alguna función para quitar caracteres por la derecha. Siempre sería el mismo número de caracteres.
Ejemplo: A0028Z-BIN, A0042A-BIN, B100039H-BIN...

Del ejemplo me gustaría quitar siempre los 4 caracteres de la derecha (-BIN)

Gracias.


Editado por Nomada - 08/Junio/2020 a las 08:20
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Enviado: 08/Junio/2020 a las 08:56
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1719
Enlace directo a este mensaje Enviado: 08/Junio/2020 a las 09:49
Gracias rokoko.
Se me ha ocurrido hacerlo de la siguiente manera:
- tomo la longitud del campo Len(Codigo) en una variable (A):  A = Len(Me.Codigo)
- otra variable (B) toma la longitud y le resta los 4 caracteres de la derecha B = A - 4 
- para terminar, un cuadro de texto (Me.Codigo2) muestra por la izquierda tantos caracteres como tiene el valor de la variable B: Me.Codigo2 = Left(Me.Codigo, B)

Lo he probado y funciona.
Aunque el segundo punto se puede refundir con el último, habría alguna forma de hacerlo más sencillo?
Gracias.

Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6479
Enlace directo a este mensaje Enviado: 08/Junio/2020 a las 10:05
Hola!
En el 2º enlace que te dejó Rokoko tienes la solución:-

Si solo desea mostrar los números a la izquierda del guión, tiene que hacer un cálculo cada vez que encuentra el guión. Una opción es hacer algo así:

=Left(Me.codigo,InStr(1,Me.codigo,"-")-1)


Puedes ponerlo como origen de control de un cuadro de texto:-

=Izquierda([codigo];EnCad(1;[codigo];"-")-1)
Un Saludo.
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1719
Enlace directo a este mensaje Enviado: 08/Junio/2020 a las 10:20
Gracias. Es que no puedo ver esos enlaces.
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Enlace directo a este mensaje Enviado: 08/Junio/2020 a las 10:26
Para este caso concreto, la función Replace también podría servir.

MiCodigo = Replace(Codigo,"-BIN","")

Eso no quita que el conocimiento del manejo de las distintas funciones de texto sea muy necesario para solucionar todo tipo de "probelmas" con cadenas de texto.



Xavi, un minyó de Terrassa

Mi web
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1719
Enlace directo a este mensaje Enviado: 08/Junio/2020 a las 11:06
Perfecto.
Este hilo se puede cerrar satisfactoriamente.
Muchas gracias a todos y saludos.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable