Xem Nhiều 4/2024 # Tạo Các Biểu Mẫu Form Để Nhập Dữ Liệu Trong Ms Access # Top 1 Yêu Thích

Giới thiệu về Form (Biểu mẫu) trong Access

Form là thành phần giao diện (hộp thoại, cửa sổ) để cập nhật, chỉnh sửa, xem thông tin dữ liệu … Form thường được cung cấp các nguồn dữ liệu là các bảng (Table), các Query để hoạt động.

Tạo Single Form

Single Form hiện thị một record tại một thời điểm. Từ Navigation Panel bấm chọn Table/Query cần làm nguồn cấp dữ liệu cho Form. Sau đó chọn menu Create, chọn Form. Form mới tạo ra, hiện thị ở dạng Layout View.

Có thể chọn chế độ Design View 1 2, Ở chế độ này nhấn phải chuột vào khu vực Form chọn Form Properties xuất hiện Property Sheet 3 để chỉnh một số thiết lập cơ bản như:

Form chia làm ba phần, gồm

Form header – phần đầu Form, thường trình bày các tiêu đề

Detail – phần chính chứa nội dung

Form footer – phần cuối form

Tại thẻ Format 4

Caption đặt tiêu đề cho Form

Width thay đổi chiều rộng

Record Selectors bỏ ký hiệu chọn Record

Tại thẻ Data 5

Record Source cho biết nguồn dữ liệu (Table/Query)

Allow Addition Chon phép thêm record mới hay không

Allow Deletions Chon phép xóa record hay không

Allow Edits Chon phép sửa record hay không

Tại thẻ Other 6

Pop Up Nếu chọn Yes thì là hiện thị ở dạng hộp thoại nổi lên

Modal Nếu YES thì cho phép chuyển hộp thoại/cửa sổ khác khi Form đang mở

Khi bấm chọn các điều khiển (Control – các phần tử trong Form) thì cũng có Property Sheet để làm việc với điều khiển đó. Từ đó biết được thông tin về loại control, định dạng hiện thị (màu sắc, chữ), dữ liệu liên kết …

Đưa nút lệnh Button vào Form

Chọn Button trong các Controls, đưa chuột vẽ nó vào Form. Cửa số Wizard xuất hiện, chọn hành động muốn thực hiện khi bấm vào nút bấm. Ví dụ, hành động là xóa Record : khi Wizard gợi ý chọn Categories là Record Operations, Action chọn là Delete Record, Tiếp theo nhập tiêu đề nút bấm ở vị trí Text.

Ví dụ mở Form

Tạo Form dạng Datasheet

Form dạng Datasheet, hiện thị các ô lưới để nhập dữ liệu tương tự như bảng tính Excel. Nguồn cấp dữ liệu có thể từ các Query hay các Table. Ví dụ tạo một Query đặt tên là CacLop để làm nguồn dữ liệu như sau:

Thực hành sử dụng Sub Form

Sub Form là một Form con nằm trong Form cha, nó có liên hệ dữ liệu với Record đang biên tập ở Form cha. Ví dụ, Form cha soạn thảo Record về ngành học, thì đồng thời nó hiện thị một Form con là danh sách các lớp học thuộc ngành học đó.

Tạo một Blank Form đặt tên là FormNganhLop, sau đó đặt các thuộc tính:

Caption: Các ngành và lớp

Record Selector: No

Record Source: Chọn bảng NGANH

Bật hiện thị Form Header, đặt vào đó một Label, nhập vào dòng chữ CÁC NGÀNH VÀ LỚP, sau đó định dạng sao cho dễ đọc.

Bấm vào nút bấm Add Existing Fields trên Ribbon (Design), kéo các trường hiện thị ở Field List bên phải vào Form gồm các trường NGANHID, TENNGANH, MA, Sonam.

Trong đó NGANHID thiết lập Visible là NO

Thêm vào Form các nút bấm Button, thiết lập là các Command Button với Category/Action thiết lập theo Wizard gồm các nút bấm gồm:

Tiến hành các bước để đưa Form có sẵn là CacLop_Sub, sẽ chỉnh sửa để ở mỗi Record chính hiện thị danh sách các lớp theo ngành.

Kéo CacLop_Sub vào Form chính, chọn nó 1. Sau đó thiết lập liên kết với Form cha bằng trường liên hệ tại 2, gồm Link Master Fields và Link Child Fields, đó là hai trường liên hệ – NGANHID trong Form chả và NGANHID trong Form con.

Liên kết Control trong Form

Một Control trong Form có thể lấy giá trị của nó viết trong các truy vấn bằng mẫu [Forms]![TênForm]![TênControl]

Ví dụ từng bước thiết kế ra Form phức tạp để hiện thị danh sách học sinh của lớp được chọn. Có một ComboBox để chọn Khóa, khi một khóa được chọn thì danh sách các lớp thuộc khóa đó được liệt kê trong một List Box, khi có chọn lớp trong List Box thì hiện thị danh sách lớp trong một Sub-Form …

Tạo một Blank Form, đặt tên là FormHocSinhDS, kéo vào đó một ComboBox đặt tên là Khoa, thiết lập dữ liệu cho nó như sau:

Tiếp tục đặt vào một List Box, đặt tên Lop, List Box này là danh sách các lớp thuộc Khóa chọn, có các thiết lập như sau:

Private Sub Khoa_Change()

Me![LOP].Requery

End Sub

Sub Form danh sách học sinh theo lớp

Tạo một Sub Form danh sách học sinh dạng DataSheet, với nguồn dữ liệu bảng học sinh, đặt tên là HocSinhLop

Ở phần Footer có thêm vào một TextBox đặt tên là sohocsinh, với thuộc tính Control Source là =Count([HOCSINHID]) để cho biết tổng học sinh trong danh sách.

Chuyển sang chế đố Datasheet View, chỉ hiện thị các cột như hình (các cột khác ẩn đi), trong đó cột Tên được thiết lập sắp xếp tăng dần.

Quay trở lại FormHocSinhDS, kéo HocSinhLop vào – đặt tên HOCSINH, thiết lập thuộc tính để liên kết với LOP

Kéo thêm vào một TextBox hiện thị số học sinh của lớp, với thuộc tính Control Source : =[HOCSINH].[Form]![sohocsinh]

Kết quả chạy sẽ như sau:

Tiếp theo thực hiện tác vụ, nếu bấm kép vào Họ của một học sinh nào đó, thì sẽ hiện thị hộp thoạt soạn thảo chi tiết cho học sinh đó.

Chọn nguồn cấp là bảng HocSinh, bấm tạo Form đặt tên là HocSinhChiTiet như sau:

DoCmd.OpenForm "HocSinhChitet", , , "HOCSINHID = " & Me![HOCSINHID].Value

End Sub

'Mở Form HocSinhChitet, lọc HOCSINHID = Me![HOCSINHID]

'Me![HOCSINHID] là giá trị hiện tại trên FormHocSinhDS