小编Sta*_*Off的帖子

如何从表单号直接更新数据库中的记录(Access 2007)

我有一个工作跟踪系统,并且有一个查询返回所有过期作业的结果.我有一个表单,逐个显示这些作业,并有两个按钮(作业已完成,作业未完成).未完成只显示下一条记录.如果按下"已完成"按钮,我找不到访问当前记录以更新其内容的方法,我能得到的最接近的是表示表单中记录位置的长数字.

获取表单中记录索引的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)

ms-access access-vba

5
推荐指数
1
解决办法
5万
查看次数

标签 统计

access-vba ×1

ms-access ×1