tranthanhan1962 > 15-01-18, 12:01 PM
hieuvn > 15-01-18, 04:04 PM
MTNQ > 15-01-18, 06:12 PM
(15-01-18, 12:01 PM)tranthanhan1962 Đã viết: Mình đang viết một phần mềm chấm thi. Có một máy tạm gọi là máy chính có một form nhiệm vụ di chuyển các record và chứa giá trị điểm số của các giám khảo trên trên record đó (trên record có các field: Nội dung để chấm thi, điểm giám khảo 1, điểm giám khảo 2, điểm giám khảo 3), trên form các máy con chỉ hiển thị Nội dung để chấm thi record hiện hành trên form của máy chính, và điểm giám khảo riêng của từng vị giám khảo. Yêu cầu: Khi máy chính hiển thị record nào thì máy của từng giám khải sẽ hiển thị đúng record của máy chính hiển thị. Việc điều khiển duyệt các record phải được đồng bộ từ máy chính.Bác thử giao cái việc kiểm tra record cho một forrm khác, forrm này chạy ẩn, khi nào phát hiện sự di chuyển record trên máy chủ thì kích hoat một hàm được khai báo public trong forrm chính để di chuyển record
Hiện nay tôi đang xử lý bằng cách khi máy chính di chuyển đến record nào thì trên record hiện hành sẽ tạo điều kiện trên field phụ một giá trị true trong khi các record khác có giá trị false. Trên các máy giám khảo dữ liệu trên table được liên kết từ máy chính sữ dụng code của event Form_Timer để tìm vả hiển thị record của record trên form máy chính hiện thị.
Kết quả: Đồng bộ được việc hiển thị record máy con theo máy chính / Nhược điểm: Do event Form_Timer, việc gõ điểm trên máy con lúc được lúc không vì việc giật giật theo nhịp của timer Interval.
Mong bạn nào có code hay ý tưởng tốt hơn để hỗ trợ mình với.
Noname > 15-01-18, 06:50 PM
(15-01-18, 06:12 PM)MTNQ Đã viết: Bác thử giao cái việc kiểm tra record cho một forrm khác, forrm này chạy ẩn, khi nào phát hiện sự di chuyển record trên máy chủ thì kích hoat một hàm được khai báo public trong forrm chính để di chuyển record
tranthanhan1962 > 16-01-18, 12:23 AM
(15-01-18, 06:12 PM)MTNQ Đã viết: Bác thử giao cái việc kiểm tra record cho một forrm khác, forrm này chạy ẩn, khi nào phát hiện sự di chuyển record trên máy chủ thì kích hoat một hàm được khai báo public trong forrm chính để di chuyển recordMinh cũng đã nghĩ đến phương pháp này. Một subform chạy dưới nền mainformđể kiểm tra (subform này sử dụng Form_Timer). Khi ID thay đổi mainform sẽ tìm chạy đến ID của record đó. Nhưng việc này không ổn định lúc được lúc không. Nên mình cũng không thể xử dụng một cách chắc chắn được.
hieuvn > 16-01-18, 10:03 AM
tranthanhan1962 > 16-01-18, 11:58 AM
(16-01-18, 10:03 AM)hieuvn Đã viết: vẫn chưa hiểu bác sao bác lại thích dùng form_timer mà lại không dùng after_update event hoặc thậm chí dùng Screen.ActiveControl để lấy Id.after_update trên máy chính thì làm sau kích được các máy con di chuyển đến record hiện hành của máy chính. Chỉ có cách tạo bộ lọc hoặc điều kiện trên table do form máy chính di chuyển đến record hiện hành để khi form_timer của form trên máy con phát hiện sự thay đổi giá trị record hiện hành sẽ tự di chuyển hoặc lọc giá trị của record đó. Nếu không dùng form_timer thì làm sau máy con phát hiện sự thay đổi record hiện hành do máy chính gây ra.
ongke0711 > 17-01-18, 02:31 PM
(16-01-18, 12:23 AM)tranthanhan1962 Đã viết: Một subform chạy dưới nền mainformđể kiểm tra (subform này sử dụng Form_Timer). Khi ID thay đổi mainform sẽ tìm chạy đến ID của record đó. Nhưng việc này không ổn định lúc được lúc không. Nên mình cũng không thể xử dụng một cách chắc chắn được.
tranthanhan1962 > 17-01-18, 03:00 PM
(17-01-18, 02:31 PM)ongke0711 Đã viết:(16-01-18, 12:23 AM)tranthanhan1962 Đã viết: Một subform chạy dưới nền mainformđể kiểm tra (subform này sử dụng Form_Timer). Khi ID thay đổi mainform sẽ tìm chạy đến ID của record đó. Nhưng việc này không ổn định lúc được lúc không. Nên mình cũng không thể xử dụng một cách chắc chắn được.
Về việc đồng bộ giữ máy chủ và máy con thì chỉ có cách dùng Form_Timer trên máy con. Nhưng cũng tò mò là sao anh nói "nó không ổn định lúc được lúc không...". Nếu vậy thì chỉ có cách xem lại cách lấy tín hiệu từ máy chủ như thế nào để đồng bộ trên máy con. Anh chia sẽ cái cách đọc tín hiệu xem như thế nào.
ongke0711 > 17-01-18, 04:08 PM