设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

1234下一页
返回列表 发新帖
查看: 12301|回复: 36
打印 上一主题 下一主题

[模块/函数] [分享]导出数据表型子窗体内容到Excel

[复制链接]
跳转到指定楼层
1#
发表于 2005-8-16 03:19:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看到网上的一些导出例子是用 复制拷贝 的方法 把子窗体内容导出,在记录多的时候就很慢

下面是我结合从网上找到的一些资料和查自带帮助 写下的,希望给大家带来方便

Private Sub ImportToExcel()

Dim oExcel As Object

Dim oBook As Object

Dim i As Integer

   

   Set oExcel = CreateObject("Excel.Application")

   Set oBook = oExcel.Workbooks.Add()

   

   Me.子窗体.Form.Recordset.MoveFirst

   

   For i = 0 To Me.子窗体.Form.Recordset.Fields.Count - 1

      oBook.Worksheets(1).Cells(1, i + 1).Value = Me.子窗体.Form.Recordset.Fields(i).Name

   Next

   oBook.Worksheets(1).Range("A2").CopyFromRecordset Me.子窗体.Form.Recordset

   oBook.SaveAs ("d:\Test.xls")

   oBook.Close False

   oExcel.Quit

   Set oBook = Nothing

   Set oExcel = Nothing

End Sub



[此贴子已经被作者于2005-8-15 19:23:51编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-8-16 03:30:00 | 只看该作者
不用客气![em01][em01][em01]
3#
 楼主| 发表于 2005-8-16 03:49:00 | 只看该作者
4#
发表于 2005-8-16 04:39:00 | 只看该作者
首先谢谢海狸先生的无私共享。

可是,我发现个问题,还请教一下:

参见贴图--





[此贴子已经被作者于2005-8-15 20:43:57编辑过]

本帖子中包含更多资源

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

x
5#
 楼主| 发表于 2005-8-16 04:54:00 | 只看该作者
修改了一下,加入防错On Error GoTo erritDim oExcel As Object

Dim oBook As Object

Dim i As Integer

   

   Set oExcel = CreateObject("Excel.Application")

   Set oBook = oExcel.Workbooks.Add()

   

   Me.子窗体.Form.Recordset.MoveFirst

   

   For i = 0 To Me.子窗体.Form.Recordset.Fields.Count - 1

      oBook.Worksheets(1).Cells(1, i + 1).Value = Me.子窗体.Form.Recordset.Fields(i).Name

   Next   oBook.Worksheets(1).Range("A2").CopyFromRecordset Me.子窗体.Form.Recordset

   oBook.SaveAs ("d:\Test.xls")

   MsgBox "导出成功"errexit:

   oBook.Close False

   oExcel.Quit

   Set oBook = Nothing

   Set oExcel = Nothing

   Exit Suberrit:

   MsgBox "错误号为" & Err.Number & " 错误说明:" & Err.Description

   Resume errexit
6#
发表于 2005-8-16 05:09:00 | 只看该作者
上述问题已经不存在,感谢。相信,也是可以作为成熟代码来使用了。我原来,总是拐弯地的另存 子窗体数据源 为一个临时表,然后导出,看来应该改掉了,还是觉得海狸先生给出的好。
7#
发表于 2005-8-16 16:21:00 | 只看该作者
以下是引用wu8313在2005-8-15 21:09:00的发言:



上述问题已经不存在,感谢。相信,也是可以作为成熟代码来使用了。

我原来,总是拐弯地的另存 子窗体数据源 为一个临时表,然后导出,看来应该改掉了,还是觉得海狸先生给出的好。

你这样做也有好处,就是能够导出成多种格式,各有各的优点。
8#
发表于 2005-8-16 18:25:00 | 只看该作者
http://support.microsoft.com/kb/247412/这里比较全,可以看看
9#
发表于 2005-8-16 19:04:00 | 只看该作者
用ADO來操作Excel 又快﹐又靈活. 除非要特別的格式化﹐一般的也都可以搞定.http://www.office-cn.net/forum.php?mod=viewthread&tid=30811
10#
发表于 2005-8-16 19:32:00 | 只看该作者
请问楼上的rivate Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _

                   (ByVal hwnd As Long, ByVal lpszOp As String, _

                    ByVal lpszFile As String, ByVal lpszParams As String, _

                    ByVal LpszDir As String, ByVal FsShowCmd As Long) _

                    As Long

Private Const SW_NORMAL = 1此段代码什么情况下非要不可?我好像没看见哪里用到他
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-24 06:32 , Processed in 0.095316 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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