Problemas en la búsqueda de datos mediante cuadro de texto.

Buenos días.

El problema es el siguiente, tengo una tabla "LIBROS" con su formulario en los que hay la columna TITULO la cual utilizo para la búsqueda, al ir introduciendo los datos en el cuadro de texto no me muestra los títulos en el cuadro de lista y no me abre el formulario hasta que no he puesto el titulo correcto. Te mando el procedimiento que uso.

Private Sub Comando28_Click()
If Me.EntRegistro <> " " Then
If Len(Me.EntRegistro) > 15 Then
DoCmd.OpenForm "FICHA", , , CritErio, , acDialog
Else
DoCmd.OpenForm "FICHA", , , "Nombre = '" & Me.EntRegistro & "'", , acDialog
End If
Else
MsgBox "Incluya un nombre a buscar", vbInformation, "Buscar"
Me.EntRegistro.SetFocus
End If
End Sub
Private Sub Form_Timer()
Me.Lista26.Visible = False
End Sub
Private Sub Lista26_Click()
Me.EntRegistro.Value = Me.Lista26.Column(0)
Me.EntRegistro.SetFocus
Me.Lista26.Visible = False
End Sub
Private Sub EntRegistro_Change()
CritErio = Rem_Google(Me.EntRegistro.Text, " ", "*")
SQL = "SELECT CLIENTES.NOMBRE FROM CLIENTES WHERE " & CritErio & " ;"
Me.Lista26.RowSource = SQL
If Me.Lista26.ListCount > 0 Then
Me.Lista26.Visible = True
Else
Me.Lista26.Visible = False
End If
End Sub
Public Function Rem_Google(Texto As String, Letra As String, Cambio_Letra As String) As String
Dim Carac As String, CaracS As String, NroCarac, PrCarac, DescriFis As String, Letra_Asc As Double
On Error GoTo Rem_TextoTrap
PrCarac = 1
Texto = Trim$(Texto)
NroCarac = Len(Texto)
Letra_Asc = Asc(" ")
Dim str2 As String
SigueCaracCli:
Carac = Mid(Texto, PrCarac, 1)
PrCarac = PrCarac + 1
If PrCarac <= NroCarac Then If Mid(Texto, PrCarac, 1) = " " And Carac = "s" Then GoTo Esteno:
If PrCarac <= NroCarac Then If Mid(Texto, PrCarac, 1) = " " And Carac = "S" Then GoTo Esteno:
GoSub CaracFis:
DescriFis = DescriFis & Carac
Esteno:
If PrCarac <= NroCarac Then
GoTo SigueCaracCli
Else
If DescriFis = "F-100" Or DescriFis = "F/100" Or DescriFis = "F100" Then DescriFis = "100"
If Rem_Google = "" Then
Rem_Google = " (nombre) Like '*" & DescriFis & "*' "
Else
If DescriFis <> "DE" Or DescriFis <> "PARA"
Then Rem_Google = Rem_Google & " (nombre) Like '*" & DescriFis
& "*' "
End If
End If
Exit Function
'AQUI SE PERMITE CAMBIAR UN TEXTO SIMILAR POR OTRO
CaracFis:
Dim NN As String
NN = Asc(Carac)
If Asc(Carac) = Letra_Asc And PrCarac < NroCarac Then
If DescriFis = "F-100" Or DescriFis = "F/100" Or DescriFis = "F100" Then DescriFis = "100"
If DescriFis = "DE" Or DescriFis = "PARA" Then GoTo Parad:
Rem_Google = Rem_Google & " (nombre) Like '*" & DescriFis & "*' AND "
DescriFis = ""
Carac = ""
Return
ElseIf Asc(Carac) = Letra_Asc And PrCarac = NroCarac Then
If DescriFis = "F-100" Or DescriFis = "F/100" Or DescriFis = "F100" Then DescriFis = "100"
If DescriFis = "DE" Or DescriFis = "PARA" Then GoTo Parad:
Rem_Google = Rem_Google & " (nombre) Like '*" & DescriFis & "*' AND"
DescriFis = ""
Carac = ""
End If
Return
Exit Function
Rem_TextoTrapExit:
Exit Function
Rem_TextoTrap:
If Err.Number = 5 Then
GoTo Parad
Else
str2 = "Error numero: " & Err.Number & "causado " & _
"por una falla. Su descripcion es:" & vbCrLf & _
Err.Description
MsgBox str2, vbExclamation, _
"Historia Clinica para Consultorio"
End If
Resume Rem_TextoTrapExit
Parad:
DescriFis = ""
Carac = ""
Return
End Function

Este procedimiento funciona con otras tablas por lo que creo que es un problema de la tabla o del formulario. Dime si te hace falta algo mas.

Un Nobato

Añade tu respuesta

Haz clic para o