lunes, 21 de abril de 2008

BUSCAR PALABRA EN CONSULTAS


¿ Quieres saber en qué consultas empleas una función determinda, o está implicada una tabla, o un campo concreto, o utilizas un valor 'x' para filtrar los resultados, o ... ?. Si la respuesta a esta pregunta es afirmativa, quizás te interese la siguiente consulta, pues es capaz de buscar palabras completas dentro de las consultas de la base de datos.
Es imprescindible bajar el nivel de seguridad de la base de datos al mínimo, puesto que la sql de la consulta llamará a funciones de vba, caso contrario se producirá un error.

SELECT T.Name
FROM
(
Select Name From MsysObjects
Where Left$(MsysObjects.Name,1)<>"~" And Type = 5 And
Len(Trim(Palabra_a_buscar))>0
) AS T
WHERE Eval("CurrentDb.QueryDefs('" & Name & "').Sql") Like Palabra_a_buscar
Or
Eval("CurrentDb.QueryDefs('" & Name & "').Sql") Like Palabra_a_buscar &
"[ -/,',:,;,>,<,<>,=,^,\,[,-,+," & Chr(13) & "]*"
Or
Eval("CurrentDb.QueryDefs('" & Name & "').Sql") Like Palabra_a_buscar &
"]*"
Or
Eval("CurrentDb.QueryDefs('" & Name & "').Sql") Like
"*[ -/,',:,;,>,<,<>,=,^,\,[,-,+," & Chr(13) & "]" & Palabra_a_buscar
Or
Eval("CurrentDb.QueryDefs('" & Name & "').Sql") Like "*]" & Palabra_a_buscar
Or
Eval("CurrentDb.QueryDefs('" & Name & "').Sql") Like "*]" & Palabra_a_buscar &
"[ -/,',:,;,>,<,<>,=,^,\,[,-,+," & Chr(13) & "]*"
Or
Eval("CurrentDb.QueryDefs('" & Name & "').Sql") Like
"*[ -/,',:,;,>,<,<>,=,^,\,[,-,+," & Chr(13) & "]" & Palabra_a_buscar & "]*"
Or
Eval("CurrentDb.QueryDefs('" & Name & "').Sql") Like
"*[ -/,',:,;,>,<,<>,=,^,\,[,-,+," & Chr(13) & "]" & Palabra_a_buscar &
"[ -/,',:,;,>,<,<>,=,^,\,[,-,+," & Chr(13) & "]*";

Ramon Poch. Terrassa a 26/03/2008.