Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何显示和导出recordset中的内容?

kencc  发表于:2010-09-21 13:03:48  
复制

1、我在access用ADO打开了recordset,但不知如何将其中内容显示出来,比如在窗体上显示出来。正在开发小工具,卡壳了,求高人指点!!
2、如果不能在窗体显示,能否导出到excel文件?

以下是我写的打开recordset的代码,后面就不知怎样写了,我是新手,有劳各位,小弟先行谢过~~~

 

Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim sql As String
cnn.Open "provider=microsoft.jet.oledb.4.0;" & "data source=" & CurrentProject.Path & "\随机抽件器1.5.mdb;"
rst.CursorLocation = adUseClient
sql = "SELECT distinct 操作员ID FROM telephone"
rst.Open sql, cnn

 

 

Top
煮江品茶 发表于:2010-09-21 14:13:42

open后,你竟可以加工。最后总能得到你需要的记录集,将这个记录集赋值给窗体即可。一般的写法为:

Set Me.Form.Recordset = rs

 



kencc 发表于:2010-09-22 00:13:19

煮江品茶你好!我按你说的,加上了Set Me.Form.Recordset = rs这句,并设了一个按钮,将按钮的单击事件设为以下代码,但还是不行,能否提供一段完整的代码,先谢了~~~

 

我的代码如下:

Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim sql As String
cnn.Open "provider=microsoft.jet.oledb.4.0;" & "data source=" & CurrentProject.Path & "\随机抽件器1.5.mdb;"
rst.CursorLocation = adUseClient
sql = "SELECT distinct 操作员ID FROM telephone"
rst.Open sql, cnn

Set Me.Form.Recordset = rst



kencc 发表于:2010-09-22 00:16:27

补充一下: 按钮在一个带子窗体的窗体上,不知有没影响?

如果实在不行,想尝试导出成excel文件,但也不知道如何做,着急啊~~~



赵文斌 发表于:2010-09-22 10:46:26

Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim sql As String
cnn.Open "provider=microsoft.jet.oledb.4.0;" & "data source=" & CurrentProject.Path & "\随机抽件器1.5.mdb;"
rst.CursorLocation = adUseClient
sql = "SELECT distinct 操作员ID FROM telephone"
rst.Open sql, cnn

 

 Dim xlApp As Object
    Dim xlbook, xlsheet
    Set xlApp = CreateObject("Excel.Application")
   
    xlApp.Application.Visible = True
    Set xlbook = xlApp.Application.Workbooks.add
    Set xlsheet = xlbook.Application.Worksheets(1)
    Dim icols As Integer
   For icols = 0 To rst.Fields.Count - 1
    xlsheet.Cells(1, icols + 1).Value = rst.Fields(icols).Name
    Next
    xlsheet.range(xlsheet.Cells(1, 1), xlsheet.Cells(1, rst.Fields.Count)).Font.Bold = True
    xlsheet.range("A2").CopyFromRecordset rst

  rst.Close



kencc 发表于:2010-09-22 23:36:42

可以导出到excel了,感谢赵文斌的指导!

不过还是想实现在窗体上显示,若能抽空指导一下,将不胜感激!!



总记录:5篇  页次:1/1 9 1 :