下拉列表 - 默认值

时间:2013-07-05 11:32:10

标签: 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

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

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分: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

我在RowSourceType循环之前移动了For语句...你只需要运行一次该语句。

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