Buenos días, tengo un problema con una aplicación que estoy haciendo para mi trabajo.
En un formulario de VB quiero hacer búsqueda en una tabla de access llamada MARCAS. Esta tabla tiene 2 campos: codigo_marca y marca_vehiculo.
- codigo_marca: texto --- 3
- marca_vehiculo: texto --- 20
El código que estoy utilizando para hacer la búsqueda es el siguiente:
Private Sub Buscar_Marca()
Dim consulta As String
Dim lista As Byte
Try
conexion.Open() 'Se abre la coneción de la base de datos
'Condición que valida si el cuadro de texto esta vacío
If txtBajaCodigoMarca.Text <> "" Then
consulta = "SELECT * FROM marcas WHERE codigo_marca =" & txtBajaCodigoMarca.Text & ""
da = New OleDb.OleDbDataAdapter(consulta, conexion)
ds = New DataSet
da.Fill(ds, "marcas")
lista = ds.Tables("marcas").Rows.Count
If ds.Tables("marcas").Rows.Count = 0 Then
MsgBox("El código ingresado no existe en la Base de Datos", vbCritical, "Error")
Call Inicializar() 'Inicializa el formulario después de un error
End If
Else
MsgBox("Ingrese el código de la marca", vbExclamation, "Campo Vacío")
txtBajaCodigoMarca.Focus()
End If
If lista <> 0 Then
txtBajaCodigoMarca.Text = ds.Tables("marcas").Rows(0).Item("codigo_marca")
txtBajaNombreMarca.Text = ds.Tables("marcas").Rows(0).Item("marca_vehiculo")
End If
Catch ex As Exception
MsgBox(ex.ToString) 'Muestra mensaje de error en caso de existir
Finally
conexion.Close() 'Cierra la conexión a la DB
End Try
End Sub
En la tabla MARCAS ingrese 3 registros:

Al realizar la búsqueda en el formulario para que me muestre el nombre de la marca según el código que ingresé:

Me muestra el siguiente error:

El error lo marca en esta parte del código:

P.D. He intentado hacer la misma búsqueda con ID numéricos, por ejemplo 1, 5, 20, etc. y si me funciona, pero cuando intento con campos TEXTO como TOY, HON, NIS, etc. no me funciona como puede ver.
Espero me puedan ayudar, de antemano gracias!!!