ms-access - 下拉列表 - 默认值

标签 ms-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 来做到这一点(请参阅我的代码),但是这种方式没有显示任何内容。

我怎样才能做到这一点?

最佳答案

通过分配给下拉菜单的 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

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

另请注意 Dim l_pr As Printer ... 声明变量是 VBA 中推荐的做法。在窗体模块的声明部分包含 Option Explicit,然后从 VB 编辑器的主菜单运行 Debug->Compile。在解决其他代码问题之前修复编译器提示的任何其他问题。

关于ms-access - 下拉列表 - 默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17487901/

相关文章:

sql-server - 获取数字序列中缺失的值

.net - 表达式中未定义的函数 'Nz'

ms-access - 烦人的 vba 命名行为

excel - VBA 工作簿地址

python - 使用 xlsxwriter,无法打开 Excel 文件。文件扩展名无效

c# - AUTOINCREMENT 不适用于 OleDbCommand

java - "unsupported collating sort order"从 Java 更新 Access 数据库时出错

excel - Visual Basic - for..next 和公式

vba - 从列表转换为包含修改数据的平面 CSV

excel - 从 Excel 批量插入到 SQLite,无需 TXT 或 CSV 文件