Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

函数-将列表框中的数据导入到一个表中

时 间:2011-08-04 00:00:00
作 者:竹笛   ID:8  城市:上海  QQ:2851379730点击这里给张志发消息
摘 要:当我们用列表框显示数据时,由于列表框中的数据并不能复制出来,因此写了这样一个f_listBox_exportData函数,将列表框中的数据导出到一个临时的表。这样就可以通过临时的表进行复制或是写入到EXCEL文件中。


正 文:

Public Function f_listBox_exportData(frmName As String, ListBoxName As String, tblName As String)

'作者:竹笛
'日期:2011-8-3
'功能:将列表框中的数据导入到一个表中
'使用方法: 建一个表,注意字段类型要与列表框中的数据保持一致,不要发生“列表框是文本类型,表中是数字类型”等现象,否则会出错。
'注意,列表框必须要设置列标题

'调用方法:Call f_listBox_exportData("窗体名称", "列表框名称", "表名称")

'说明:frmName窗体名称
'      ListBoxName 列表框名称
'      tblName 表名称
    Dim rst As DAO.Recordset
    Dim i As Long
    Dim x As Long
    Dim m As Long    '行数
    Dim n As Long    '列数
    m = Forms(frmName)(ListBoxName).ColumnCount    '列表框列数
    n = Forms(frmName)(ListBoxName).ListCount    '列表框行数
    DoCmd.SetWarnings False    '屏蔽系统警告
    '清空表中数据
    DoCmd.RunSQL "Delete " & tblName & ".* " & " FROM " & tblName
    DoCmd.SetWarnings True    '恢复系统警告
    '写入数据
    Set rst = CurrentDb.OpenRecordset(tblName, dbOpenDynaset)
    For i = 1 To n
        rst.AddNew
        For x = 1 To m
            rst.Fields(x - 1) = Forms(frmName)(ListBoxName).Column(x - 1, i)
        Next x
        rst.Update
    Next i
    rst.Close
    Set rst = Nothing
End Function



Access软件网QQ交流群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助