更新用户从数据库注销的日期和时间的问题
在Enter按钮上的登录表单中有下一个代码:
Dim db1 As DAO.Database
Dim KorIme As String
Dim rst1 As DAO.Recordset
Set db1 = CurrentDb()
Set rst1 = db1.OpenRecordset("tblLogPristupa", dbOpenDynaset)
rst1.AddNew
rst1!KorIme = Me.txtKorisnickoIme.Value
rst1!IDKorisnika = Me.txtKorisnickoIme.Column(5)
rst1!DatumPristupa = Date
rst1!VrijemePristupa = Time()
rst1.Update
rst1.Close
在frmOsnovna
上的表单LogOff
按钮上有下一个代码:
Dim strSQL As String
Dim db As DAO.Database
Dim rst As DAO.Recordset
Set db = CurrentDb()
strSQL = "SELECT tblLogPristupa.IdPristupa, tblLogPristupa.KorIme, tblLogPristupa.DatumOdjave, tblLogPristupa.VrijemeOdjave FROM tblLogPristupa WHERE((tblLogPristupa.IdPristupa)=(Select Max(IdPristupa) FROM tblLogPristupa WHERE tblLogPristupa.KorIme = Me.KorisnikID));"
Set rst = db.OpenRecordset(strSQL, dbOpenDynaset)' HERE IS ERROR 3061
rst.Edit
rst!DatumOdjave = Date
rst!VrijemeOdjave = Time()
rst.Update
rst.Close
数据库是多用户的。我需要在每个用户的tblLogPristupa
,日期和时间注销中写一次。
目前这段代码效果不佳。如果有人可以更正此代码,请。
任何第二种解决方案都是好的。谢谢你的进步。
答案 0 :(得分:0)
3061表示参数太少 - 通常转换为引用不存在的字段。要找出哪个字段,您必须知道数据库的外观。如果您在Access查询设计器中重新创建查询,您会发现在那里会收到更好的错误消息。
答案 1 :(得分:0)
控件的值在查询的SQL中。这需要附加到字符串。
变化:
"...WHERE tblLogPristupa.KorIme = Me.KorisnikID));"
要:
"...WHERE tblLogPristupa.KorIme = " & Me!KorisnikID & "));"