Como extrar parte del nombre de un archivo en una Conculta o Cuadro de texto Access

Estoy buscando alguna manera de extrar parte del nombre de un archivo en una consulta.

Ejemplo:

Tengo el archivo C:\Users\diego\Downloads\prueba_FACT123456_OC11111_01-02-2020.xls

Mi consulta busca en la carpeta "C:\Users\diego\Downloads" la OC "11111", lo que busco es que si la encuentra me ponga en la columna "FACTURA" 123456.

Todos los archivos que estan en esa carpeta en el nombre de archive tienen el numero de Factura, el cual siempre inicia con "FACT", este nombre puede estar al principio o al finaldel nombre del archivo.

Mi consulta ya encuentra el archivo, solo me falta saber como traer parte dle nombre, el cual simpere se antepone "FACT" y termina con "_"

1 Respuesta

Respuesta
1

Supongamos que en tu consulta el campo donde tienes la ruta del archivo, en un alarde de originalidad se llama "Archivo".

Abre tu consulta en Vista Diseño y añade un campo nuevo con esta expresión:

FACTURA: Medio([Archivo];EnCad([archivo];"FACT")+4;EnCad([archivo];"_OC")-EnCad([archivo];"FACT")-4)

Guarda la consulta, ejecútala y ¡Voilá! Ya tienes en la columna FACTURA los números de factura.

Rojo muchas Gracias, lo pruebo y te comento como me fue.

Saludos!!!

Quedo a la espera entonces, aunque no dudo de que te va a servir así tal cual (o cambiando los punto y coma por comas, por eso de la configuración regional)

Hola Rojo,

Disculpa no había visto que no se posteo mi respuesta.

Creo que no hice la pregunta bien, una disculpa.

Tengo una consulta con el campo [CO], el campo [Existe], y el campo [Factura].

En el campo [Existe], voy y busco la OC el campo [OC], la cual esta en el nombre de un archivo en una carpeta X, la columna solo dice "SI" o "NO" dependiendo si existe.

Lo que busco es que en la columna [Factura], vaya y me busque la OC en el nombre del archivo y después me traiga el numero de facture el cual esta en el mismo nombre del archivo y siempre inicia con FACT o FACTS y termina con "_"

Muchas Gracias y una disculpa por el tiempo en contester.

Alejando, la verdad, es que ahora entiendo menos tu pregunta, pero... teniendo en cuenta tus anteriores preguntas y mis respuestas, no deberías tener problema en hacer tu mismo lo que necesitas:

.- ¿Quieres buscar un archivo que tenga una cadena de caracteres concreta? Eso lo tienes resuelto (más o menos) en la función fncExisteArchivo()

.- ¿Teniendo el nombre quieres extraer unos caracteres, pues ya te di la respuesta más arriba?

.-¿Qué lo quieres hacer en VBA y no en una consulta? La función Medio() en VBA es Mid(), EnCad() es Instr()

Gracias El Rojo

Quedo así.

fncNoFactura = Mid([elArchivo], InStr([elArchivo], "FACT"), InStr([elArchivo], "_OC") - InStr([elArchivo], "FACT"))

Saludos

Me complace ver que has logrado crear una función que soluciona tu problema con las indicaciones dadas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas