作者:绿色风
分类:
时间:2022-08-17
浏览:123
楼主 水星钓鱼 |
Q:如何将Recordset记录集赋值给用户窗体的列表框控件(包括字段名)? A:用以下的代码可以实现将Recordset记录集赋值给用户窗体的列表框控件:- Private Sub CommandButton1_Click()
- Dim oRec
- Dim sConStr As String
- Dim sSql As String
- Dim i As Integer
- sConStr = "Provider='Microsoft.Jet.OLEDB.4.0';Data Source=" & ThisWorkbook.FullName & ";Extended Properties='Excel 8.0;HDR=YES'"
- sSql = "select * from [一月$]" & _
- " union all select * from [二月$] union all " & _
- "select * from [三月$]"
- Set oRec = CreateObject("ADODB.Recordset")
- With oRec
- .Open sSql, sConStr
- With UserForm1
- With .ListBox1
- .ColumnCount = oRec.Fields.Count
- '将Recordset的所有记录转置后赋值给列表框
- .List = Application.WorksheetFunction.Transpose(oRec.GetRows())
- '在列表框的第一行添加字段名
- For i = 1 To oRec.Fields.Count
- .Column(i - 1, 0) = oRec.Fields(i - 1).Name
- Next
- End With
- .Show
- End With
- End With
- Set oRec = Nothing
- End Sub
由于列表框的ColumnHeads属性只有当列表框的数据来自RowSource时才有效,所以无法将Recordset的字段名作为列标题。 附件如下:
将Recordset记录集赋值给用户窗体的列表框控件(包括字段名).rar |
2楼 海绵宝宝 |
最近发现你对ADO的帖子发的比较多 |
3楼 老糊涂 |

|
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一