Access交流中心

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

回复 加入收藏帖  复制
我要提问 帖子上移

adp中导出excel的代码报错,提示“语法错误”。请高手帮忙看下,应该如何修改。

归燕 等级: 积分:10 金币:0 来自:杭州Access交流中心 发表于:2018-11-21 11:19:45  
楼主

我用ACCESS2007的ADP做了一个程序,其中有个导出的功能需求。在MDB中是运行正常的,但是到了ADP中就提示“语法错误”。代码如下:

Private Sub 导出_Click()

On Error GoTo Err_导出_Click

    Dim strwhere, strSQL As String

    strwhere = Me.收费流水明细查询_子窗体.Form.Filter

    If strwhere = "" Then

    '没有条件

    strSQL = "SELECT * FROM 收费流水明细查询"

    Else

        '有条件

    strSQL = "SELECT * FROM 收费流水明细查询 WHERE  &  strwhere

    End If

   CurrentProject.Connection.Execute strSQL

   DoCmd.OutputTo acoutputacOutputQuery, "收费流水明细导出", acFormatXLS, , True

 Exit_导出_Click:

    Exit Sub

Err_导出_Click:

    MsgBox Err.Description

    Resume Exit_导出_Click

End Sub

在运行中, strSQL = "SELECT * FROM 收费流水明细查询 WHERE  &  strwhere这句会报错,应该是STRWHERE这里有问题吧。但是不知道怎么修改才好。麻烦哪位高手帮忙看一下,要怎么修改才可以。我是个菜鸟,也不会SQL的存储过程。所以不知道要怎么弄了。谢谢!

 

access培训  诚聘access开发人员

    归燕
      获得社区协助:请教问题(即发帖)2篇,其中获得解决的0篇;
      协助社区成员:协助他人(即回帖)0篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章0篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
Top
Natsume Takashi  等级:版主★★★★★ 积分:1203 金币:5800 来自:南京Access交流中心 发表于2018/11/21 15:35:17 
1楼 得分: 0
 strSQL = "SELECT * FROM 收费流水明细查询 WHERE "  &  strwhere

    希望我的回答能解决了您的问题,或者所附上的这些信息对您有所帮助!如有任何疑问或需要进一步帮助,请您直接在本站发贴,我们非常乐意帮助您解决问题!
    如果我的回答已经解决了您的问题,请点击上方的“最佳答案”,这样本帖子就不会在“待解决问题区”显示了,以方便大家对那些正在等待解决的帖子给予关注!
    Natsume Takashi   [协助社区成员回帖1063篇,其中【最佳答案】350篇;发布技术文章145篇。]
    Access软件网助教团队 
    http://www.umvsoft.com
    如果您没有注册这个论坛,请单击下面的链接进行注册,与我在论坛进行交流:
    http://www.accessoft.com/reg/reg.asp?userid=47512
    本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。
归燕 等级: 积分:10 金币:0 来自:杭州Access交流中心 发表于2018/11/21 16:06:35 
2楼 得分: 0
这个还是不行的,还是提示有语法错误。谢谢。

    归燕
      获得社区协助:请教问题(即发帖)2篇,其中获得解决的0篇;
      协助社区成员:协助他人(即回帖)0篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章0篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
Natsume Takashi  等级:版主★★★★★ 积分:1203 金币:5800 来自:南京Access交流中心 发表于2018/11/21 16:22:11 
3楼 得分: 0

建议测试下   strSQL = "SELECT * FROM 收费流水明细查询 WHERE "  &  strwhere 的输出值

办法参考:

 http://www.accessoft.com/article-show.asp?id=10226



    希望我的回答能解决了您的问题,或者所附上的这些信息对您有所帮助!如有任何疑问或需要进一步帮助,请您直接在本站发贴,我们非常乐意帮助您解决问题!
    如果我的回答已经解决了您的问题,请点击上方的“最佳答案”,这样本帖子就不会在“待解决问题区”显示了,以方便大家对那些正在等待解决的帖子给予关注!
    Natsume Takashi   [协助社区成员回帖1063篇,其中【最佳答案】350篇;发布技术文章145篇。]
    Access软件网助教团队 
    http://www.umvsoft.com
    如果您没有注册这个论坛,请单击下面的链接进行注册,与我在论坛进行交流:
    http://www.accessoft.com/reg/reg.asp?userid=47512
    本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。
归燕 等级: 积分:10 金币:0 来自:杭州Access交流中心 发表于2018/11/21 16:31:38 
4楼 得分: 0
点击调试后,提示CurrentProject.Connection.Execute strSQL有错误。

    归燕
      获得社区协助:请教问题(即发帖)2篇,其中获得解决的0篇;
      协助社区成员:协助他人(即回帖)0篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章0篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
归燕 等级: 积分:10 金币:0 来自:杭州Access交流中心 发表于2018/11/21 16:48:41 
5楼 得分: 0

