Access交流中心

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

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

归燕  发表于: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的存储过程。所以不知道要怎么弄了。谢谢!

 

Top
Natsume Takashi 发表于:2018-11-21 15:35:17
 strSQL = "SELECT * FROM 收费流水明细查询 WHERE "  &  strwhere

归燕 发表于:2018-11-21 16:06:35
这个还是不行的,还是提示有语法错误。谢谢。

Natsume Takashi 发表于:2018-11-21 16:22:11

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

办法参考:

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



归燕 发表于:2018-11-21 16:31:38
点击调试后,提示CurrentProject.Connection.Execute strSQL有错误。

归燕 发表于:2018-11-21 16:48:41

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

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



Natsume Takashi 发表于:2018-11-21 16:51:27




Natsume Takashi 发表于:2018-11-21 16:56:43

debug.PRINT  STRSQL

  CurrentProject.Connection.Execute strSQL

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



归燕 发表于:2018-11-21 17:10:05
还是一样的错误提示。

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