Vamos a mostrar cómo extraer parte de una cadena de texto de un campo con una expresión en Access.
La expresión la usaremos en una consulta de ésta manera:
Left([NombreDelCampo];7)
Con la expresión Left([NombreDelCampo];7) lo que hacemos es extraer los primeros 7 caracteres empezando por la izquierda
Si lo que queremos es estraer una cadena hasta llegar al primer espacio en blanco usaremos ésta otra expresión:
Left([NombreDelCampo];InStr([NombreDelCampo];» «)-1)
Lo que hemos hecho es sustituir el 7 por una función que nos cuente los caracteres hasta el espacio en blanco, esto lo hacemos con InStr([NombreDelCampo];» «)
el -1 del final lo ponemos porque la función cuenta el espacio en blanco también por lo que le restamos 1 y queda exacto
hola buenas tardes…quisiera saber si existe una forma de extraer unos datos donde la parte fija esta en los últimos 3 caracteres es decir:
tengo un dato 123456-01 y necesito que me traiga todo antes del «-«, pero esa columna no tiene un largo especifico es decir para el primer caso necesito me traiga el «123456» pero si tengo otro campo 12345678910-02 que me traiga «12345678910»
quedo atenta
Prueba con:
Left([NombreDelCampo];InStr([NombreDelCampo];»-«)-1)
encontrar numeros
se puede aumentar la busqueda hasta que encuentre un número
ejemplo
Left([NombreDelCampo];InStr([NombreDelCampo];»1234567890″)-1)
al primero de esos que encuentre extraiga
error de Funcion
hola, tengo un inconveniente con esta expresión y es que en los registro que solo tiene un nombre, donde no se encentra un espacio me genera error de función alguien me podría decir como soluciono eso, de antemano agradezco la informacion
Excelente dato Miguel Angel,
Excelente dato Miguel Angel, estaba como loco buscando esa forma…. y con la tuya me dio… pero fíjate que faltaba la expresión como, entonces queda así:
Como «*» & [Escriba el nombre a localizar:] & «*»
Buscar nombre
en el campo que almacena el nombre en el diseño de la consulta escribe algo como:
Like «*» & [Escriba el nombre a localizar:] & «*»
esto localizara su buscas por ejemplo Lopez a:
Francisco Lopez
Ana Maria Cendejas Lopez
ya que el dato que introduscas lo buscara en cualquier parte del campo
Espero te sea de utilidad.
Una manera de buscar un nombre
Hay una manera de hacer una forma a query que pregunte al usuario que nombre quiere buscar y acces la busque por el, por ejemplo que quiera buscar ; ramon lopez . Algo parecido a find
Me salvaron la vida!
el truco de
Left([NombreDelCampo];InStr([NombreDelCampo];» «)-1)
De verdad me salvó la patria, casi empiezo a patear la computadora!