ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2219|回复: 8

[求助] access导入excel的规则是啥?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-6-21 21:29 | 显示全部楼层 |阅读模式
access导入excel的规则是啥?如何将access中的字段导入到excel中变为竖向的列?

TA的精华主题

TA的得分主题

发表于 2009-6-22 16:16 | 显示全部楼层
使用交叉查询就可以设定字段是如何显示

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-6-22 19:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我想把查询查询表格的结果的字段,导入excel中,想让字段导入excel后,把字段按顺序排列在excel的一列中!

TA的精华主题

TA的得分主题

发表于 2009-6-23 13:36 | 显示全部楼层
交叉查询输出到EXCEL的例子
Dim strSQL As String
Private Sub Command9_Click()
    Dim conn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim I As Integer
    Dim x As Integer
    Dim oExcel As Object
    Dim oBook As Object
    Dim strSQL As String
   strSQL = "SELECT * FROM (TRANSFORM Count(BatchNumber) AS BatchNumberOfCount SELECT PartNumber, Count(BatchNumber) AS Qty DESC) FROM Data GROUP BY PartNumber PIVOT Defect;"
    Set conn = CurrentProject.Connection
    rs.Open strSQL, conn, adOpenKeyset, adLockOptimistic
    If rs.RecordCount = 0 Then rs.Close: Exit Sub
    Set oExcel = CreateObject("Excel.Application")
    Set oBook = oExcel.Workbooks.Add()
    Set xlSheet = oBook.Worksheets(1)
    oExcel.Visible = True
    For I = 0 To rs.Fields.Count - 1
        xlSheet.Cells(1, I + 1).Value = rs.Fields(I).Name
    Next
    xlSheet.Cells(2, 1).CopyFromRecordset rs
    rs.Close      
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-6-23 19:38 | 显示全部楼层
谢谢你!还复杂,一时还看不懂,消化一下再说,再次谢谢你!

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-6-25 13:00 | 显示全部楼层
原帖由 lanseqingren 于 2009-6-23 13:36 发表
交叉查询输出到EXCEL的例子
Dim strSQL As String
Private Sub Command9_Click()
    Dim conn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim I As Integer
    Dim x As Integer
     ...

达不到要求

TA的精华主题

TA的得分主题

发表于 2009-6-27 19:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
搞个附件看看

TA的精华主题

TA的得分主题

发表于 2009-6-27 22:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
只要字段吗?
方法一:
按4楼的代码SQL语句 select * from table
执行字段循环就将字段导入到excel中了
    For I = 0 To rs.Fields.Count - 1
        xlSheet.Cells(I + 1,1).Value = rs.Fields(I).Name
    Next
如果还要记录能否用
要数据将xlSheet.Cells(2, 1).CopyFromRecordset rs改一下
dim arr
arr=rs.GetRows  ’将记录集中的数据送给数组
xlSheet.Cells(2, 1).resize(ubound(arr,1)+1,ubound(arr,2)+1)=application.transpose(arr)     ‘ubound(arr,1)+1 字段数,这样转换成了行数;记录数,这里转换成了列数;arr是记录集数据,如果数据横竖反了就调一调,整个数据集反了就直接等于arr
上面代码能否执行,请自己调试,我的ACCESS代码区不工作
方法二:
1、将你要导出的查询表再设置一个条件 where 1=2 这样查询结果就只有字段了
2、将只有字段的查询表导出到excel中
3、点击第一行任意单元格》ctrl+a》复制》点单元格A2》选择性粘贴》转置
这样用技巧法实现了你的字段排成一列

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-6-29 12:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
未命名.jpg
这句好像有问题出现上述提示框!不知如何修改?
xlSheet.Cells(2, 1).resize(ubound(arr,1)+1,ubound(arr,2)+1)=application.transpose(arr)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-13 15:58 , Processed in 0.023694 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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