• [S.O.S] Điều khiển hiển thị record trên form qua mạng LAN
  • [S.O.S] Điều khiển hiển thị record trên form qua mạng LAN

    tranthanhan1962 > 15-01-18, 12:01 PM

    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.
    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.
  • RE: [S.O.S] Điều khiển hiển thị record trên form qua mạng LAN

    hieuvn > 15-01-18, 04:04 PM

    theo ngu ý của mình thì nên gắn câu hỏi trong bảng câu hỏi với các id, khi di chuyển các record thì di chuyển đến câu hỏi nào thì sẽ hiện ra id tương ứng thay vì dùng true or false. Trên các máy con (máy giám khảo) sẽ lấy các id đó làm tham số để hiển thị nội dung.

    have fun
  • RE: [S.O.S] Điều khiển hiển thị record trên form qua mạng LAN

    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.
    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.
    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
  • RE: [S.O.S] Điều khiển hiển thị record trên form qua mạng LAN

    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

    Mình thấy ý kiến này hay nè, khắc phục được việc giật do  event Form_Timer.
  • RE: [S.O.S] Điều khiển hiển thị record trên form qua mạng LAN

    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 record
    Minh 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.  021
  • RE: [S.O.S] Điều khiển hiển thị record trên form qua mạng LAN

    hieuvn > 16-01-18, 10:03 AM

    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.
  • RE: [S.O.S] Điều khiển hiển thị record trên form qua mạng LAN

    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.
  • RE: [S.O.S] Điều khiển hiển thị record trên form qua mạng LAN

    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.  021

    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.
  • RE: [S.O.S] Điều khiển hiển thị record trên form qua mạng LAN

    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.  021

    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.

    Có lẽ do việc truyền tín hiệu giữa các máy. Ví dụ: Khi máy chủ chuyển từ record ID1 sang ID2 thì trên các máy con có cái chuyển được, có cái ở lì record cũ mà không chuyển. Có khi máy chủ chuyển record mới lần nữa thì cái máy không chuyển lúc nãy lại chuyển còn máy khác lại đơ  021  . Tất nhiên các máy con không có cấu hình giống nhau, cái thì laptop core i3, cái thì core i5. Nhưng vấn đề không phải là do thương hiệu hay cấu hình. Vì hiện tượng "đơ" có thể rơi vào bất kỳ máy nào.
    Mình đang nghiên cứu tìm lệnh gì đó để có thể chạy code kiểu như: máy A click chuột cho máy B, Máy C, máy D...mà tìm chưa thấy 027
    Mình sẽ viết lại một cách đơn giản để chia sẽ cho các bạn.
  • RE: [S.O.S] Điều khiển hiển thị record trên form qua mạng LAN

    ongke0711 > 17-01-18, 04:08 PM

    Không biết anh lưu thông số ID1 -> ID2 vào biến hay vào table nhưng em nghĩ lưu vào table sẽ ổn định hơn biến. Biến có nhiều rủi ro mất khi bộ nhớ máy bị trục trặc gì dó. Lưu vào table và máy con chạy timer check cái trường ID này để đồng bộ.