les muestro en que ando en estos días.
mas o menos logre una rutina para filtrar las búsquedas y colorear las palabras claves, pero....
el inconveniente me lo da sql pues si pongo pablo no me muestra resultados, y si, si pongo Pablo con mayúsculas,
también me sucede si pongo las palabras sin tilde cuando estas llevan tilde no muestra resultados.
otra cosa me olvidaba es que como se hace en sql hacer busquedas estrictas?
alguna sugerencia que no sea anda a estudiar sql? jajajajja
como hago para desactivar sensitive case de sql?
Public Sub BuscarEnTodos()
Dim Xtabla As Table
Dim ResultadoX As Result
Dim ContadorVersiculos, Buscando As Integer
Dim Proceso1, Proceso2 As String
For Each Xtabla In Conexion.Tables
If Left$(Xtabla.Name, 7) = "sqlite_" Then Continue
If Xtabla.Name = "biblia" Then Continue
' Print "Select * from '" & Xtabla.Name & "' where texto like '%" & txtFiltro.Text & "%'"
Try Conexion.Exec("Select * from '" & Xtabla.Name & "' where texto like '%" & txtFiltro.Text & "%'")
If Error Then
' Print "error con tabla" & Xtabla.Name
Continue
Else
' Print "ok=" & Xtabla.Name
Endif
ResultadoX = Conexion.Exec("Select * from '" & Xtabla.Name & "' where texto like '%" & txtFiltro.Text & "%'")
If ResultadoX.Available = True Then
Application.Busy = 1
Do While ResultadoX.Available
Print "resultadoX!texto=" & ResultadoX!texto
Buscando = InStr(ResultadoX!texto, txtFiltro.Text)
If Buscando = 0 Then Break
Proceso1 = Mid(ResultadoX!texto, Buscando, Len(txtFiltro.Text))
Proceso2 = Replace$(ResultadoX!texto, Proceso1, "<FONT><b>" & txtFiltro.Text & "</b></font>")
txtEcapitulo.RichText &= "<FONT><b>(" & Xtabla.Name & " " & ResultadoX!capitulo & "." & ResultadoX!versiculo & ")</b></font> " & Proceso2 & gb.NewLine
Inc ContadorVersiculos
' DatosEncontrados = True
ResultadoX.MoveNext
Loop
Application.Busy = 0
Else
' Balloon.Info("No se encontraron resultados", txtFiltro)
Endif
Next
' If DatosEncontrados = False Then
' Balloon("No se encontraron coincidencias", txtFiltro)
' Wait 2
' Balloon.Hide
' txtFiltro.SetFocus
' Return
' Endif
LabContadorVers.Text = "Coicidencias encontradas " & ContadorVersiculos
End
Dim Xtabla As Table
Dim ResultadoX As Result
Dim ContadorVersiculos, Buscando As Integer
Dim Proceso1, Proceso2 As String
For Each Xtabla In Conexion.Tables
If Left$(Xtabla.Name, 7) = "sqlite_" Then Continue
If Xtabla.Name = "biblia" Then Continue
' Print "Select * from '" & Xtabla.Name & "' where texto like '%" & txtFiltro.Text & "%'"
Try Conexion.Exec("Select * from '" & Xtabla.Name & "' where texto like '%" & txtFiltro.Text & "%'")
If Error Then
' Print "error con tabla" & Xtabla.Name
Continue
Else
' Print "ok=" & Xtabla.Name
Endif
ResultadoX = Conexion.Exec("Select * from '" & Xtabla.Name & "' where texto like '%" & txtFiltro.Text & "%'")
If ResultadoX.Available = True Then
Application.Busy = 1
Do While ResultadoX.Available
Print "resultadoX!texto=" & ResultadoX!texto
Buscando = InStr(ResultadoX!texto, txtFiltro.Text)
If Buscando = 0 Then Break
Proceso1 = Mid(ResultadoX!texto, Buscando, Len(txtFiltro.Text))
Proceso2 = Replace$(ResultadoX!texto, Proceso1, "<FONT><b>" & txtFiltro.Text & "</b></font>")
txtEcapitulo.RichText &= "<FONT><b>(" & Xtabla.Name & " " & ResultadoX!capitulo & "." & ResultadoX!versiculo & ")</b></font> " & Proceso2 & gb.NewLine
Inc ContadorVersiculos
' DatosEncontrados = True
ResultadoX.MoveNext
Loop
Application.Busy = 0
Else
' Balloon.Info("No se encontraron resultados", txtFiltro)
Endif
Next
' If DatosEncontrados = False Then
' Balloon("No se encontraron coincidencias", txtFiltro)
' Wait 2
' Balloon.Hide
' txtFiltro.SetFocus
' Return
' Endif
LabContadorVers.Text = "Coicidencias encontradas " & ContadorVersiculos
End
Proceso2 = Replace$(ResultadoX!texto, Proceso1, "<FONT><b>" & txtFiltro.Text & "</b></font>")
txtEcapitulo.RichText &= "<FONT><b>(" & Xtabla.Name & " " & ResultadoX!capitulo & "." & ResultadoX!versiculo & ")</b></font> " & Proceso2 & gb.NewLine