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