[英]Microsoft Access VBA Insert Into Error
问题:我不断收到以下语句的语法错误:
CurrentDb.Execute "INSERT INTO Inventory ([Part #], [Year], [Week], [In], [Out]) " _
& "VALUES ('" & Me.txtFindPart & "'," & Me.txtYear & "," & i & "," _
& Me.Controls("in" & i) & "," & Me.Controls("out" & i) & ");"
现在我感觉是Me.Controls
函数不断抛出此错误,但我Me.Controls
它。
上下文:这是用于更新按钮的按钮,它在其中检查是否有记录,表单中的两个空格是否为空, 并且如果这两个条件均未填写,它将创建一个新记录。
现在,当发生这种情况时,来自文本框in#和out#的数据将用于创建新记录。
编码:
Dim i As Integer
i = 1
Do Until i = 53
If DCount("[Part #]", "[Inventory]", "([Inventory].[Part #] = '" & txtFindPart & "' AND [Inventory].[Year] = " & txtYear & " AND [Inventory].[Week] = " & i & ")") > 0 Then
CurrentDb.Execute "UPDATE Inventory SET [In] = '" & Me.Controls("in" & i) & "' WHERE [Part #] = '" & txtFindPart & "' AND [Year] = " & txtYear & " AND [Week] = " & i & ";"
CurrentDb.Execute "UPDATE Inventory SET [Out] = '" & Me.Controls("out" & i) & "' WHERE [Part #] = '" & txtFindPart & "' AND [Year] = " & txtYear & " AND [Week] = " & i & ";"
i = i + 1
ElseIf Me.Controls("in" & i) = Null And Me.Controls("out" & i) = Null Then
i = i + 1
Else
CurrentDb.Execute "INSERT INTO Inventory ([Part #], [Year], [Week], [In], [Out]) " _
& "VALUES ('" & Me.txtFindPart & "'," & Me.txtYear & "," & i & "," _
& Me.Controls("in" & i) & "," & Me.Controls("out" & i) & ");"
i = i + 1
End If
Loop
Me.Requery
尝试这个:
Dim i As Integer
i = 1
Do Until i = 53
If DCount("[Part #]", "[Inventory]", "[Inventory].[Part #] = '" & txtFindPart & "' AND [Inventory].[Year] = " & txtYear & " AND [Inventory].[Week] = " & i & "") > 0 Then
CurrentDb.Execute "UPDATE Inventory SET [In] = '" & Me("in" & i).Value & "', [Out] = '" & Me("out" & i).Value & "' WHERE [Part #] = '" & txtFindPart & "' AND [Year] = " & txtYear & " AND [Week] = " & i & ";"
ElseIf Not IsNull(Me("in" & i).Value) And IsNull(Me("out" & i).Value) Then
CurrentDb.Execute "INSERT INTO Inventory ([Part #], [Year], [Week], [In], [Out]) " _
& "VALUES ('" & Me.txtFindPart & "'," & Me.txtYear & "," & i & ",'" _
& Me("in" & i).Value & "','" & Me("out" & i).Value & "');"
End If
i = i + 1
Loop
Me.Requery
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.