我正在Access上创建一个订单表单,我想在每个产品中显示一个组合框,其中最大数量基于可用的数量。
我有一张桌子:
库存(ItemID(pk),QtyAvailable)
我要做的是一个for循环,其中数量将一直增加1,直到达到可用数量。以下是我使用的代码:
Private Sub Form_Load()
Dim qtyAvailable As Integer
Dim i As Integer
Dim Qty As Integer
Set qtyAvailable = DLookup("QtyAvailable", "Inventory", "ItemID = 'FSK606'")
For i = 1 To qtyAvailable Step 1
Me.cboxqty.Value = Qty + i
Next i
End Sub
我收到错误提示“编译错误:需要对象”并突出显示qtyAvailable。任何帮助或建议都会很棒。提前谢谢!
答案 0 :(得分:2)
qtyAvailable
是Integer类型的变量。 Set
仅用于对象变量。它只是
qtyAvailable = DLookup("QtyAvailable", "Inventory", "ItemID = 'FSK606'")
你的循环应该做什么?
你为什么不干脆做
Me.cboxqty.Value = qtyAvailable
修改强>
您可能希望每个数量从1到qtyAvailable作为组合框中的选项。您无法使用.Value
,但.AddItem
For i = 1 To qtyAvailable
Me.cboxqty.AddItem CStr(i)
Next i
RowSourceType
的{{1}}属性必须设置为“值列表”。