Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 使用VBA插入到创建更改日志_Ms Access_Vba - Fatal编程技术网

Ms access 使用VBA插入到创建更改日志

Ms access 使用VBA插入到创建更改日志,ms-access,vba,Ms Access,Vba,我试图在字段发生更改时创建更改日志。我想让它记录财产、经理和更改日期。我查阅了INSERT并按照说明编写了这段代码,但是我得到了一个错误 Private Sub Manager_AfterUpdate() INSERT INTO tbl_ManagerChangeLog (Property, NewMan, [Date Change]) VALUES (Me.ID, Me.Manager, DATE()) End Sub 我得到的错误是,“编译错误:预期:语句结束” 感谢您的帮助

我试图在字段发生更改时创建更改日志。我想让它记录财产、经理和更改日期。我查阅了INSERT并按照说明编写了这段代码,但是我得到了一个错误

Private Sub Manager_AfterUpdate()

INSERT INTO tbl_ManagerChangeLog (Property, NewMan, [Date Change])
    VALUES (Me.ID, Me.Manager, DATE())

End Sub
我得到的错误是,“编译错误:预期:语句结束”

感谢您的帮助

这是最后一段对我有用的代码。谢谢你的帮助。 私人副经理_Change()


尝试使用以下VBA运行sql查询

Private Sub Manager_AfterUpdate()

Dim strSql As String , Db As dao.Database 

strSql = "INSERT INTO tbl_ManagerChangeLog (Property, NewMan, [Date Change]) VALUES (Me.ID, Me.Manager, DATE());" 

'Use Current Database 
Set Db = CurrentDb() 

'Run the SQL Query 
Db.Execute strSql 

End Sub

必须从currentDb对象使用Execute函数运行SQL查询,并生成连接值的查询值:

Private Sub Manager_AfterUpdate()
   Dim sSQL as String
   sSQL = "INSERT INTO tbl_ManagerChangeLog (Property, NewMan, [Date Change]) " & _
          "VALUES (" & Me.ID & ",'" & Me.Manager "'," & _ 
                    "#" & format(DATE(),"YYYY-MM-DD HH:NN:SS") & "#)"

   currentDB.Execute sSQL
End Sub

Me.ID
Me.Manager
在表单上是有意义的,但是db引擎对它们一无所知。在
INSERT
语句中使用它们的值,或者创建一个参数查询,并将它们的值作为参数提供。当我运行此代码时,它说预期的参数太少。这可能是因为还必须添加自动编号主键?或者这意味着HansUp是对的?当我输入你的代码时,我得到了与以前相同的错误,它在我之后突出显示“',#”。ManagerIt必须正确格式化,我更改我的答案并将format函数添加到日期字段。
Private Sub Manager_AfterUpdate()
   Dim sSQL as String
   sSQL = "INSERT INTO tbl_ManagerChangeLog (Property, NewMan, [Date Change]) " & _
          "VALUES (" & Me.ID & ",'" & Me.Manager "'," & _ 
                    "#" & format(DATE(),"YYYY-MM-DD HH:NN:SS") & "#)"

   currentDB.Execute sSQL
End Sub