• Bộ nút Tiến Lùi Thêm Xóa dạng Subform trong Form Nhập Liệu
  • Bộ nút Tiến Lùi Thêm Xóa dạng Subform trong Form Nhập Liệu

    ongke0711 > 04-06-22, 11:55 PM

    Demo Navigation buttons ở dạng Subform cho các Form nhập liệu
    (chỉ dùng cho Bound Form)
    ------------------------------------------------------------------------------------------------------------

    Do đã có trường hợp việc sử dụng các nút tiến lùi tự tạo riêng gây lỗi không tận dụng được tính năng Form_Error nên tôi có tham khảo vào tạo ra các demo này để tránh lỗi như trên.
    Thực tế là có thể code luôn trong các nút lệnh tiến lùi để bẫy lỗi nhưng nó sẽ phức tạp, rườm rà, chạy chậm hơn là tận dụng tính năng hay của Form Access đó là sự kiện Form_Error nên có 1 thủ thuật nhỏ là tách các nút lệnh Tiến Lùi sang Subform để xử lý riêng, không ảnh hưởng gì đến Mainform chứa nó.

    Cách xử lý các nút tiến lùi khác chút:
    - Bộ nút tiến, lùi, thêm, xóa sẽ đưa vào một Form riêng hoàn toàn để có thể tái sử dụng cho các Form nhập liệu khác.

    - Do nằm ở Form riêng nên không ảnh hưởng đến các sự kiện bẫy lỗi của Mainform.

    Demo tôi mượn file của anh tranthanhan1962 trong bài này: Xử lý trùng khóa chính

    Link demo: https://www.mediafire.com/file/pxenqj6d2...accdb/file

    [Hình: bKqT8pnh.png]
  • RE: Bộ nút Tiến Lùi Thêm Xóa dạng Subform trong Form Nhập Liệu

    tranthanhan1962 > 05-06-22, 12:44 AM

    Vẫn còn lỗi trong trường hợp close form ngay sau khi bị trùng mã.
    [Hình: RLv0JEP.jpg]
    Sau khi OK còn hiện thông báo
    [Hình: uOa3AgA.jpg]
  • RE: Bộ nút Tiến Lùi Thêm Xóa dạng Subform trong Form Nhập Liệu

    ongke0711 > 05-06-22, 01:24 AM

    (05-06-22, 12:44 AM)tranthanhan1962 Đã viết: Sau khi OK còn hiện thông báo
    [Hình: uOa3AgA.jpg]

    Anh thêm mã lỗi 2169 vào sự kiện Form_Error nhé.

    Mã PHP:
    Private Sub Form_Error(DataErr As Integerresponse As Integer)
        Select Case DataErr
        
    Case 3022
            MsgBox 
    "Nhap trung du lieu"vbCritical vbOKOnly"Ân Soft"
            Me.TENKHACH.SetFocus
            response 
    acDataErrContinue
        
    Case 2169
            response 
    acDataErrContinue
        
    Case Else
            response acDataErrDisplay
        End Select
    End Sub