Consulta a base de datos Access
Publicado: 03 Sep 2014, 00:59
Hola amigos, tengo un detalle con un programa que estoy creando para usar como Punto de Venta....
El detalle es que la primer parte que hace una consulta a la tabla tpv_Productos corre perfectamente, pero cuando llama a la funcion unidades() esta, a pesar de tener el valor de la variable $unidades arroja error en la consulta, sin embargo si en lugar de usar la variable ponemos el valor fijo, esta consulta se realiza sin problemas.
Estoy atorado con esto, seguramente sera algo sencillo, pero no logro ubicar el problema.
El detalle es que la primer parte que hace una consulta a la tabla tpv_Productos corre perfectamente, pero cuando llama a la funcion unidades() esta, a pesar de tener el valor de la variable $unidades arroja error en la consulta, sin embargo si en lugar de usar la variable ponemos el valor fijo, esta consulta se realiza sin problemas.
Código: Seleccionar todo
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Inventario = GUICreate("Productos e Inventario", 466, 494, 250, 166)
$cProductos = GUICtrlCreateCombo("", 16, 24, 337, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$bObtener = GUICtrlCreateButton("Obtener", 368, 24, 75, 25)
$iProducto = GUICtrlCreateInput("", 104, 80, 353, 21)
$iCodigo = GUICtrlCreateInput("", 104, 112, 353, 21)
$lNombre = GUICtrlCreateLabel("Producto", 52, 88, 45, 17)
$lCodigo = GUICtrlCreateLabel("Codigo de barras", 15, 120, 80, 17)
$iPrecio1 = GUICtrlCreateInput("", 104, 160, 113, 21)
$iUnidad = GUICtrlCreateInput("", 232, 160, 105, 21)
$iPrecio3 = GUICtrlCreateInput("", 352, 160, 105, 21)
$lPrecio1 = GUICtrlCreateLabel("Precio", 104, 144, 40, 16)
$lUnidad = GUICtrlCreateLabel("Unidad", 232, 144, 40, 16)
$lPrecio3 = GUICtrlCreateLabel("Otro", 352, 144, 40, 16)
$cCategoria = GUICtrlCreateCombo("", 104, 200, 241, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Input6 = GUICtrlCreateInput("Input6", 104, 240, 113, 21)
$Input7 = GUICtrlCreateInput("Input7", 104, 272, 113, 21)
$bCambiaCat = GUICtrlCreateButton("Ver categorias", 360, 200, 75, 25)
$Button3 = GUICtrlCreateButton("Button3", 232, 240, 75, 25)
$Button4 = GUICtrlCreateButton("Button4", 232, 272, 75, 25)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 328, 240, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 328, 272, 97, 17)
$Edit1 = GUICtrlCreateEdit("", 24, 320, 281, 145)
GUICtrlSetData(-1, "Edit1")
$Button5 = GUICtrlCreateButton("Button5", 320, 336, 123, 25)
$Button6 = GUICtrlCreateButton("Button6", 320, 376, 123, 25)
$Button7 = GUICtrlCreateButton("Button7", 320, 416, 123, 25)
$lCategoria = GUICtrlCreateLabel("Categoria", 48, 208, 45, 17)
$Label7 = GUICtrlCreateLabel("Label7", 56, 248, 36, 17)
$Label8 = GUICtrlCreateLabel("Label8", 56, 280, 36, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Productos()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $bObtener
$Producto = GUICtrlRead ($cProductos)
$dbname = 'C:\POS\Base.mdb'
$tbl_Productos = "tpv_Productos"
$query = "SELECT * FROM " & $tbl_Productos & " WHERE Producto = '" & $Producto & "'"
$adoCon = ObjCreate("ADODB.Connection")
$adoCon.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & $dbname)
$adoRs = ObjCreate ("ADODB.Recordset")
$adoRs.CursorType = 1
$adoRs.LockType = 3
$adoRs.Open ($query, $adoCon)
GUICtrlSetData ($cProductos, $adoRs.Fields("Producto").value)
GUICtrlSetData ($iProducto, $adoRs.Fields("Producto").value)
GUICtrlSetData ($iCodigo, $adoRs.Fields("Clave").value)
GUICtrlSetData ($iPrecio1, $adoRs.Fields("Costo").value)
Global $unidad = $adoRs.Fields("unidad").value
$adoCon.Close
Sleep (1000)
unidades()
EndSwitch
WEnd
Func Unidades()
$dbname = 'C:\POS\Base.mdb'
$tbl = "tpv_unidades"
ConsoleWrite ($unidad & @CRLF)
$query1 = "SELECT * FROM " & $tbl & " WHERE numero = '" & $unidad & "'"
$adoCon = ObjCreate("ADODB.Connection")
$adoCon.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & $dbname)
$adoRs = ObjCreate ("ADODB.Recordset")
$adoRs.CursorType = 1
$adoRs.LockType = 3
$adoRs.Open ($query1, $adoCon)
GUICtrlSetData ($iUnidad, $adoRs.Fields("unidad").value)
$adoCon.Close
EndFunc
Func Productos()
$dbname = 'C:\POS\Base.mdb'
$tbl_Productos = "tpv_productos"
$query = "SELECT * FROM " & $tbl_Productos & "'"
$adoCon = ObjCreate("ADODB.Connection")
$adoCon.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & $dbname)
$adoRs = ObjCreate ("ADODB.Recordset")
$adoRs.CursorType = 1
$adoRs.LockType = 3
$adoRs.Open ($query, $adoCon)
While Not $adoRs.EOF
GUICtrlSetData ($cProductos, $adoRs.Fields("Producto").value)
$adoRs.MoveNext
WEnd
$adoCon.Close
EndFunc