Access - Extraer datos de un campo memo HTML???

 
Vista:

Extraer datos de un campo memo HTML???

Publicado por sebastian (58 intervenciones) el 02/06/2006 07:05:10
Hola:

Les cto he importado una base de datos echa en un programa de marketing llamado Goldmine el tema k importé todo al acces todo bien hasta que tuve que importar un historial que tiene un campo llamado NOTES que es de tipo Memo al parecer no tenia nada pero si tiene codigo HTML y adentro informacion de Mails enviados.
Quiero sacar los datos nada mas o si no hacer que se vea el Html bien en pantalla y no el codigo html cuando miro el registro cargado.
por ej tengo NOTES: "<DIV><FONT face="Trebuchet MS">TEXTO1</FONT></DIV>
size=2>TEXTO2</FONT></DIV>
<DIV><FONT face="Trebuchet MS" size=2></FONT> </DIV>"

Y QUIERO QUE ME QUEDE

NOTES: TEXTO1 & TEXTO2 (necesito extraer solo el TEXTO del Codigo HTML)
o si bien alguien sabe como mostrar el HTML bien en ACCES todo bien.

Ta demas aclarar que TEXTO1 y TEXTO2 dicen cualquier cosa escrita no?
Bueno espero que alguien me diga como hacerlo
Gracias.
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
Imágen de perfil de Alejandro

Extraer texto de un campo Memo con formato HTML

Publicado por Alejandro (4142 intervenciones) el 19/07/2023 17:31:22
Si deseas extraer solo el texto del campo Memo con formato HTML en Access, puedes utilizar una función personalizada de VBA para eliminar las etiquetas HTML y obtener solo el contenido de texto. Aquí tienes los pasos para hacerlo:

1. Abre el Editor de Visual Basic en Access presionando Alt + F11.

2. En el Editor de Visual Basic, ve al menú "Insertar" y selecciona "Módulo" para insertar un nuevo módulo en tu base de datos.

3. En el nuevo módulo, copia y pega el siguiente código VBA:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Function ExtraerTextoHTML(ByVal strHTML As String) As String
    Dim objRegEx As Object
 
    ' Crear una instancia del objeto RegExp
    Set objRegEx = CreateObject("VBScript.RegExp")
 
    ' Definir el patrón para buscar etiquetas HTML
    objRegEx.Pattern = "<[^>]+>"
 
    ' Reemplazar las etiquetas HTML por una cadena vacía
    ExtraerTextoHTML = objRegEx.Replace(strHTML, "")
 
    ' Liberar el objeto RegExp
    Set objRegEx = Nothing
End Function

4. Guarda y cierra el módulo.

Ahora puedes utilizar la función `ExtraerTextoHTML` en tus consultas o en el formulario para extraer el texto de los campos Memo con formato HTML. Por ejemplo, en una consulta, puedes utilizar la función de la siguiente manera:

1
2
SELECT ExtraerTextoHTML([NOTES]) AS TextoSinHTML
FROM TuTabla

Asegúrate de reemplazar `NOTES` con el nombre real del campo Memo que contiene el código HTML y `TuTabla` con el nombre de la tabla donde se encuentra el campo.

La consulta mostrará el texto sin las etiquetas HTML en una columna llamada `TextoSinHTML`. Puedes ajustar la consulta según tus necesidades y combinarla con otros campos que desees mostrar.

Esta función de VBA buscará y eliminará todas las etiquetas HTML del campo Memo, dejando solo el texto visible. Sin embargo, ten en cuenta que si hay otros formatos de texto en el campo Memo (como negrita o cursiva), estos también se eliminarán. La función se centra específicamente en eliminar las etiquetas HTML.

Espero que esta solución te ayude a extraer solo el texto del campo Memo con formato HTML en Access. ¡Buena suerte!
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