Access - EXTRAER numeración de una cadena de texto ACCESS

 
Vista:
sin imagen de perfil
Val: 12
Ha disminuido su posición en 36 puestos en Access (en relación al último mes)
Gráfica de Access

EXTRAER numeración de una cadena de texto ACCESS

Publicado por felmar (7 intervenciones) el 11/03/2023 17:45:25
tabla-RET-IVA

Saludos amigos
escribo desde Venezuela
un placer saludarles

No soy programador, sin embargo se algunas cosas relacionadas a access.
me encuentro con un dilema lo cual no he podido resolver.

Aca les muestro una imagen de la tabla RETENCIONES IVA lo cual tiene un campo "descripción".
De allí quiero extraer cada texto que se encuentre de esta manera ;" #20220300045957# ", esto sin importar cambie la numeración o el espacio en que se encuentre dentro de la cadena de texto.
Usé la función Izq y Der en el campo "Comp1" para llevar a otro campo dicha información que requiero. Pero con estas funciones el texto tiene que estar con espacios contados exactos para que queden en orden. Allí se puede apreciar que queda desordenado.
Por favor. ¿Qué función me puede ayudar hallar y extraer de esa cadena de texto toda numeración que se encuentre en este formato sin importar en que lugar se encuentre dentro de la cadena de texto?; "#20220300045957# "

agradezco toda su ayuda amigos

saludos
Miguel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

EXTRAER numeración de una cadena de texto ACCESS

Publicado por Anonimo (3316 intervenciones) el 11/03/2023 22:20:12
Se puede utilizar la funcion 'InStr' que devuelve la posicion del primer caracter de una cadena de texto contenida en otra cadena de texto.

Localizado donde comienza, las opciones son varias pero dado que el texto a obtener tiene una longitud fija (14 caracteres) es sencillo, solo una duda:
¿Qué se desea obtener: una sub-cadena de texto o el numero que representa esa sub-cadena .?.

En un caso (el numero) basta con localizar donde comienza (comienza a partir de (.#) +2 y la función Val lo obtiene.

En el caso de ser una cadena de texto (tras ojear la tabla con detenimiento) se aprecia que la longitud es variable, pero finaliza con (# F) que seria mas fiel al contenido.

En los datos publicados parece que tanto 'comp1' como 'comprobante' son datos calculados, utilizare 'comp1' para presentar el resultado:

1
2
3
4
5
'Dato de texto:
comp1: Mid(Descripcion; InStr(Descripcion; ".#") + 2; InStr(Descripcion; "# F") - (InStr(Descripcion; ".#") + 2))
 
'Dato numérico:
comp1: Val(Mid(Descripcion; InStr(Descripcion; ".#") + 2))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar