Imprimir página | Cerrar ventana

Eliminar caracteres por la derecha

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=85329
Fecha de impresión: 20/Octubre/2021 a las 00:23


Tema: Eliminar caracteres por la derecha
Publicado por: Nomada
Asunto: Eliminar caracteres por la derecha
Fecha de publicación: 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.



Respuestas:
Publicado por: rokoko
Fecha de publicación: 08/Junio/2020 a las 08:56
https://josenrique.es/2011/06/funciones-de-texto-o-cadena-en-access/" rel="nofollow - https://josenrique.es/2011/06/funciones-de-texto-o-cadena-en-access/

https://support.microsoft.com/es-es/office/funciones-de-cadena-y-c%c3%b3mo-usarlas-965efa84-7009-4603-9765-2eb4a099ec72?ui=es-es&rs=es-es&ad=es" rel="nofollow - https://support.microsoft.com/es-es/office/funciones-de-cadena-y-c%c3%b3mo-usarlas-965efa84-7009-4603-9765-2eb4a099ec72?ui=es-es&rs=es-es&ad=es

Con las funciones de texto ocadena de aceess deberias poder hacerlo


Publicado por: Nomada
Fecha de publicación: 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.



Publicado por: mounir
Fecha de publicación: 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.


Publicado por: Nomada
Fecha de publicación: 08/Junio/2020 a las 10:20
Gracias. Es que no puedo ver esos enlaces.


Publicado por: xavi
Fecha de publicación: 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

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: Nomada
Fecha de publicación: 08/Junio/2020 a las 11:06
Perfecto.
Este hilo se puede cerrar satisfactoriamente.
Muchas gracias a todos y saludos.



Imprimir página | Cerrar ventana