Cómo extraer una cadena de caracteres que se encuentra antes del carácter #

Resuelto
traderpierre Mensajes publicados 316 Estado Miembro -  
traderpierre Mensajes publicados 316 Estado Miembro -
Bonjour,
Para extraer los caracteres que se encuentran antes del carácter # en un campo de hipervínculo en Access, puedes utilizar la función `InStr` para encontrar la posición de ese carácter y luego usar la función `Left` para obtener los caracteres anteriores. Aquí tienes un ejemplo de cómo hacerlo:

```sql
Left([Producto], InStr([Producto], "#") - 1)
```
Esta expresión te devolverá todo el texto antes del carácter #. Asegúrate de que el campo `[Producto]` realmente contenga el carácter #, de lo contrario, la función `InStr` devolverá 0 y puede generar un error.

Si no estás seguro de que el carácter # siempre estará presente, puedes agregar una verificación para evitar errores. Aquí tienes un ejemplo mejorado:

```sql
IIf(InStr([Producto], "#") > 0, Left([Producto], InStr([Producto], "#") - 1), [Producto])
```
Esta fórmula devolverá el texto antes de # si existe; de lo contrario, simplemente devolverá el contenido original de `[Producto]`.

Espero que esto te ayude. ¡Buena suerte!

1 respuesta

  1. traderpierre Mensajes publicados 316 Estado Miembro 7
     
    Finalmente encontré esta solución que funciona a la perfección:

    Extracción de cadena de caracteres Antes de un carácter específico, aquí #:
    = Izquierda([Producto];Longitud([Producto])-Longitud(ExtracCadena$([Producto];EnCadena([Producto];"#"))))

    Extracción de cadena de caracteres Después de un carácter específico, aquí #:
    =Derecha([Producto];Longitud(ExtracCadena$([Producto];EnCadena([Producto];"#")))-1)
    0