Truyền giá trị giữa các form trong MS Access

Trong Microsoft Access, để truyền giá trị giữa các form, bạn có thể sử dụng một số phương pháp khác nhau, tùy thuộc vào cách bạn muốn xử lý dữ liệu. Dưới đây là một số cách phổ biến

Trong lập trình các ứng dụng lớn với MS Access, từ form A ta mở form B, muốn truyền giá trị từ form A sang Form thì có nhiều cách, sau đây minh giới thiệu một số cách như sau

1. Sử dụng Control Source (Nguồn điều khiển)

    Bạn có thể thiết lập các trường trong form để lấy dữ liệu từ các trường của form khác.

    Ví dụ, nếu bạn có một form chính và một form phụ, bạn có thể thiết lập một textbox trong form phụ có nguồn dữ liệu từ form chính thông qua cú pháp: [Forms]![TênForm]![TênControl].

2. Sử dụng Global Variables

    Bạn có thể sử dụng biến toàn cục trong VBA để lưu giá trị và truy cập giá trị đó từ các form khác.

    Cách thực hiện như sau:
     - Tạo 1 module có tên bất kỳ

        Trong module của Access, khai báo biến toàn cục:

Public strVariable As String
Trong một form, bạn có thể gán giá trị cho biến này:
strVariable = Me.TextBoxName

Trong form khác, bạn có thể lấy giá trị từ biến toàn cục:  
    MsgBox strVariable

Ví dụ tạo module:

3. Sử dụng DoCmd.OpenForm với Điều kiện (OpenArgs)

    Khi bạn mở một form mới từ form hiện tại, bạn có thể truyền giá trị qua đối số OpenArgs.
    Ví dụ:
        Trong form gọi, sử dụng mã VBA để mở form mới và truyền giá trị:

DoCmd.OpenForm "FormB", , , , , , "Giá trị cần truyền"

Trong form được mở, bạn có thể truy cập giá trị qua OpenArgs:

        MsgBox Me.OpenArgs

4. Sử dụng Controls (Điều khiển) trong form Access

    Bạn có thể truyền giá trị từ form này sang form khác thông qua các điều khiển (ví dụ: TextBox, ComboBox).
    Cách thực hiện:
        Trong form gọi, sử dụng mã VBA để gán giá trị cho một điều khiển trong form mới:

        Forms!FormB!TextBoxName = Me.TextBoxName

        Trong form được mở, giá trị của TextBoxName sẽ tự động nhận giá trị từ form gọi.

5. Sử dụng Recordset hoặc Table để chia sẻ Dữ liệu

    Nếu bạn muốn truyền nhiều giá trị hoặc dữ liệu phức tạp hơn, bạn có thể sử dụng một bảng tạm hoặc recordset để lưu trữ dữ liệu và truy cập từ các form khác.

Những phương pháp trên có thể giúp bạn truyền giá trị giữa các form trong Access, và bạn có thể chọn cách tiếp cận phù hợp với nhu cầu của mình.

Bài viết liên quan:

Trong Microsoft Access, để truyền giá trị giữa các form, bạn có thể sử dụng một số phương pháp khác nhau, tùy thuộc vào cách bạn muốn xử lý dữ liệu. Dưới đây là một số cách phổ biến