Office中国论坛/Access中国论坛
标题:
关于ACCESS数据导出到EXCEL
[打印本页]
作者:
bshchangss
时间:
2012-1-12 19:49
标题:
关于ACCESS数据导出到EXCEL
本帖最后由 bshchangss 于 2012-1-14 16:04 编辑
因为原先的帖被版主误以为是EXCEL的提问,被转到EXCEL版来了啊 ,担心EXCEL版看的人少,所以我又重新发了个帖
我把我的附件挂上,请老师们指导,谢谢!
因为里面牵扯的表比较多,所以不做更改把我整个数据库都帖上来,比较乱,请老师将就一下
具体操作如下:
1. 在打开后的主窗体,点击按钮“请点击进入”,因为我的数据是按每条记录的ID号查询的,请确保是在第一条记录,暂时第一条记录的内容对于后面的操作信息包含的较全。
2.请在第二个打开的窗体内输入“2012-1-5“
3.点击按钮“请点击进入”,即将数据导到指定的EXCEL中内
现在我的问题是:
1.怎样能将ACCESS数据导到Excel的指定Sheet表中(如Sheet1)
2.在EXCEL内的黄色区域的信息缺失,因为我不知道怎么修改拷来的源码,请老师帮忙补充。
作者:
鱼儿游游
时间:
2012-1-12 23:29
本帖最后由 鱼儿游游 于 2012-1-12 23:30 编辑
你想导出什么呀?是分别导出到不同的工作表?
作者:
bshchangss
时间:
2012-1-13 22:56
恩是的,是有好几张不同类型的表
但现在只放了一个表
作者:
Henry D. Sy
时间:
2012-1-13 23:49
给你一个导出查询到指定的excel(具体到工作表,开始行列)
excel请放在与本库同目录下
'---------------------------------------------------------------------------------------
' Procedure : QueryToExcel
' DateTime : 2008-12-2 00:02
' Author : Henry D. Sy
' Purpose :
' 参数 ;strQueryName 查询名
' xlsName Excel 文件名
' strShtName 工作表名
' Hval;Lval 分别为要导入的开始行和列
'---------------------------------------------------------------------------------------
'
Sub QueryToExcel(ByVal strQueryName As String, ByVal xlsName As String, ByVal _
strShtName As String, ByVal Hval As Integer, ByVal Lval As Integer)
' Send the Query results to Excel
' for further analysis
Dim rs As ADODB.Recordset
Dim objXL As Excel.Application
Dim objWs As Excel.Workbook
Dim fld As ADODB.Field
Dim intCol As Integer
Dim intRow As Integer
Set rs = New ADODB.Recordset
' Get the desired data into a recordset
rs.Open strQueryName, CurrentProject.Connection
' Launch Excel
Set objXL = New Excel.Application
' Open a worksheet
Set objWs = objXL.Workbooks.Open(CurrentProject.Path & "" & xlsName & _
".xls")
objWs.Worksheets(strShtName).Activate
' Copy the data
' First the field names 第一行是ACCESS中的列表名
For intCol = 0 To rs.Fields.Count - 1 '是获取表中的列数
Set fld = rs.Fields(intCol)
objWs.Worksheets(strShtName).Cells(Hval, intCol + Lval) = fld.Name 'Excel中(1,1)开始输入列名
Next intCol
' Now the actual data 现在开始复制数据
intRow = Hval + 1 '你可以修改intRow从第几行开始输入数据,本例中是从第2行开始复制数据
Do Until rs.EOF '你可以修改intCol + 1从第几列开始输入数据,本例中是从第2行第1列开始复制数据
For intCol = 0 To rs.Fields.Count - 1
objWs.Worksheets(strShtName).Cells(intRow, intCol + Lval) = _
rs.Fields(intCol).Value
Next intCol
rs.MoveNext
intRow = intRow + 1
Loop
' Make the worksheet visible
objXL.Visible = True '打开Excel表查看数据
rs.Close
Set rs = Nothing
End Sub
复制代码
作者:
54pan123
时间:
2014-12-23 20:17
不错
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3