Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

此段代码查询子窗体后导出到EXCEL是空白,望高手解答,感谢!

lq  发表于:2016-08-15 11:44:06  
复制

如下这段代码以前在ACCESS2003上一直使用正常,现在换ACCESS2007后此段代码点击导出后表格是空白,EXCEL表也打开了但是没有将查询后的数据粘贴上去,很奇怪在进入到设计窗体打开代界面返回又能正常工作,一旦作为用户用使用界面则无法导出数据,望高手解答,感谢!


Private Sub 导出_Click()
Me.[全部物料_子窗体].SetFocus      '把焦点移动子窗体上
    DoCmd.RunCommand acCmdSelectAllRecords
    DoCmd.RunCommand acCmdCopy
 
    Dim obj As Object
    Set obj = CreateObject("excel.application")

    obj.Workbooks.Add
    obj.Visible = True

    SendKeys "^v"
   
End Sub

 

Top
lq 发表于:2016-08-15 18:09:11

求专家解答,感谢!



leoyoung 发表于:2016-08-20 08:52:17

1、首先,从您的代码看只是复制窗体内容黏贴到excel,并不是真正的导出方式。

2、DoCmd.RunCommand方法用于执行内置菜单命令或内置工具栏命令。而2007后的版本,内置菜单完全变化,所以该方法并不适用。

3、我在2003的方法是将要导出的数据生成一个临时表如“导出excelTEMP”,之后用OutputTo方法将所需要的数据导出到excel,而且跨平台也不影响。

DoCmd.OutputTo acTable, "导出excelTEMP", "MicrosoftExcelBiff8(*.xls)", "", False, "", 0


以上建议,希望对您有帮助,仅供参考!



lq 发表于:2016-09-03 09:24:25
leoyoung感谢您的回复,我放的那段代码是目的是要随时对筛选后子窗体的内容导出去,这个办法貌似只能导出整个表的内容,用宏就可以解决,后来我用刘小军老师的导出代码搞定了

总记录:3篇  页次:1/1 9 1 :