Access - Para Enrique

 
Vista:

Para Enrique

Publicado por Vicente (20 intervenciones) el 28/01/2008 14:00:41
Hola Enrique, que tal?

Perdona que te moleste. Tengo un problema con un proyecto que estoy creando. Te cuento tengo tablas vinculadas de sql, y esoyt estrayendo unos datos para presentarselos a mi jefe y resulta que uno de los campos de la tabla vinculada es un campo de tipo memo, pero cuando voy a visualizarlo, extraerlo o imprimirlo la descripcion que me aparece en el campo es la siguiente:

{ tf1ansiansicpg1252deff0{fonttbl{f0fnilfcharset0 Arial;}}viewkind4uc1pardlang3082fs20 DIAS DE REMATES
par } .

De esta informacion solo deseo que me aparezca la frase 20 DIAS DE REMATES que aparece al final del dato del campo. Como puedo hacer para que en todos los registros no me aparezca todo el chorreo antes mencionado y que me muestre, en este caso, lo ultimo.

De momento lo unico que he realizado es una consulta y de ahi he realizado como prueba un autoinforme, para ver como salian los registros.

Muchisimas gracias y perdona la molestia.

Saludos
Vicente
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

RE:Para Enrique

Publicado por Enrique (1299 intervenciones) el 28/01/2008 18:50:03
Hola Vicente:

Si la frase que quieres extraer tiene siempre la misma longitud (mismo número de caracteres y espacios) y está siempre al final de la cadena seguida de un espacio + la frase "par } .", será fácil conseguirlo, pero si esa frase a extraer es diferente para cada registro del campo Memo y además puede estar situada en diferentes posiciones de la cadena, la cosa se complica bastante porque no tendremos criterios para su extracción.

No es necesario que la frase a extraer sea la misma, pero si tendrá que tener el mismo número de caracteres y estar situada en una determinada posición dentro de la cadena para poder aislarla.

Espero tu respuesta para ver que se puede hacer.

Saludos
Enrique
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

RE:Para Enrique

Publicado por Vicente (20 intervenciones) el 29/01/2008 09:55:26
Hola Enrique:

He estado revisando loa consulta y el informe a imprimir según la explicacion que me das y el caso es que en la consulta en el campo memo tiene tres variaciones de extraer la informacion:
1.- Es extraer bien la informacion deseada sin mas.
2.- Es extraer { tf1ansideff0{fonttbl{f0fnilfcharset0 Arial;}} , son 54 caracteres pero no informa del dato que quiero que muestre.
3.- Es extraer { tf1ansiansicpg1252deff0{fonttbl{f0fnilfcharset0 Arial;}} , son 66 caracteres y tampoco informa del dato que quiero que muestre.

Supongo que por la ocnsulta sera bastante complicado saber cual es el resultado del campo memo si pone unicamente lo que aparece entre llaves, pero resulta que al ejecutar el informe basado en la consulta resulta que aparecen dos variaciones de extracion del dato del campo memo.
1.- Es extraer bien la informacion deseada sin mas perfectamente.
2.- Extrae toda esta parrafada de numeros y letras y al final y seguido de un espacio la informacion deseada. Efectivamente tienen la misma longitud seguido de un espacio y al final del campo aparece par } . Un ejemplo seria:
{ tf1ansideff0{fonttbl{f0fnilfcharset0 Arial;}}viewkind4uc1pardlang3082fs20 PALA LIMPIEZA CON PALOpar } , son 88 caracteres los que estan situados delante del resultado de la cadena que quiero extraer.

No se si he conseguido explicarme bien Enrique.

Saludos
Vicente
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

RE:Para Enrique

Publicado por Enrique (1299 intervenciones) el 29/01/2008 19:00:03
Hola Vicente:
Me parece que según lo que explicas, poco hemos avanzado porque tanto la candena a ignorar, como la cadena a extraer, nunca tienen una longitud fija.

Te explico como habría que hacerlo, aunque no funcionará bien por lo que te decía antes.

Creas una Consulta nueva y le introduces la Tabla, bajas el campo memo y al lado creas dos campos calculados:

Para extraer parte de la cadena de tu primer mensaje (20 DIAS DE REMATES)
Cadena1: Der([CampoMemo];26)
Cadena2: Izq([Cadena1];19)

El campo calculado Cadena1 extrae: 20 DIAS DE REMATES par } .
El campo calculado Cadena2 extrae: 20 DIAS DE REMATES

Esto sería partiendo de esta cadena completa (todo en una sola línea):
{ tf1ansiansicpg1252deff0{fonttbl{f0fnilfcharset0 Arial;}}viewkind4uc1pardlang3082fs20 DIAS DE REMATES par } .

