Cách tạo nút lệnh trong form Access

Sau khi tạo biểu mẫu, bạn có thể muốn sửa đổi giao diện của nó. Định dạng biểu mẫu có thể giúp làm cho cơ sở dữ liệu của bạn trông nhất quán và chuyên nghiệp. Một số thay đổi định dạng thậm chí có thể làm cho biểu mẫu của bạn dễ sử dụng hơn. Với các công cụ định dạng trong Access, bạn có thể tùy chỉnh biểu mẫu của mình để nó có diện mạo đúng theo ý bạn muốn.

Định dạng biểu mẫu

Access cung cấp một số tùy chọn cho phép bạn làm cho biểu mẫu của mình có diện mạo như ý muốn. Mặc dù một số tùy chọn trong số này, như các nút lệnh, chỉ dành cho các biểu mẫu, các tùy chọn khác có thể đã quen thuộc với bạn.

Các nút lệnh

Nếu bạn muốn người dùng biểu mẫu của mình nhanh chóng thực hiện các tác vụ cụ thể, hãy xem xét việc thêm các nút lệnh. Khi bạn tạo một nút lệnh, bạn chỉ định một hành động để nó thực hiện khi được nhấp. Bằng cách bao gồm các lệnh cho các tác vụ phổ biến ngay trong biểu mẫu của bạn, bạn sẽ làm cho biểu mẫu dễ sử dụng hơn.

Access cung cấp nhiều loại nút lệnh khác nhau, nhưng chúng có thể được chia thành một vài loại chính:

  • Record Navigation cho phép người dùng di chuyển qua lại giữa các bản ghi trong cơ sở dữ liệu của bạn.
  • Record Operation cho phép người dùng thực hiện các thao tác như lưu và in bản ghi.
  • Form Operation cho phép người dùng nhanh chóng mở hoặc đóng biểu mẫu, in biểu mẫu hiện tại và thực hiện các tác vụ khác.
  • Report Operation cung cấp cho người dùng một cách nhanh chóng để thực hiện những việc như xem trước hoặc gửi báo cáo từ bản ghi hiện tại.

Cách tạo nút lệnh trong form Access

1. Trong chế độ xem Form Layout, chọn tab Design, sau đó định vị nhóm Controls.

2. Nhấp vào lệnh Button.

Cách tạo nút lệnh trong form Access

3. Chọn vị trí mong muốn cho nút lệnh, sau đó nhấp chuột.

Cách tạo nút lệnh trong form Access

4. Command Button Wizard sẽ xuất hiện. Trong bảng điều khiển Categories, chọn danh mục nút bạn muốn thêm. Ví dụ muốn tìm cách di chuyển nhanh hơn đến các bản ghi cụ thể, vì vậy ta sẽ chọn danh mục Record Navigation.

5. Danh sách trong bảng điều khiển Actions sẽ cập nhật để phản ánh danh mục bạn đã chọn. Chọn hành động bạn muốn nút thực hiện, sau đó nhấp vào Next. Trong ví dụ này, ta sẽ chọn Find Record.

Cách tạo nút lệnh trong form Access

6. Bây giờ bạn có thể quyết định xem bạn muốn nút của mình bao gồm văn bản hay hình ảnh. Bản xem trước trực tiếp của nút đó sẽ xuất hiện ở bên trái.

7. Để bao gồm văn bản, hãy chọn tùy chọn Text, sau đó nhập từ hoặc cụm từ bạn muốn vào hộp văn bản.

Cách tạo nút lệnh trong form Access

8. Để bao gồm một hình ảnh, hãy chọn tùy chọn Picture. Bạn có thể quyết định giữ ảnh mặc định cho nút lệnh đó hoặc chọn một ảnh khác. Nhấp vào Show All Pictures để chọn từ một biểu tượng nút lệnh khác hoặc Browse để chọn ảnh từ máy tính của bạn.

Cách tạo nút lệnh trong form Access

9. Khi bạn hài lòng với sự xuất hiện của nút lệnh, hãy nhấp vào Next.

10. Nhập tên cho nút. Tên này sẽ không xuất hiện trên nút, nhưng biết tên của nút đó sẽ giúp bạn nhanh chóng xác định vị trí của nút, nếu bạn muốn sửa đổi nó bằng Property Sheet. Sau khi thêm tên nút, bấm Finish.

Cách tạo nút lệnh trong form Access

11. Chuyển sang chế độ xem Form để kiểm tra nút mới. Nút Our Search sẽ mở hộp thoại Find and Replace.

Cách tạo nút lệnh trong form Access

