Tôi có một hệ thống theo dõi công việc và có truy vấn trả về kết quả của tất cả các công việc quá hạn. Tôi có một biểu mẫu hiển thị từng công việc một, và có hai nút (Công việc đã được hoàn thành và Công việc chưa hoàn thành). Không hoàn thành chỉ đơn giản là hiển thị các hồ sơ tiếp theo. Tôi không thể tìm cách truy cập vào bản ghi hiện tại để cập nhật nội dung nếu nút "Đã hoàn thành" được nhấn, số gần nhất tôi có thể nhận là số dài đại diện cho vị trí bản ghi trong biểu mẫu.Cách cập nhật trực tiếp bản ghi trong cơ sở dữ liệu từ số biểu mẫu (Access 2007)
VBA để lấy chỉ mục của bản ghi trong biểu mẫu như sau.
Sub Jobcompleted(frm As Form)
Dim curr_rec_num As Long
curr_rec_num = frm.CurrentRecord
End Sub
Đây là ảnh đầu tiên của tôi tại VBA và sau một giờ tìm kiếm, tôi không thể tìm thấy bất kỳ điều gì để giải quyết vấn đề của mình. Tôi có nghĩ về cách này hoàn toàn sai không? Làm việc trong Microsoft Access 2007
Hơn nữa Info Tất cả các bảng được chuẩn hóa
xe Bảng: Chứa vehicle_id (pk), cũng như rego và mô hình vv
Job Bảng: Chứa job_id (pk), vehicle_id (fk) và thông tin khác về những gì cần xảy ra, cũng như ngày xảy ra tiếp theo, ngày giữa mỗi lần xảy ra công việc (tất cả công việc lặp lại) và thông tin khác
Lịch sử công việc Bảng: Chứa job_history_id (pk), job_id (fk), ngày hoàn thành và ý kiến
Khi nút công việc hoàn thành được nhấn, nó sẽ tạo ra một mục mới trong bảng lịch sử công việc với ngày hiện tại, bất kỳ ý kiến và công việc id
Đây là kịch bản tôi đang cố gắng để có được làm việc
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
Lưu ý: Dòng Set Rs = CurrentRs
hoàn toàn không chính xác, tôi tin rằng đây là những gì tôi cần tìm ra? Điều này được gọi là khi nhấn nút
Tôi đăng hình ảnh hiển thị biểu mẫu (không liên tục).
@HansUp, tôi nhận được những gì bạn đang nói, nhưng tôi không nghĩ đó là khá áp dụng (Tôi đã không cung cấp đủ thông tin lần đầu tiên xung quanh để bạn có thể hiểu rằng tôi nghĩ)
@sarh Tôi tin Recordset này mà bạn đang nói về những gì tôi cần, tuy nhiên tôi không thể tìm ra cách sử dụng nó, bất kỳ gợi ý nào?
@Matt Tôi chắc chắn 90% tôi đang sử dụng hình thức ràng buộc (Như tôi đã nói, mới truy cập, đang xem mọi thứ mọi người đề xuất và học khi tôi đi). Tất nhiên có một ID cho công việc (Chỉ cần không được hiển thị, không cần phải nhìn thấy), nhưng làm cách nào để truy cập vào nó để thực hiện một thao tác trên nó? SQL tôi có thể làm, tích hợp với truy cập/VBA Tôi mới tại
"Tôi có làm theo cách này hoàn toàn sai không?" Tôi nghi ngờ bạn có thể được, thực hiện đúng cách, truy cập dễ dàng. Form của bạn có phải là một dạng liên tục không? Tại sao bạn không thể truy cập vào dữ liệu? Recordset của bạn có phức tạp vì vậy nó không thể cập nhật được không? Bạn đã thiết kế các bảng để bao gồm một id duy nhất chưa? Bạn đã bắt đầu công việc của bạn bằng cách đọc về cơ sở dữ liệu quan hệ? Bạn đã xem bất kỳ mẫu Truy cập nào chưa? – Fionnuala
BTW nếu một người khác cũng tán thành câu hỏi của bạn, bạn sẽ có đủ danh tiếng để đăng hình ảnh của biểu mẫu, điều này có thể hữu ích, sau đó lại có thể không :) – Fionnuala
Tôi sẽ upvote cho tải lên hình ảnh có thể bạn đang sử dụng một hình thức ràng buộc và do đó sẽ có thể bao gồm một trường với số duy nhất của công việc (tôi chắc chắn hy vọng nó có một) và sau đó bạn có thể tham chiếu trường văn bản này trong Update SQL của bạn. –