我有一个工作跟踪系统,并且有一个查询返回所有逾期工作的结果。 我有一个显示每个作业一个接一个的形式,并有两个按钮(作业已完成,作业未完成)。未完成只显示下一条记录。 如果按下“已完成”按钮,我无法找到访问当前记录以更新其内容的方式,我能得到的最接近的是表示记录位置的长数字。如何从表单编号直接更新数据库中的记录(Access 2007)
获取表单中记录索引的VBA如下。
Sub Jobcompleted(frm As Form)
Dim curr_rec_num As Long
curr_rec_num = frm.CurrentRecord
End Sub
这是我第一次拍在VBA和搜索我找不到任何解决我的问题的一个小时之后。 我是否完全错误地回答这个问题?在Microsoft Access工作2007
更多信息所有的表都是标准化
车表:包含vehicle_id(PK),以及雷戈和模型等
工作表:包含作业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
注意:行Set Rs = CurrentRs
是完全不正确的,我相信这是我需要弄清楚的吗?这被称为按下按钮
我张贴图像显示窗体(非连续)。
@HansUp,我给你说的话,但我不挺认为这是适用的(我没有提供足够的信息,第一次就你了解,我认为)
@sarh我相信这个记录,你正在谈论的是我所需要的,但我无法弄清楚如何使用它,任何提示?
@Matt我90%确定我正在使用绑定表单(就像我刚才所说的,Access的新功能,一直在查看人们建议和学习的所有内容)。当然有一个工作ID(只是没有显示,不需要可见),但我如何访问它来执行操作? SQL我可以做的,与Access/VBA整合我是新的
“我对这个完全错误的方式做了什么?”我怀疑你可能是,做得很好,访问很简单。你的表格是连续表格吗?为什么你不能访问数据?您的记录集是否复杂,因此无法更新?你是否设计过表格以包含唯一的ID?您是否通过阅读关系数据库开始您的工作?你看过任何Access模板吗? – Fionnuala 2012-01-13 10:10:11
顺便说一句,如果另一个人也upvotes您的问题,您将有足够的声誉发布您的表单的图像,这可能是有益的,然后再次它可能不会:) – Fionnuala 2012-01-13 10:16:07
我会upvote为可能的图像上传,也似乎你正在使用绑定表单,因此应该能够包含一个带有作业唯一编号的字段(我当然希望它有一个),然后你可以在Update SQL中引用这个文本字段。 – 2012-01-13 11:24:42