Dudas con SQL aplicado en Visual Basic
Soy principiante en Visual Basic.
Te explicare lo más breve que pueda el objetivo de mi programa.
Trabajo en una agencia nissan, entonces quiero hacer una consulta del inventario de refacciones, en mi base de datos (tabla) tengo los siguientes campos, Numero de Parte(Campo Parte), Descripción, etc., quiero que al momento de escribir en un Text el numero de parte se muestren en un listbox los numero de parte que coincidan con dicho numero, pero me da un error 3131 error de sintaxis en la clausula FROM
este es el código:
Private Sub TxtParte_Change()
Dim Dato As String
Dim Consulta_SQL As String
Dim Resultado As String
Dim Contador As Integer, Total_encontrado As Integer
Dim Relacion As String
Contador = 0
Total_encontrado = 0
LstBusqueda = Visible
LstBusqueda.Clear
Dato = TxtParte
Consulta_SQL = "SELECT * FROM Inventario" + _
"WHERE Parte LIKE'" _
+ Dato + "*' ORDER BY Parte;"
Aquí es donde me señala el error
Set Partes = Agenda.OpenRecordset(Consulta_SQL, _
dbOpenDynaset)
If Total_encontrado > 1 Then
LstBusqueda.ToolTipText = "Haga Clic En Alguna De Las Partes"
Else
LstBusqueda.ToolTipText = "No Se Encontro Ningún Registro Con Ese Número de Parte."
End If
Do
If Partes.AbsolutePosition > -1 Then
LstBusqueda.AddItem (Partes("Parte"))
Contador = Contador + 1
Partes.MoveNext
End If
Loop Until Contador >= Total_encontrado
Relacion = "SELECT * " _
+ "FROM Inventario" _
+ "Where Parte = '" _
+ Dato + "´"
Set Partes = Agenda.OpenRecordset(Relacion, _
dbOpenDynaset)
Total_encontrado = Partes.RecordCount
Partes.MoveFirst
Actualiza_Campos
End Sub
Por último porque no me permite escribir más de un carácter en el Text si quiero escribir por ejemplo 15208 al momento que escribo el 1 se ejecuta la instrucción y yo lo que quiero es que me permita teclear más números y si por ejemplo escribo 24 me muestre en el ListBox los que tengan 24 al principio y si escribo 242 igual me muestre los números de parte que coincidan con ese nuevo criterio
Te explicare lo más breve que pueda el objetivo de mi programa.
Trabajo en una agencia nissan, entonces quiero hacer una consulta del inventario de refacciones, en mi base de datos (tabla) tengo los siguientes campos, Numero de Parte(Campo Parte), Descripción, etc., quiero que al momento de escribir en un Text el numero de parte se muestren en un listbox los numero de parte que coincidan con dicho numero, pero me da un error 3131 error de sintaxis en la clausula FROM
este es el código:
Private Sub TxtParte_Change()
Dim Dato As String
Dim Consulta_SQL As String
Dim Resultado As String
Dim Contador As Integer, Total_encontrado As Integer
Dim Relacion As String
Contador = 0
Total_encontrado = 0
LstBusqueda = Visible
LstBusqueda.Clear
Dato = TxtParte
Consulta_SQL = "SELECT * FROM Inventario" + _
"WHERE Parte LIKE'" _
+ Dato + "*' ORDER BY Parte;"
Aquí es donde me señala el error
Set Partes = Agenda.OpenRecordset(Consulta_SQL, _
dbOpenDynaset)
If Total_encontrado > 1 Then
LstBusqueda.ToolTipText = "Haga Clic En Alguna De Las Partes"
Else
LstBusqueda.ToolTipText = "No Se Encontro Ningún Registro Con Ese Número de Parte."
End If
Do
If Partes.AbsolutePosition > -1 Then
LstBusqueda.AddItem (Partes("Parte"))
Contador = Contador + 1
Partes.MoveNext
End If
Loop Until Contador >= Total_encontrado
Relacion = "SELECT * " _
+ "FROM Inventario" _
+ "Where Parte = '" _
+ Dato + "´"
Set Partes = Agenda.OpenRecordset(Relacion, _
dbOpenDynaset)
Total_encontrado = Partes.RecordCount
Partes.MoveFirst
Actualiza_Campos
End Sub
Por último porque no me permite escribir más de un carácter en el Text si quiero escribir por ejemplo 15208 al momento que escribo el 1 se ejecuta la instrucción y yo lo que quiero es que me permita teclear más números y si por ejemplo escribo 24 me muestre en el ListBox los que tengan 24 al principio y si escribo 242 igual me muestre los números de parte que coincidan con ese nuevo criterio
1 respuesta
Respuesta de blackie
1