Mostrar datos al realizar consulta

Tengo un formulario (FConsulta) con un cuadro de texto (txtBuscar) y un botón de comando (cmdFiltrar), con la siguiente instrucción:

Private Sub cmdFiltrar_Click()

‘Creamos la variable que contendrá el filtro

    Dim sFiltro As String

‘Asignamos el filtro a la variable

' sFiltro = "MATRICULA LIKE'*" & Me.txtBuscar & "*'"

‘Asignamos la variable a la propiedad Filter del subformulario

    Me.SubVehiculos.Form.Filter = sFiltro

‘Le decimos al subformulario que active el filtro

‘que previamente hemos asignado.

    Me.SubVehiculos.Form.FilterOn = True

'Muestro total Registros encontrados

  txtRegistrosencontrados = Forms!FConsulta!SubVehiculos.Form.Recordset.RecordCount

End sub 

Lo que me hace es mostrarme en un subformulario la matrícula introducida, he insertado un campo nuevo campo NumBastidor, lo que pretendo es que me pueda filtrar por número de matrícula o bien por número de bastidor, para eso he añadido al filtro lo siguiente:

‘Asignamos el filtro a la variable

' sFiltro = "MATRICULA LIKE'*" & Me.txtBuscar & "*'"  or "NUMBASTIDOR LIKE'*" & Me.txtBuscar & "*'"

Pero me da error 13. Matricula y NumBastidor tienen el mismo tipo de dato, texto corto

Que estoy haciendo mal.

1 respuesta

Respuesta
2

¿Y cuándo alguno es nulo, porque sólo vas a usar un cuadro de texto de búsqueda?

Otra posibilidad. Si tengo el formulario 3, cond dos cuadros de texto TxtPais y TxtBastidor y un botón, con el subformulario Clientes,

Escribo una cadena del país,(lo he supuesto por esos asteriscos que pones) y pulso el botón

Por el contrario, si anoto una cadena del número del bastidor, que es texto

Al pulsar el botón

El código del botón es

Private Sub Comando4_Click()
If Not IsNull([TxtPais]) Then
Me!Clientes.Form.RecordSource = "select * from clientes where pais like ""*"" & '" & Me.TxtPais & "' & ""*"""
ElseIf Not IsNull([TxtBastidor]) Then
Me.Clientes.Form.RecordSource = "select * from clientes where bastidor like ""*"" & '" & Me.TxtBastidor & "' & ""*"""
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas