当"是"进入我的数据库的表单字段我想触发在另一个表中插入新的数据行"在后台"并继续通过我的表格。有什么想法吗?不确定"如果"语句语法...在" DoCmd.RunSQL strSQL"
上获取调试错误Private Sub Data_Destruction_Certificate_AfterUpdate()
Dim strSQL As String, Response As Integer
strSQL = "INSERT INTO Data_Destruction ([DonateID], [Make-Model], [Model_Serial_Number], [Media_Type], [Media_Serial_Number], [Date of Destruction]) " & "VALUES ('" & DonateID & "', '" & "Unknown" & "', '" & "Make - Model" & "', '" & "Model_Serial_Number" & "', '" & "Media_Type" & "', '" & "Media_Serial_Number" & "', '" & 1 / 1 / 2000 & "')"
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
Response = acDataErrAdded 'now requeries the database to refresh the list
Response = acDataErrContinue
End Sub
按照指示做了。无法发布图片...没有积分。最初的"运行时错误是3346,"查询值和目标字段的数量不一样"
调试打印输出声明:
INSERT INTO Data_Destruction ([DonateID], [Make-Model], [Model_Serial_Number], [Media_Type], [Media_Serial_Number], [Date of Destruction]) VALUES ('24', 'Unknown', 'Make - Model', 'Model_Serial_Number', 'Media_Type', 'Media_Serial_Number', '0.0005')
显然是我的" date"值语法不正确
确定...用#....#修复日期并添加到MediaID(自动编号字段)中 - 现在包括我要插入的表格中的所有字段。跑了代码,得到了:
INSERT INTO Data_Destruction ([MediaID],[DonateID], [Make-Model], [Model_Serial_Number], [Media_Type], [Media_Serial_Number], [Date_of_Destruction]) VALUES ('', '28', 'Unknown', 'Make - Model', 'Model_Serial_Number', 'Media_Type', 'Media_Serial_Number', '1/1/2000')
答案 0 :(得分:0)
INSERT
声明的最新版本包含8个VALUES
但仅包含7个字段。我格式化了语句,以便更容易计算它们:
INSERT INTO Data_Destruction
(
[MediaID],
[DonateID],
[Make-Model],
[Model_Serial_Number],
[Media_Type],
[Media_Serial_Number],
[Date_of_Destruction]
)
VALUES
(
'',
'28',
'Unknown',
'Make - Model',
'Model_Serial_Number',
'Media_Type',
'Media_Serial_Number',
'1/1/2000'
)
您需要删除其中一个VALUES
或包含第八个字段以接受额外值。
我建议您将INSERT
语句粘贴到Access查询设计器中的新查询的SQL视图中。根据需要调整语句,直到错误消失,然后使用您想要的值向表中添加一行。一旦你在那里工作,修改你的VBA代码以产生相同的语句文本。
之后我建议你丢弃DoCmd.SetWarnings False
并执行这样的声明......
CurrentDb.Execute strSQL, dbFailOnError
但是,我不确定你是否还需要更多东西。主要是我很困惑,因为我不明白为什么你有这些...
Response = acDataErrAdded
Response = acDataErrContinue
您打算响应完成什么?