Office中国论坛/Access中国论坛
标题:
如何将子窗体的数据导出
[打印本页]
作者:
wang1999
时间:
2004-3-30 00:54
标题:
如何将子窗体的数据导出
窗体里面包含一个子窗体,子窗体的RecordSource属性为动态的SQL查询语句,由用户控查询,我现在不知道如何将其子窗体的执行查询后的数据导出到EXCEL
作者:
wang1999
时间:
2004-3-30 22:18
搞半天还没搞定,烦!
没办法 顶
请大家帮帮忙!
作者:
我同意
时间:
2004-3-31 05:01
这是我收集到的一个查询的例子,我记得里面应该提到子窗数据输出的.[attach]4088[/attach]
作者:
wang1999
时间:
2004-3-31 06:08
谢谢!
这个例子我看过,它里面子窗体的数据源是直接绑订到一个查询,而查询条件引用当前窗体控件值,然后利用宏,代码是DoCmd.OutputTo acOutputQuery…………导出.
而我的子窗体的数据源直接用代码写的SQL语句,没有用到查询.
所以不能,
不过我先试试
作者:
wang1999
时间:
2004-3-31 06:33
还是没搞定,烦
大家帮帮忙.
作者:
wang1999
时间:
2004-4-1 03:52
老话一句——自己动手丰衣足食
琢磨两天还是自己搞定,代码如下,大家可参考:
Dim xls As New Excel.Application, wkb As Excel.Workbook, wks As Excel.Worksheet
Dim rst As New ADODB.Recordset
Dim intRow As Integer, strSQL As String
Set wkb = xls.Workbooks.Add
Set wks = xls.ActiveSheet
strSQL = Me!frmChildForm.Form.RecordSource
rst.Open strSQL, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
wks.Cells(1, 1).Value = rst.Fields(0).Name
wks.Cells(1, 2).Value = rst.Fields(1).Name
wks.Cells(1, 3).Value = rst.Fields(2).Name
intRow = 2
Debug.Print rst.RecordCount
Do Until rst.EOF
wks.Cells(intRow, 1).Value = rst.Fields(0).Value
wks.Cells(intRow, 2).Value = rst.Fields(1).Value
wks.Cells(intRow, 3).Value = rst.Fields(2).Value
rst.MoveNext
intRow = intRow + 1
Loop
xls.Visible = True
rst.Close
Set rst = Nothing
最烦的是微软已将其DAO淘汰,在XP版中FORM返回的还是DAO记录集,不是ADODB记录集,所以代码了多两句
不知道在2003版中怎样(还没用过2003)
作者:
caibbs
时间:
2004-4-10 00:27
赢家永远不会半途而废,
半途而废者永远不会赢!
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3