Contar repeticiones dentro de un texto

04/05/2010 - 18:21 por madman | Informe spam
Hola,

estoy intentando realizar una consulta para que me cuente repeticiones
dentro de un texto y no lo consigo, please, a ver si alguien me puede ayudar.

el tema es que tengo 2 tablas, en la tabla A, solo tiene un campo X con una
serie de keywords y en la tabla B, en uno de sus campos, en el campo Y
aparecen esos keywords pero dentro de un texto. Necesito que la query
identifique el número de veces que los keywords (tablaA, campoX) se repiten
dentro del texo del campo Y (tablaB) y que en una nueva columna en la tabla A
aparezca el número de repeticiones.

muchas gracias por anticipado porque a mi se me escapa...!!

Preguntas similare

Leer las respuestas

#6 Ignacio
06/05/2010 - 15:52 | Informe spam
¡Hola, Madman!

Si no lo he entendido mal necesitas un índice en cada tabla para que
el Keyword del registro 1 del TablaA lo busque en el Texto del
registro 1 de la TablaB. Si no, buscaría cada Keyword en todos los
registros de la TablaB.

Crea una función en un módulo con el siguiente código:
Public Function iVeces(Texto As String, Palabra As String) As Integer
Dim iCont As Integer, iPos As Integer

iPos = InStr(Texto, Palabra)
While iPos
iCont = iCont + 1
iPos = InStr(iPos + 1, Texto, Palabra)
Wend
iVeces = iCont
End Function

Y luego crea una consulta con el siguiente SQL:
SELECT Keyword, Texto, iVeces(Texto,Keyword) AS Veces
FROM TablaA, TablaB
WHERE TablaA.Id=TablaB.Id;

Al ejecutar la consulta deben aparecer las ocurrencias de cada Keyword
en los Textos.
Espero que te sirva de ayuda.

Un saludo,
Ignacio.
Respuesta Responder a este mensaje
#7 madman
06/05/2010 - 17:08 | Informe spam
jo, 1000 gracias Ignacio pero debo ser el amyor paquete del mundo!! hago el
módulo y la consulta y la tabla resultante no muestra ningún registro...que
desesperación... :(

no sé si es se puede, pero te podría enviar un fichero de ejemplo para que
le echarás un vistazo?? gracias de nuevo por la ayuda!!!!

"Ignacio" wrote:

¡Hola, Madman!

Si no lo he entendido mal necesitas un índice en cada tabla para que
el Keyword del registro 1 del TablaA lo busque en el Texto del
registro 1 de la TablaB. Si no, buscaría cada Keyword en todos los
registros de la TablaB.

Crea una función en un módulo con el siguiente código:
Public Function iVeces(Texto As String, Palabra As String) As Integer
Dim iCont As Integer, iPos As Integer

iPos = InStr(Texto, Palabra)
While iPos
iCont = iCont + 1
iPos = InStr(iPos + 1, Texto, Palabra)
Wend
iVeces = iCont
End Function

Y luego crea una consulta con el siguiente SQL:
SELECT Keyword, Texto, iVeces(Texto,Keyword) AS Veces
FROM TablaA, TablaB
WHERE TablaA.Id=TablaB.Id;

Al ejecutar la consulta deben aparecer las ocurrencias de cada Keyword
en los Textos.
Espero que te sirva de ayuda.

Un saludo,
Ignacio.
.

Respuesta Responder a este mensaje
#8 Ju
06/05/2010 - 21:41 | Informe spam
Puedes enviarlo a mi grupo http://groups.google.es/group/juank?hl=es


**
Salu2/Regards
[MVP Access] 2006/10
[DCE2003 ***] + VSTO [DCE2005 **]
http://juank.mvps.org http://www.juank.es
Correos personales o preguntas particulares en mi grupo
http://groups.google.es/group/juank?hl=es

¿Que es un MVP?, entérate en http://mvp.support.microsoft.com
**
"madman" escribió en el mensaje
news:
jo, 1000 gracias Ignacio pero debo ser el amyor paquete del mundo!! hago
el
módulo y la consulta y la tabla resultante no muestra ningún
registro...que
desesperación... :(

no sé si es se puede, pero te podría enviar un fichero de ejemplo para que
le echarás un vistazo?? gracias de nuevo por la ayuda!!!!

"Ignacio" wrote:

¡Hola, Madman!

Si no lo he entendido mal necesitas un índice en cada tabla para que
el Keyword del registro 1 del TablaA lo busque en el Texto del
registro 1 de la TablaB. Si no, buscaría cada Keyword en todos los
registros de la TablaB.

Crea una función en un módulo con el siguiente código:
Public Function iVeces(Texto As String, Palabra As String) As Integer
Dim iCont As Integer, iPos As Integer

iPos = InStr(Texto, Palabra)
While iPos
iCont = iCont + 1
iPos = InStr(iPos + 1, Texto, Palabra)
Wend
iVeces = iCont
End Function

Y luego crea una consulta con el siguiente SQL:
SELECT Keyword, Texto, iVeces(Texto,Keyword) AS Veces
FROM TablaA, TablaB
WHERE TablaA.Id=TablaB.Id;

Al ejecutar la consulta deben aparecer las ocurrencias de cada Keyword
en los Textos.
Espero que te sirva de ayuda.

Un saludo,
Ignacio.
.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida