
VISUAL BASIC - NO COINCIDE EL TIPO DE DATOS ENLA EXPRESION DE CRITERIOS
Publicado por Cristian (2 intervenciones) el 09/09/2021 05:49:30
Hola, estoy aprendiendo a programar y tengo un problema que no logro visualizar
Quiero hacer una consulta desde Visual basic a una base de datos en Acces. Quiero consultar la existencia de un codigo de producto en la base de datos. Si al campo codigo en la base de datos lo pongo como numero me hace la consulta sin problemas, pero si lo pongo como texto me arroja el error "NO COINCIDE EL TIPO DE DATOS ENLA EXPRESION DE CRITERIOS" . El codigo lo tome de un ejercicio de un curso de Youtube y lo fui modificando. Yo quiero que mis codigos de producto en la base de datos en la base de datos sean alfanumericos y no numericos como aparecian en el ejercicio, pero no se que tengo que cambiar para que me resulte. Por favor ayuda.
El codigo en visual que estoy usando es el siguiente:
Module funcionesdb
Public conn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=inventario.accdb;Persist Security Info=False")
Public cmd As New OleDb.OleDbCommand
Public dr As OleDb.OleDbDataReader
Public Sub conectarse()
Try
conn.Open()
MsgBox("Conexión Exitosa!!!")
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Public Sub consultar(ByRef identificacion As String)
cmd.Connection = conn
' cmd.CommandType = CommandType.Text
If identificacion <> "" Then
cmd.CommandText = "SELECT CODIGO FROM RECURSOS WHERE CODIGO=" & identificacion
End If
Try
dr = cmd.ExecuteReader()
If dr.HasRows Then
While dr.Read()
MsgBox(dr(0).ToString)
End While
Else
MsgBox("No existen registros para ese codigo")
End If
dr.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
End Module
Quiero hacer una consulta desde Visual basic a una base de datos en Acces. Quiero consultar la existencia de un codigo de producto en la base de datos. Si al campo codigo en la base de datos lo pongo como numero me hace la consulta sin problemas, pero si lo pongo como texto me arroja el error "NO COINCIDE EL TIPO DE DATOS ENLA EXPRESION DE CRITERIOS" . El codigo lo tome de un ejercicio de un curso de Youtube y lo fui modificando. Yo quiero que mis codigos de producto en la base de datos en la base de datos sean alfanumericos y no numericos como aparecian en el ejercicio, pero no se que tengo que cambiar para que me resulte. Por favor ayuda.
El codigo en visual que estoy usando es el siguiente:
Module funcionesdb
Public conn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=inventario.accdb;Persist Security Info=False")
Public cmd As New OleDb.OleDbCommand
Public dr As OleDb.OleDbDataReader
Public Sub conectarse()
Try
conn.Open()
MsgBox("Conexión Exitosa!!!")
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Public Sub consultar(ByRef identificacion As String)
cmd.Connection = conn
' cmd.CommandType = CommandType.Text
If identificacion <> "" Then
cmd.CommandText = "SELECT CODIGO FROM RECURSOS WHERE CODIGO=" & identificacion
End If
Try
dr = cmd.ExecuteReader()
If dr.HasRows Then
While dr.Read()
MsgBox(dr(0).ToString)
End While
Else
MsgBox("No existen registros para ese codigo")
End If
dr.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
End Module
Valora esta pregunta


0