我有一个工作跟踪系统,并且有一个查询返回所有过期作业的结果.我有一个表单,逐个显示这些作业,并有两个按钮(作业已完成,作业未完成).未完成只显示下一条记录.如果按下"已完成"按钮,我找不到访问当前记录以更新其内容的方法,我能得到的最接近的是表示表单中记录位置的长数字.
获取表单中记录索引的VBA如下所示.
Sub Jobcompleted(frm As Form)
Dim curr_rec_num As Long
curr_rec_num = frm.CurrentRecord
End Sub
Run Code Online (Sandbox Code Playgroud)
这是我在VBA的第一次拍摄,经过一个小时的搜索后,我找不到任何解决问题的方法.我是以完全错误的方式来做这件事的吗?在Microsoft Access 2007中工作
更多信息所有表都已标准化
车辆表:包含vehicle_id(pk),以及rego和model等
作业表:包含job_id(pk),vehicle_id(fk)以及有关需要发生的事情的其他信息,以及下一个出现日期,每次出现作业之间的天数(所有作业重复)和其他信息
作业历史记录表:包含job_history_id(pk),job_id(fk),完成日期和注释
当按下作业完成按钮时,它应该在作业历史记录表中创建一个新条目,其中包含当前日期,任何注释和作业ID
这是我试图开始工作的脚本
Private Sub Command29_Click()
Dim strSQL1 As String
Dim strSQL2 As String
Set Rs = CurrentRs
Set db = CurrentDb
strSQL1 = "INSERT INTO completed_jobs(JOB_ID, DATE_COMPLETED, COMMENTS) VALUES " & Rs!job.ID & ", " & Date
db.Execute strSQL1, dbFailOnError
strSQL2 = "UPDATE job SET JOB_NEXT_OCCURANCE = JOB_NEXT_OCCURANCE+JOB_RECURRANCE_RATE WHERE job.ID = Rs!job.ID"
db.Execute strSQL2, dbFailOnError
End Sub …Run Code Online (Sandbox Code Playgroud)