我對VBA比較陌生,現在正在進行學習。我正在調整另一個項目的代碼以適應我的需求,並且遇到問題。如何清除組合框的行源,但保留選定的值
我有一個用戶窗體,它有一個由高級過濾器填充的combox框。我需要在下一行數據中使用此過濾器,所以我試圖清除組合框的行源,但保留選定的值。
ASales1_Change代碼中的所有內容都按預期工作。我得到了這個組合框的列表,以及我想要的第二個組合框。但我需要清除ASales2中的行源,以便將信息添加到第二行
以下是我對用戶表單的銷售訂單框架的第一行中框的代碼。
Private Sub ASales1_Change()
On Error Resume Next
Sheets("Products").Range("L4").Value = ASales1.Value
'run advanced filter to change productlist named range
Adv
'clear values for product and quantity
For X = 2 To 3
Me.Controls("ASales" & X).Value = ""
Next
'set productlist as rowsource for second control
Me.ASales2.RowSource = "ProductList"
On Error GoTo 0
End Sub
Private Sub ASales3_Change()
On Error Resume Next
Me.ASales2.RowSource = ""
On Error GoTo 0
End Sub
'.rowsource =「SELECT * FROM產品列表,其中的ProductID = '就像那樣,不知道組合中有什麼獨特的字段,但是說它是ID,設置一個變量爲它的值,然後使用這個變量來構建標準,或者將它改爲值列表,並且只需添加選擇.AddI然後在使用tables/queries/sql時將其切換回 –
在刪除RowSource之前創建一個String變量來存儲ComboBox值,然後在最後將ComboBox值設置爲該String變量?但是這不允許人們回去,如果你只是「鎖定」它('.Locked = True')? – PatricK