如何直接从Access窗体中将数据加载到Excel Userform Listbox?

时间:2016-10-04 16:42:23

标签: excel vba ms-access userform

我想将Access中的一些数据加载到Excel Userform ListBox中。我现在正在做的是创建ADODB.Connection来连接访问权限并创建ADODB.Recordset来存储数据,首先。其次,我使用Range("xx").CopyFromRecordset将数据复制到excel表。第三,将excel范围命名为“ResultSet”。第四,使用Me.ListName.RowSource="ResultSet"将数据从Excel工作表复制到ListBox。

如您所见,我使用四个步骤完成这项工作。有没有办法跳过第2步和第3步,直接将数据从Access复制到ListBox?

由于

2 个答案:

答案 0 :(得分:1)

我发现了一篇文章。以下是代码,这是link

  With rs
    .MoveLast
    NoOfRecords = .RecordCount
    .MoveFirst
  End With
  'Set the number of ListBox columns = number of fields in the recordset
  ListBox1.ColumnCount = rs.Fields.Count
  'Load the listbox with the retrieved records
  ListBox1.Column = rs.GetRows(NoOfRecords)

由于

答案 1 :(得分:0)

对于单列列表框

尝试使用循环手动编辑列表:

Me.ListName.Clear 'First clear existing list
With Me.ListName
    While rs.EOF = False
        .AddItem rs.Fields(0).Value
        rs.MoveNext
    Wend
End With

使用步骤2-4交换该代码。