¿El código de barra qué tipo de dato es en la base de datos?
Si es numérico no llevaría comillas en la sentencia SQL.
Otra cosita, hace pila que no programo visual pero... ¿no deberías poner "da.Fill(ds)" en lugar de "da.Fill(dt)"?
Este fragmento de una librería que uso para conectar VB con SQLServer te puede servir para sacara alguna idea...
Código:
If Not CadenaConsulta = String.Empty Then
Dim unaC As SqlConnection = Me.Conectar
Dim unDs As New DataSet, unDA As SqlDataAdapter
Try
unaC.Open()
unDA = New SqlDataAdapter(CadenaConsulta, unaC)
Dim unCB As SqlCommandBuilder = New SqlCommandBuilder(unDA)
unDA.Fill(unDs)
unaC.Close()
Return unDs
Catch
MessageBox.Show(Err.Description & " - " & Err.Source & " Línea: " & Err.Erl)
End Try
End If
Eso retorna un dataset, que después podés leer para extraer los datos; vendrían a ser los resultados de la consulta en memoria, listos para usar.
Probalo y nos contás. Saludos.