根据可用数量设置最大数量

时间:2015-10-27 18:21:34

标签: vba loops ms-access for-loop access-vba

我正在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。任何帮助或建议都会很棒。提前谢谢!

1 个答案:

答案 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}}属性必须设置为“值列表”。