我有一個工作跟蹤系統,並且有一個查詢返回所有逾期工作的結果。 我有一個顯示每個作業一個接一個的形式,並有兩個按鈕(作業已完成,作業未完成)。未完成只顯示下一條記錄。 如果按下「已完成」按鈕,我無法找到訪問當前記錄以更新其內容的方式,我能得到的最接近的是表示記錄位置的長數字。如何從表單編號直接更新數據庫中的記錄(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