设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2148|回复: 4
打印 上一主题 下一主题

[帮助] 关于ACCESS数据导出到EXCEL

[复制链接]
跳转到指定楼层
1#
发表于 2012-1-12 19:49:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 bshchangss 于 2012-1-14 16:04 编辑

因为原先的帖被版主误以为是EXCEL的提问,被转到EXCEL版来了啊 ,担心EXCEL版看的人少,所以我又重新发了个帖

我把我的附件挂上,请老师们指导,谢谢!

因为里面牵扯的表比较多,所以不做更改把我整个数据库都帖上来,比较乱,请老师将就一下
具体操作如下:
1. 在打开后的主窗体,点击按钮“请点击进入”,因为我的数据是按每条记录的ID号查询的,请确保是在第一条记录,暂时第一条记录的内容对于后面的操作信息包含的较全。
2.请在第二个打开的窗体内输入“2012-1-5“
3.点击按钮“请点击进入”,即将数据导到指定的EXCEL中内


现在我的问题是:
1.怎样能将ACCESS数据导到Excel的指定Sheet表中(如Sheet1)
2.在EXCEL内的黄色区域的信息缺失,因为我不知道怎么修改拷来的源码,请老师帮忙补充。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2012-1-12 23:29:22 | 只看该作者
本帖最后由 鱼儿游游 于 2012-1-12 23:30 编辑

你想导出什么呀?是分别导出到不同的工作表?
3#
 楼主| 发表于 2012-1-13 22:56:01 | 只看该作者
恩是的,是有好几张不同类型的表
但现在只放了一个表
4#
发表于 2012-1-13 23:49:58 | 只看该作者
给你一个导出查询到指定的excel(具体到工作表,开始行列)
excel请放在与本库同目录下
  1. '---------------------------------------------------------------------------------------
  2. ' Procedure : QueryToExcel
  3. ' DateTime  : 2008-12-2 00:02
  4. ' Author    : Henry D. Sy
  5. ' Purpose   :
  6. ' 参数      ;strQueryName  查询名
  7. '            xlsName       Excel 文件名
  8. '            strShtName    工作表名
  9. '            Hval;Lval     分别为要导入的开始行和列
  10. '---------------------------------------------------------------------------------------
  11. '
  12. Sub QueryToExcel(ByVal strQueryName As String, ByVal xlsName As String, ByVal _
  13.                 strShtName As String, ByVal Hval As Integer, ByVal Lval As Integer)
  14. ' Send the Query results to Excel
  15. ' for further analysis
  16.     Dim rs As ADODB.Recordset
  17.     Dim objXL As Excel.Application
  18.     Dim objWs As Excel.Workbook
  19.     Dim fld As ADODB.Field
  20.     Dim intCol As Integer
  21.     Dim intRow As Integer

  22.     Set rs = New ADODB.Recordset
  23.     ' Get the desired data into a recordset
  24.     rs.Open strQueryName, CurrentProject.Connection
  25.     ' Launch Excel
  26.     Set objXL = New Excel.Application
  27.     ' Open a  worksheet
  28.     Set objWs = objXL.Workbooks.Open(CurrentProject.Path & "" & xlsName & _
  29.                                      ".xls")
  30.     objWs.Worksheets(strShtName).Activate
  31.     ' Copy the data
  32.     ' First the field names 第一行是ACCESS中的列表名

  33.     For intCol = 0 To rs.Fields.Count - 1  '是获取表中的列数
  34.         Set fld = rs.Fields(intCol)
  35.         objWs.Worksheets(strShtName).Cells(Hval, intCol + Lval) = fld.Name  'Excel中(1,1)开始输入列名
  36.     Next intCol
  37.     ' Now the actual data 现在开始复制数据
  38.     intRow = Hval + 1      '你可以修改intRow从第几行开始输入数据,本例中是从第2行开始复制数据
  39.     Do Until rs.EOF       '你可以修改intCol + 1从第几列开始输入数据,本例中是从第2行第1列开始复制数据
  40.         For intCol = 0 To rs.Fields.Count - 1
  41.             objWs.Worksheets(strShtName).Cells(intRow, intCol + Lval) = _
  42.             rs.Fields(intCol).Value
  43.         Next intCol
  44.         rs.MoveNext
  45.         intRow = intRow + 1
  46.     Loop
  47.     ' Make the worksheet visible
  48.     objXL.Visible = True    '打开Excel表查看数据
  49.     rs.Close
  50.     Set rs = Nothing

  51. End Sub
复制代码
5#
发表于 2014-12-23 20:17:36 | 只看该作者
不错
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-30 15:37 , Processed in 0.112121 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表