Access交流中心

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

查询次序问题

我心飞扬  发表于:2009-02-13 13:23:05  
复制

我有一个查询,需要做两个动作,1、运行生成表查询,2、导出查询到指定的EXCL表

这两个动作必须有一定的步骤,即第一个完成后,才能干第二个,我只会设成二个按钮,我必须依次点二次,来控制他们的次序,不太方便。我尝试了以下代码,可以实现目的,但是两个动作的次序 ,没有按要求,导出是上次查询的表,而不是这次生成表查询生成的表,请高手帮忙看看,谢谢!

Private Sub Command27_Click()
DoCmd.SetWarnings False
On Error GoTo Err_Command27_Click

    Dim stDocName As String

    stDocName = ChrW(26597) & ChrW(-29726) & ChrW(49)
    DoCmd.OpenQuery stDocName, acNormal, acEdit                  这上面是个生成表查询

Exit_Command27_Click:
   QueryToExcel "查询2", "D:\查询结果.xls", "Sheet3"
    Exit Sub                                                     这是将查询结果导出

Err_Command27_Click:
    MsgBox Err.Description
    Resume Exit_Command27_Click
   
End Sub

 

Top
ACMAIN.CHM 发表于:2009-02-13 15:17:44
 好象在某个贴子里已经回你了。
 
OpenQuery 是异步操作。系统不执行这条语句后不会等待QUERY中的SQL语句结束。然后就开始执行下一句了。
 
建议方法,直接改成SQL语句,然后用currentproject.connection.exe "update ...."
 
ACCESS到EXCEL,可以直接 一句SQL完成
SELECT * INTO [Excel 8.0;Database=c:\book1.xls].[Sheet1] FROM Customers
 
参见我的文章例子中的几种EXCEL方式
http://blog.csdn.net/ACMAIN_CHM/archive/2009/01/15/3789702.aspx
 
  问题说明越详细,回答也会越准确!参见如何提问。([url=http://community.csdn.net/IndexPage/SmartQuestion.aspx]提问的智慧[/url])

我心飞扬 发表于:2009-02-13 21:34:06

没看明白,直接在代码上改改,我给你发了短消息



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