下拉列表 - 默认值

Bv2*_*202 3 ms-access access-vba

我有一个所有可用打印机的下拉列表:

Private Sub Form_Load()
    For Each l_pr In Application.Printers

      Me.dropdown.RowSourceType = "Value List"
      Me.dropdown.AddItem l_pr.DeviceName
   Next

   Me.dropdown.DefaultValue = Application.Printer.DeviceName

End Sub
Run Code Online (Sandbox Code Playgroud)

我想在加载表单时选择默认打印机.我认为你可以用DefaultValue做到这一点(参见我的代码),但没有任何东西以这种方式显示.

我怎样才能做到这一点?

Han*_*sUp 5

通过分配到下拉列表的Value属性而不是分配来选择打印机DefaultValue.

我在Access 2007中使用新表单验证了此代码...

Private Sub Form_Load()
    Dim l_pr As Printer
    Me.dropdown.RowSourceType = "Value List"
    For Each l_pr In Application.Printers
        Me.dropdown.AddItem l_pr.DeviceName
    Next
    'Me.dropdown.DefaultValue = Application.Printer.DeviceName
    Me.dropdown.Value = Application.Printer.DeviceName
    Set l_pr = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)

RowSourceTypeFor循环之前移动了语句...你只需要运行一次该语句.

另请注意Dim l_pr As Printer......在VBA中建议使用声明变量.包含Option Explicit在表单模块的声明部分中,然后从VB编辑器的主菜单中运行Debug-> Compile.在解决其他代码问题之前,修复编译器抱怨的任何其他内容.