Access交流中心

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

这个日期语法错误该怎么改正?

yuayua  发表于:2018-12-08 10:45:27  
复制

Private Function SynTrsac(ByVal intAction As Integer) As Boolean
On Error GoTo Handle_Err
    Dim dteClose As Date
    Dim dbs  As Database
    Dim rstblARItem As Recordset
    Dim strSQL As String
    Dim curAdjtAmt As Currency, curAdjtAmount As Currency
    Dim DAT As Date
   
    Set dbs = CurrentDb()
    strSQL = "SELECT tblAR1.ARDate, tblARItem1.*  " _
              & "FROM tblAR1 INNER JOIN tblARItem1 ON tblAR1.ARNum =tblARItem1.ARNum " _
              & "WHERE tblAR1.ARNum = '" & Me.ARNum & "' ;"
    Set rstblARItem = dbs.OpenRecordset(strSQL, dbOpenSnapshot, dbSeeChanges)
    While Not rstblARItem.EOF
     
        Select Case intAction
            Case csRollbackRec
           DAT = Me.ARDate
                curAdjtAmt = -Nz(rstblARItem!Coll, 0)
                curAdjtAmount = -Nz(rstblARItem!Collection, 0)
            Case csCommitRec
          
                curAdjtAmt = Nz(rstblARItem!Coll, 0)
                curAdjtAmount = Nz(rstblARItem!Collection, 0)
        End Select


        strSQL = "UPDATE tblSale SET tblSale.KPDate = #" & Me.ARDate & "#,tblSale.YKAmt = Round([tblSale].[YKAmt]+" & curAdjtAmt & ", 2),tblSale.QKKAmt = Round([tblSale].[QKKAmt]-" & curAdjtAmt & ", 2)" _
               & "WHERE tblSale.SaleNum = '" & rstblARItem!SaleNum & "' ;"
        ExecuSQL strSQL
    
        strSQL = "UPDATE tbwSale SET tbwSale.KPDate = #" & Me.ARDate & "#,tbwSale.YKAmt = Round([tbwSale].[YKAmt]+" & curAdjtAmt & ", 2),tbwSale.QKKAmt = Round([tbwSale].[QKKAmt]-" & curAdjtAmt & ", 2) " _
         & "WHERE tbwSale.SaleNum = '" & rstblARItem!SaleNum & "' ;"
        ExecuSQL strSQL
       strSQL = "UPDATE  tblSaleItem SET " _
                    & "[YKAmt] = (Nz([YKAmt], 0) + " & curAdjtAmt & "), " _
                    & "[QKKAmt] = (Nz([QKKAmt], 0) - " & curAdjtAmt & ") " _
                    & "[KPDate] = IIf([KPDate] <=  " & CDbl(rstblARItem!ARDate) & "," & CDbl(rstblARItem!ARDate) & ", [KPDate]) " _
                    & "WHERE SaleNum = '" & rstblARItem!SaleNum & "' AND RowNo = " & rstblARItem!RowNoA & " "
            ExecuSQL strSQL
            
            strSQL = "UPDATE  tbwSaleItem SET " _
                     & "[YKAmt] = (Nz([YKAmt], 0) + " & curAdjtAmt & "), " _
                     & "[QKKAmt] = (Nz([QKKAmt], 0) - " & curAdjtAmt & ") " _
                     & "[KPDate] = IIf([KPDate] <=  " & CDbl(rstblARItem!ARDate) & "," & CDbl(rstblARItem!ARDate) & ", [KPDate]) " _
                     & "WHERE SaleNum = '" & rstblARItem!SaleNum & "' AND RowNo = " & rstblARItem!RowNoA & " "
            ExecuSQL strSQL
        rstblARItem.MoveNext        'advance to the next item on the current Account Receivable Voucher
    Wend
    rstblARItem.Close:    Set rstblARItem = Nothing
    'Synchornize transaction with Balance in tblClient ***********************************************************
                
    Set dbs = Nothing
Handle_Exit:
    SynTrsac = True
    Exit Function
    
Handle_Err:
    Select Case Err
        Case 2501, 3021
            ' 2501 - DoCmd method action was canceled.
            ' 3021 - No current record, to trap the rsChild0.MoveFirst
            Resume Next
        Case Else
            Call ErrMsgBox(Me.Name & ".SynTrsac(" & Switch(intAction = 0, "csRollbackRec", intAction = 1, "csCommitRec") & ")", Err.Number, Err.Description)
            SynTrsac = False
    End Select

End Function


运行就是     & "[KPDate] = IIf([KPDate] <=  " & CDbl(rstblARItem!ARDate) & "," & CDbl(rstblARItem!ARDate) & ", [KPDate]) " _

这一句语法错误,KPDate与ARDate两个都是日期类型,表里面的设置也是一样,请大神们指教下,该怎么改

 

Top
伊西军 发表于:2018-12-08 16:51:22
添加上#试下 例如 "select * from 日期=#2018-12-08#"

yuayua 发表于:2018-12-12 17:07:43
trSQL = "UPDATE  tblSaleItem SET " _
                    & "[YKAmt] = (Nz([YKAmt], 0) + " & curAdjtAmt & "), " _
                    & "[QKKAmt] = (Nz([QKKAmt], 0) - " & curAdjtAmt & ") " _
                    & "[KPDate] = IIf([KPDate] <=  " & CDbl(rstblARItem!ARDate) & "," & CDbl(rstblARItem!ARDate) & ", [KPDate]) ," _
                    & "WHERE SaleNum = '" & rstblARItem!SaleNum & "' AND RowNo = " & rstblARItem!RowNoA & " "
            ExecuSQL strSQL
            
            strSQL = "UPDATE  tbwSaleItem SET " _
                     & "[YKAmt] = (Nz([YKAmt], 0) + " & curAdjtAmt & "), " _
                     & "[QKKAmt] = (Nz([QKKAmt], 0) - " & curAdjtAmt & ") " _
                     & "[KPDate] = IIf([KPDate] <=  " & CDbl(rstblARItem!ARDate) & "," & CDbl(rstblARItem!ARDate) & ", [KPDate]) ," _
                     & "WHERE SaleNum = '" & rstblARItem!SaleNum & "' AND RowNo = " & rstblARItem!RowNoA & " "

            ExecuSQL strSQL

句尾缺少,添加逗号后正常



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