Một số người dùng báo cáo rằng Access không hoạt động trong khi định dạng biểu mẫu. Nếu bạn gặp sự cố khi thực hiện bất kỳ tác vụ nào trong các chế độ xem Layout, hãy thử chuyển sang chế độ xem Design.

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 Form, nhấn Create trên Ribbon. Có thể chọn:
  • Form - để tạo Form với nguồn cấp từ bảng đang chọn
  • Form Design - để tạo Form ở chế độ Design View. Dữ liệu tự động dàng buộc với Form nếu có chọn Table hay Query
  • Form Wizard - hỗ trợ từng bước để tạo Form
  • Blank Form - tạo Form trống, chưa có nguồn cấp dữ liệu nào
  • Multiple Items - dạng Form hiện thị được nhiều Record một lúc
Cách tạo nút lệnh trong form Access

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ư:

Cách tạo nút lệnh trong form Access

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

Cách tạo nút lệnh trong form Access

Các Control phát sinh tự động thường bố trị trong một Layout, để loại bỏ nó thì chọn các Control, trên Ribbon chọn Arrange > Remove Layout

Đư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

Cách tạo nút lệnh trong form Access

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:

Query này đơn giản liệt kê lại các trường dữ liệu của bảng LOP, tuy nhiên tạo ra Query sau này để có thể chỉnh sửa lọc dữ liệu. Nó có thể làm Form con trong một Form cha với dữ liệu lọc liên quan.

Các Query đó, rồi bấm tạo Form, chọn mục DataSheet, lưu lại và đặt tên Form là CacLop_Sub

Có thể chuyển sang chế độ Design View, tại đây có thể chỉnh tiêu đề cột 1, đặt các thuộc tính cho Control. Kết quả mở Form có dạng 2

Cách tạo nút lệnh trong form Access
Cách tạo nút lệnh trong form Access

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:

  • Record Navigation > Go to Next Record
  • Record Navigation > Go to Previews Record
  • Record Operations > Delete Record
  • Record Operations > Save Record
  • Record Operations > Add New Record

Cách tạo nút lệnh trong form Access

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 FieldsLink Child Fields, đó là hai trường liên hệ - NGANHID trong Form chả và NGANHID trong Form con.

Cách tạo nút lệnh trong form Access

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:

  • Row Source Type : Table/Query
  • Row Source: Bấm vào ... để xây dựng Query dữ liệu cho nó. SELECT NIENKHOA.KHOAID, NIENKHOA.TenKhoa FROM NIENKHOA;
  • Bound Column: 1
  • Default Value: điền giá trị mặc định khi mở Form (ví dụ 4)
  • Column Count: 2
  • Colunm Widths: 0cm;2.54cm

Cách tạo nút lệnh trong form Access

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:

  • Row Source Type : Table/Query
  • Row Source: Bấm vào ... để xây dựng Query dữ liệu cho nó. SELECT LOP.LOPID, LOP.NIENKHOAID, TenCacLop.TENDAYDU FROM TenCacLop INNER JOIN LOP ON TenCacLop.LOPID = LOP.LOPID WHERE (((LOP.NIENKHOAID)=[Forms]![FormHocSinhDS]![Khoa])); Query trên đã tham chiếu dữ liệu ở đoạn =[Forms]![FormHocSinhDS]![Khoa]
  • Bound Column: 1
  • Column Count: 3
  • Colunm Widths: 0cm;0cm;2.54cm

Lúc này nếu chạy lần đầu thì nó sẽ hiện thị đúng danh sách lớp tương ứng với Combo Box Khoa, tuy nhiên khi Form đang mở thì thay đổi Khoa nó chưa cập nhật theo. Để khắc phục:

Bắt sự kiện khi Combo Box thay đổi dữ liệu, tại thuộc tính On Change, bấm vào ... để sinh hàm VBA khi Combo Box đổi giá trị. Trong thủ tục bắt sự kiện này, chỉ cần viết dòng code là yêu cầu Lop nạp lại dữ liệu Me![LOP].Requery, nội dung đầy đủ như sau:

Private Sub Khoa_Change() Me![LOP].Requery End Sub

Khi Khóa được chọn thì Lớp theo khóa hiện thị

Cách tạo nút lệnh trong form Access

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.

Cách tạo nút lệnh trong form Access

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

  • Link Master Fields : Lop
  • Link Child Fields : LOPID

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:

Cách tạo nút lệnh trong form Access

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:

Cách tạo nút lệnh trong form Access

Quay trở lại chế độ Design View của HocSinhLop, tại Ho bắt sự kiện On Dbl Click, với nội dung VBA như sau:

Private Sub Ho_DblClick(Cancel As Integer) 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

Cách tạo nút lệnh trong form Access