【问题标题】:Access 2010 VBA Syntax Error '3075'访问 2010 VBA 语法错误“3075”
【发布时间】:2016-04-08 14:16:24
【问题描述】:

我不确定我是否遗漏了什么,我正试图找出语法错误在哪里,但我根本找不到,也许我的眼睛在流血,因为我花了大约 2 个小时试图弄错什么。

表格代码:

Option Compare Database

    Private Sub btnZatwierdzAccessories_Click()

        Dim strSQLdeleteAccessories As String

        Dim strSQLzm1accessoriesA As String
        Dim strSQLzm1accessoriesB As String
        Dim strSQLzm1accessoriesC As String
        Dim strSQLzm1accessoriesD As String

        Dim strSQLzm2accessoriesA As String
        Dim strSQLzm2accessoriesB As String
        Dim strSQLzm2accessoriesC As String
        Dim strSQLzm2accessoriesD As String

        Dim strSQLzm3accessoriesA As String
        Dim strSQLzm3accessoriesB As String
        Dim strSQLzm3accessoriesC As String
        Dim strSQLzm3accessoriesD As String

            strSQLdeleteAccessories = "DELETE * FROM [dbGrafikAccessories] WHERE dataAccessories = #" & Format(Me!txtDataAccessories, "d-m-yyyy") & "#;"

            strSQLzm1accessoriesA = "INSERT INTO dbGrafikAccessories (imieNazwisko, numerTelefonu, zmiana, praca, zaklad, godzina, dataAccessories, dataAccessoriesDo) VALUES ('" & Me!listZM1accessoriesA.Column(0) & "', '" & Me!listZM1accessoriesA.Column(1) & "', 'zm1', 'automatyk', 'accessories', '06001400',  #" & Format(Me!txtDataAccessories, "d-m-yyyy") & "#, #" & Format(Me!txtDataAccessoriesDo, "d-m-yyyy") & "#);"
            strSQLzm1accessoriesB = "INSERT INTO dbGrafikAccessories (imieNazwisko, numerTelefonu, zmiana, praca, zaklad, godzina, dataAccessories, dataAccessoriesDo) VALUES ('" & Me!listZM1accessoriesB.Column(0) & "', '" & Me!listZM1accessoriesB.Column(1) & "', 'zm1', 'piankowanie', 'accessories', '06001400',  #" & Format(Me!txtDataAccessories, "d-m-yyyy") & "#, #" & Format(Me!txtDataAccessoriesDo, "d-m-yyyy") & "#);"
            strSQLzm1accessoriesC = "INSERT INTO dbGrafikAccessories (imieNazwisko, numerTelefonu, zmiana, praca, zaklad, godzina, dataAccessories, dataAccessoriesDo) VALUES ('" & Me!listZM1accessoriesC.Column(0) & "', '" & Me!listZM1accessoriesC.Column(1) & "', 'zm1', 'szycie', 'accessories', '06001400',  #" & Format(Me!txtDataAccessories, "d-m-yyyy") & "#, #" & Format(Me!txtDataAccessoriesDo, "d-m-yyyy") & "#);"
            strSQLzm1accessoriesD = "INSERT INTO dbGrafikAccessories (imieNazwisko, numerTelefonu, zmiana, praca, zaklad, godzina, dataAccessories, dataAccessoriesDo) VALUES ('" & Me!listZM1accessoriesD.Column(0) & "', '" & Me!listZM1accessoriesD.Column(1) & "', 'zm1', 'dodatkowy', 'accessories', '06001400',  #" & Format(Me!txtDataAccessories, "d-m-yyyy") & "#, #" & Format(Me!txtDataAccessoriesDo, "d-m-yyyy") & "#);"

            strSQLzm2accessoriesA = "INSERT INTO dbGrafikAccessories (imieNazwisko, numerTelefonu, zmiana, praca, zaklad, godzina, dataAccessories, dataAccessoriesDo) VALUES ('" & Me!listZM2accessoriesA.Column(0) & "', '" & Me!listZM2accessoriesA.Column(1) & "', 'zm2', 'automatyk', 'accessories', '14002200',  #" & Format(Me!txtDataAccessories, "d-m-yyyy") & "#, #" & Format(Me!txtDataAccessoriesDo, "d-m-yyyy") & "#);"
            strSQLzm2accessoriesB = "INSERT INTO dbGrafikAccessories (imieNazwisko, numerTelefonu, zmiana, praca, zaklad, godzina, dataAccessories, dataAccessoriesDo) VALUES ('" & Me!listZM2accessoriesB.Column(0) & "', '" & Me!listZM2accessoriesB.Column(1) & "', 'zm2', 'piankowanie', 'accessories', '14002200',  #" & Format(Me!txtDataAccessories, "d-m-yyyy") & "#, #" & Format(Me!txtDataAccessoriesDo, "d-m-yyyy") & "#);"
            strSQLzm2accessoriesC = "INSERT INTO dbGrafikAccessories (imieNazwisko, numerTelefonu, zmiana, praca, zaklad, godzina, dataAccessories, dataAccessoriesDo) VALUES ('" & Me!listZM2accessoriesC.Column(0) & "', '" & Me!listZM2accessoriesC.Column(1) & "', 'zm2', 'szycie', 'accessories', '14002200',  #" & Format(Me!txtDataAccessories, "d-m-yyyy") & "#, #" & Format(Me!txtDataAccessoriesDo, "d-m-yyyy") & "#);"
            strSQLzm2accessoriesD = "INSERT INTO dbGrafikAccessories (imieNazwisko, numerTelefonu, zmiana, praca, zaklad, godzina, dataAccessories, dataAccessoriesDo) VALUES ('" & Me!listZM2accessoriesD.Column(0) & "', '" & Me!listZM2accessoriesD.Column(1) & "', 'zm2', 'dodatkowy', 'accessories', '14002200',  #" & Format(Me!txtDataAccessories, "d-m-yyyy") & "#, #" & Format(Me!txtDataAccessoriesDo, "d-m-yyyy") & "#);"

            strSQLzm3accessoriesA = "INSERT INTO dbGrafikAccessories (imieNazwisko, numerTelefonu, zmiana, praca, zaklad, godzina, dataAccessories, dataAccessoriesDo) VALUES ('" & Me!listZM3accessoriesA.Column(0) & "', '" & Me!listZM3accessoriesA.Column(1) & "', 'zm3', 'automatyk', 'accessories', '22000600',  #" & Format(Me!txtDataAccessories, "d-m-yyyy") & "#, #" & Format(Me!txtDataAccessoriesDo, "d-m-yyyy") & "#);"
            strSQLzm3accessoriesB = "INSERT INTO dbGrafikAccessories (imieNazwisko, numerTelefonu, zmiana, praca, zaklad, godzina, dataAccessories, dataAccessoriesDo) VALUES ('" & Me!listZM3accessoriesB.Column(0) & "', '" & Me!listZM3accessoriesB.Column(1) & "', 'zm3', 'piankowanie', 'accessories', '22000600',  #" & Format(Me!txtDataAccessories, "d-m-yyyy") & "#, #" & Format(Me!txtDataAccessoriesDo, "d-m-yyyy") & "#);"
            strSQLzm3accessoriesC = "INSERT INTO dbGrafikAccessories (imieNazwisko, numerTelefonu, zmiana, praca, zaklad, godzina, dataAccessories, dataAccessoriesDo) VALUES ('" & Me!listZM3accessoriesC.Column(0) & "', '" & Me!listZM3accessoriesC.Column(1) & "', 'zm3', 'szycie', 'accessories', '22000600',  #" & Format(Me!txtDataAccessories, "d-m-yyyy") & "#, #" & Format(Me!txtDataAccessoriesDo, "d-m-yyyy") & "#);"
            strSQLzm3accessoriesD = "INSERT INTO dbGrafikAccessories (imieNazwisko, numerTelefonu, zmiana, praca, zaklad, godzina, dataAccessories, dataAccessoriesDo) VALUES ('" & Me!listZM3accessoriesD.Column(0) & "', '" & Me!listZM3accessoriesD.Column(1) & "', 'zm3', 'dodatkowy', 'accessories', '22000600',  #" & Format(Me!txtDataAccessories, "d-m-yyyy") & "#, #" & Format(Me!txtDataAccessoriesDo, "d-m-yyyy") & "#);"

            DoCmd.SetWarnings False

                DoCmd.RunSQL strSQLdeleteAccessories

                DoCmd.RunSQL strSQLzm1accessoriesA
                DoCmd.RunSQL strSQLzm1accessoriesB
                DoCmd.RunSQL strSQLzm1accessoriesC
                DoCmd.RunSQL strSQLzm1accessoriesD

                DoCmd.RunSQL strSQLzm2accessoriesA
                DoCmd.RunSQL strSQLzm2accessoriesB
                DoCmd.RunSQL strSQLzm2accessoriesC
                DoCmd.RunSQL strSQLzm2accessoriesD

                DoCmd.RunSQL strSQLzm3accessoriesA
                DoCmd.RunSQL strSQLzm3accessoriesB
                DoCmd.RunSQL strSQLzm3accessoriesC
                DoCmd.RunSQL strSQLzm3accessoriesD

            DoCmd.SetWarnings True

    End Sub

debug 将我重定向到该行:

    DoCmd.RunSQL strSQLzm1accessoriesA

带有错误信息:

Run-time error '3075':
Syntax error in date in query expression '#'.

【问题讨论】:

    标签: date ms-access vba syntax-error ms-access-2010


    【解决方案1】:

    首先,您的日期格式应如下所示:

    .. #" & Format(Me!txtDataAccessories, "yyyy\/mm\/dd") & "#, 
    

    第二,如果文本框为空,SQL会失败。

    所以写出创建的 SQL 来调试:

    Debug.Print strSQLzm1accessoriesA
    

    然后研究输出。

    【讨论】:

    • 我尝试了解决方案,例如"dd\/nn\/yyyy",但我一遍又一遍地遇到相同的错误。添加Debug.Print strSQLzm1accessoriesA 不会返回任何内容。
    • 好吧,那很尴尬,我复制了没有填充的日期字段,这导致我遇到了这个问题。我真的很欣赏你对这件事的兴趣。谢谢!
    • 对,dd\/nn\/yyyy 不会提供太多,因为 nn 返回分钟数。
    • 哦,抱歉,打错字了,原来是mm,在评论中我打错了:)
    猜你喜欢
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多