不用检索,是可以正常导出的,但是检索以后,就提示上面的语法错误。检索的代码如下:

Private Sub 检索_Click()

Dim strwhere As String

     strwhere = ""

    If Not IsNull(Me.缴费开始日期) Then

    strwhere = strwhere & "([缴费日期] >= #" & Format(Me.缴费开始日期, "yyyy-mm-dd") & "#) AND "

     End If

    If Not IsNull(Me.缴费结束日期) Then

   strwhere = strwhere & "([缴费日期] <= #" & Format(Me.缴费结束日期, "yyyy-mm-dd") & "#) AND "

    End If

    If Len(strwhere) > 0 Then

        '有输入条件

        strwhere = Left(strwhere, Len(strwhere) - 5)

    End If

    Debug.Print strwhere

    

    '让子窗体应用窗体查询

    Me.收费流水明细查询_子窗体.Form.Filter = strwhere

    Me.收费流水明细查询_子窗体.Form.FilterOn = True

   

    Me.应收学费sum = DSum("[应收学费]", "收费流水明细查询", "[缴费日期] >= '" & Format(Me.缴费开始日期, "yyyy-mm-dd") & "' AND [缴费日期] <= '" & Format(Me.缴费结束日期, "yyyy-mm-dd") & "'")

    Me.优惠金额sum = DSum("[优惠金额]", "收费流水明细查询", "[缴费日期] >= '" & Format(Me.缴费开始日期, "yyyy-mm-dd") & "' AND [缴费日期] <= '" & Format(Me.缴费结束日期, "yyyy-mm-dd") & "'")

    Me.实收学费sum = DSum("[实收学费]", "收费流水明细查询", "[缴费日期] >= '" & Format(Me.缴费开始日期, "yyyy-mm-dd") & "' AND [缴费日期] <= '" & Format(Me.缴费结束日期, "yyyy-mm-dd") & "'")

 

End Sub



    归燕
      获得社区协助:请教问题(即发帖)2篇,其中获得解决的0篇;
      协助社区成员:协助他人(即回帖)0篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章0篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
Natsume Takashi  等级:版主★★★★★ 积分:1203 金币:5800 来自:南京Access交流中心 发表于2018/11/21 16:51:27 
6楼 得分: 0




    希望我的回答能解决了您的问题,或者所附上的这些信息对您有所帮助!如有任何疑问或需要进一步帮助,请您直接在本站发贴,我们非常乐意帮助您解决问题!
    如果我的回答已经解决了您的问题,请点击上方的“最佳答案”,这样本帖子就不会在“待解决问题区”显示了,以方便大家对那些正在等待解决的帖子给予关注!
    Natsume Takashi   [协助社区成员回帖1063篇,其中【最佳答案】350篇;发布技术文章145篇。]
    Access软件网助教团队 
    http://www.umvsoft.com
    如果您没有注册这个论坛,请单击下面的链接进行注册,与我在论坛进行交流:
    http://www.accessoft.com/reg/reg.asp?userid=47512
    本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。
Natsume Takashi  等级:版主★★★★★ 积分:1203 金币:5800 来自:南京Access交流中心 发表于2018/11/21 16:56:43 
7楼 得分: 0

debug.PRINT  STRSQL

  CurrentProject.Connection.Execute strSQL

   DoCmd.OutputTo acoutputacOutputQuery, "收费流水明细导出", acFormatXLS, , True



    希望我的回答能解决了您的问题,或者所附上的这些信息对您有所帮助!如有任何疑问或需要进一步帮助,请您直接在本站发贴,我们非常乐意帮助您解决问题!
    如果我的回答已经解决了您的问题,请点击上方的“最佳答案”,这样本帖子就不会在“待解决问题区”显示了,以方便大家对那些正在等待解决的帖子给予关注!
    Natsume Takashi   [协助社区成员回帖1063篇,其中【最佳答案】350篇;发布技术文章145篇。]
    Access软件网助教团队 
    http://www.umvsoft.com
    如果您没有注册这个论坛,请单击下面的链接进行注册,与我在论坛进行交流:
    http://www.accessoft.com/reg/reg.asp?userid=47512
    本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。
归燕 等级: 积分:10 金币:0 来自:杭州Access交流中心 发表于2018/11/21 17:10:05 
8楼 得分: 0
还是一样的错误提示。

    归燕
      获得社区协助:请教问题(即发帖)2篇,其中获得解决的0篇;
      协助社区成员:协助他人(即回帖)0篇,其中被设为【最佳答案】的0篇;
      协助我们社区:发布技术文章0篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
总记录:8篇  页次:1/1 9 1 :
您还没有在Access软件网登录不能回复帖子
  • 你没有登录,请点击后面链接登录:登录
  • 如果你没有注册,请点击后面链接注册:注册,注册完成后,请再次访问本页功能。