almacenamos en Cadena1 26 caracteres empezando por la DERECHA y luego tomamos 19 caracteres de Cadena1 empezando por la IZQUIERDA y los almacenamos en Cadena2, pero como no siempre será así (creo), pués me temo que no se podrá hacer, salvo que el número de caracteres (incluidos espacios) de la cadena a ignorar, fuera siempre el mismo y entonces sería:

Para la cadena que has pegado en este último mensaje, prueba con:
Cadena1: Medio([CampoMemo];74;Longitud([CampoMemo])-73)
Cadena2: Medio([Cadena1];1;Longitud([Cadena1])-5)

No hay 88 caracteres antes de la cadena que necesitas, yo cuento solo 73.

A ver si hemos avanzado algo o no.

Saludos
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

Enrique...

Publicado por Victoria (1530 intervenciones) el 30/01/2008 12:51:40
Enrique, ¿que te parece extraer las MAYÚSCULAS?, tal como lo plantea parece que es el texto que necesita.
Victoria
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

RE:Para Enrique

Publicado por Vciente (20 intervenciones) el 30/01/2008 12:58:54
Hola Enrique que tal.

Antes de nada quisiera darte las gracias por las molestias causadas. Eres una persona genial y como programador ya ni te cuento.

Hice lo que me dijiste en la consulta. Crear los campos calculados en la consulta y eectivamente si me extrae el dato, pero evidentemente cuando los caracteres en vez de 54 son 66, sale con datos de la dichosita cadena de caracteres raros. Te pongo un ejemplo:

Si es de 54 caract. sale correcto, pero si es de 66 saldria asi:
82fs20 M2 ENFOSCADO de lo que realmente quiero es M2 ENFOSCADO.

Tal y como dice la compañera Victoria es efectivamente lo que desearia, extraer las mayusculas. con so lo tendria solucionado el problema ¿Eso se puede realizar?

Saludos
Vicente
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

RE:Para Enrique

Publicado por Enrique (1299 intervenciones) el 31/01/2008 18:21:43
Hola Vicente:
Pues no conozco ninguna Función o forma de extraer las mayúsculas, como dice Victoria, pero aunque así fuera, se presentarían otros inconvenientes. Primero hay otra letra mayúscula sobre la mitad de la cadena (la A de Arial) y además las frases tienen un espacio en blanco entre palabras que se perderían y si intentáramos extraer tambien los espacios, nos traeríamos otros espacios que existen a lo lardo de la cadena y que no queremos.

Victoria, si conoces alguna función para extraer las mayúsculas, podrías pasársela a Vicente y luego si fuera necesario le echo una mano.

De todas formas se me ha ocurrido otro método que podría funcionar. Me ha parecido observar que en las distintas cadenas que has puesto, hay un número 20 justo antes de las frases, si ese número siempre fuera 20, se podría tomar el 2 para extraer las frases contando a partir de 3 caracteres después de ese 2 y luego quitar los caracteres sobrantes por la derecha, saltando automáticamente de registro en registro hasta actualizarlos todos en un nuevo campo de la misma Tabla. Otra cosa no puedo hacer de momento.

Saludos
Enrique
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

RE:Para Enrique

Publicado por Vicente (20 intervenciones) el 01/02/2008 11:24:43
Hola Enrique

Efectivamente independientemente de que la cadena tenga 20, 30, 40, 50 o x caracteres todas las frases que quiero extraer tiene cada una al comienzo lo siguiente: fs20 (mas un espacio que separa el 0 de la frase a extraer).

Si con esto o Victoria con las mayusculas no saliera no os preocupeis, no quisiera ser tan pesao y robaros tiempo, bastante que me estais ayudando.

Muchisimas gracias

Saludos
Vicente
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

RE:Para Enrique

Publicado por Enrique (1299 intervenciones) el 01/02/2008 18:26:34
Hola de nuevo Vicente:

No te preocupes que no es ninguna molestia, al menos por mi pate y además no es una pérdida de tiempo porque de paso tambien aprendemos nosotros.

Pués si antes de la frase a extraer siempre hay un fs20 y teniendo en cuenta que después ya no habrá ningún 20 más, prueba el ejemplo que te puedes descargar del siguiente enlace web. Lo he probado y parece que funciona.

http://es.geocities.com/ensolva/Descargas/Varios/EjemploExtraerCadena.zip

De todas formas, Victoria me ha pasado un Procedimiento para extraer las mayúsculas que voy a probar ahora mismo y luego os comento a ambos lo que consiga, ya que mi método como podrás ver, vá por otro camino.

Saludos y hasta pronto
Enrique
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