Chương 5: Form-Biểu mẫu

 Form là giao diện chủ yếu giữa người và máy  Form thường dùng để:  Thiết kế màn hình nhập dữ liệu  Thiết kế menu  Thiết kế các màn hình tra cứu thông tin  Thiết kế các màn hình giới thiệu, trợ gíup  Yêu cầu khi thiết kế giao diện phải thuận tiện cho người sử dụng  Mọi đối tượng xuất hiện trên Form được gọi là điều khiển. Điều khiển được chia thành 3 loại:

pdf40 trang | Chia sẻ: lylyngoc | Lượt xem: 1860 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Chương 5: Form-Biểu mẫu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 5: FORM-BIỂU MẪU I. Giới thiệu Form  Form là giao diện chủ yếu giữa người và máy  Form thường dùng để:  Thiết kế màn hình nhập dữ liệu  Thiết kế menu  Thiết kế các màn hình tra cứu thông tin  Thiết kế các màn hình giới thiệu, trợ gíup  Yêu cầu khi thiết kế giao diện phải thuận tiện cho người sử dụng  Mọi đối tượng xuất hiện trên Form được gọi là điều khiển. Điều khiển được chia thành 3 loại: Giới thiệu Form (tiếp)  Điều khiển bị buộc (Bound Control): Là điều khiển có nguồn dữ liệu lấy từ CSDL. Nhờ điều khiển loại này ta có thể tra cứu thông tin trong CSDL hoặc cập nhật thông tin vào CSDL  Điều khiển không bị buộc (Unbound Control): là điều khiển mà thông tin không gắn với nguồn dữ liệu. Thường gặp dưới dạng tiêu đề, đường kẻ,... cũng có thể là hộp văn bản (text box) dùng để nhập dữ liệu trong trường hợp đặc biệt  Điều khiển tính toán được (Calculate Control): Là điều khiển mà giá trị của nó được tính toán từ giá trị của các điều khiển khác  Ví dụ: tongluong= Sum ([luong]) thanhtien= [soluong]*[dongia] II. Thiết kế Form  Từ cửa sổ Database, trong phần Object chọn Form/New/New Form  Trong cửa sổ New Form có 2 cách tạo Form  Sử dụng Form Wizard  Sử dụng Design View Thiết kế Form (tiếp) 1). Dùng Form Wizard Trong cửa sổ NewForrm, kích chọn Form Wizard Xuất hiện các bước như sau:  B1: Chọn bảng làm nguồn dữ liệu/Next  B2: Chọn trường xuất hiện trên Form/Next  B3: Chọn kiểu trình bày Form/Next  B4: Chọn kiểu nền cho Form/Next  B5: Nhập tiêu đề Form/Finish Khi tạo Form bằng Wizard, trên Form chỉ có các điều khiển bị buộc. Muốn Form có thêm các loại điều khiển khác nữa, ta phải kết hợp với Form Design. Thiết kế Form (tiếp) 2). Dùng Design View:  Trong cửa sổ New Form, chọn Design View  Trong cửa sổ thiết kế Form này, quan trọng nhất là Fieldlist và Toolbox. Để ẩn hoặc hiện 2 công cụ này ta chọn trên menu View/Fieldlist và View/Toolbox  Fieldlist: dùng trong trường hợp Form bị buộc vào nguồn dữ liệu nào đó  Hộp công cụ Toolbox: dùng để thiết kế các điều khiển trên Form Thiết kế Form (tiếp) 3). Các thành phần trên Toolbox:  Label: nhãn  Text box: hộp văn bản  Option Group: nhóm lựa chọn  Toggle Button: nút bật tắt  Option Button: nút lựa chọn  Check box: hộp kiểm tra  ComBo Box: Hộp combo  List Box: hộp thiết kế  Command Button: nút lệnh Thiết kế Form (tiếp)  Image: ảnh  Unbound Object Frame: khung ảnh-không bị buộc  Bound Object Frame: Khung ảnh bị buộc  Page Break: đường ngắt trang-khi in  Tab Control: tab  SubFrom: Form con  Line: đường thẳng  Rectangle: khung chữ nhật  More Controls: Các điều khiển hoạt động khác III. Thiết kế các điều khiển trên Form 1. Vị trí của các điều khiển: Khi thiết kế các điều khiển, ta quan tâm đến vị trí của nó trên form Thiết kế các điều khiển trên Form (tiếp)  Page header/Page footer: tiêu đề đầu và cuối mỗi trang  Form header: dùng để chứa các tiêu đề như tên Form, tên trường  Form footer: dùng để chứa các nút lệnh thao tác trên bản ghi hoặc các dòng tổng cộng  Detail: phần quan trọng nhất của Form. Với những Form có dữ liệu thì đây là phần lặp lại với mỗi bản ghi. Muốn dữ liệu được hiển thị như phiếu nhập dữ liệu thì dàn dọc các điều khiển. Muốn dữ liệu hiển thị dưới dạng bảng thì dàn ngang các điều khiển trên Detail Thiết kế các điều khiển trên Form (tiếp) 2. Căn chỉnh các điều khiển Có thể sao chép, cắt, dán, xóa các điều khiển (chỉ với 1 số loại nào đó)  Đánh dấu các điều khiển:  Đánh dấu theo cột  Đánh dấu theo hàng  Đánh dấu theo khung  Đánh dấu các điều khiển rời rạc  Căn chỉnh các điều khiển: Chọn mục Format  Align: gióng đều  Vertical Spacing: khoảng cách dòng giữa các điều khiển  Horizotal Spacecing: khoảng cách cột giữa các điều khiển  Size: làm cho các điều khiển có cùng độ cao Thiết kế các điều khiển trên Form (tiếp)  3. Điều khiển hộp văn bản (TextBox)  Hộp văn bản là điều khiển quan trọng nhất trên Form. Có thể thuộc cả 3 loại: bị buộc, không bị buộc và tính toán được.  Nếu là không bị buộc  Thường dùng để nhập dữ liệu.  Cách tạo: kéo từ toolbox vào Form  Nếu là bị buộc  Thường dùng để hiển thị dữ liệu của bảng.  Cách tạo: Kéo từ Fieldlist vào Form Thiết kế các điều khiển trên Form (tiếp)  Nếu là điều khiển tính toán:  Thường dùng để tính toán thông qua các điều khiển khác.  Cách tạo:  Tạo 1 điều khiển không bị buộc.  Sau đó đưa các biểu thức vào Thiết kế các điều khiển trên Form (tiếp) 4. Nhãn (Label)  Dùng làm tiêu đề, chú giải,…  Chủ yếu quan tâm đến hình thức trình bày trên nhãn: font, màu sắc,… Thiết kế các điều khiển trên Form (tiếp) 5. Hộp liệt kê (List Box) và Combo (Combo Box)  Khi muốn chọn 1 trong nhiều giá trị để nhập vào trường (trên 5 giá trị) ta dùng List box hoặc Combo box  Combo box: thường được dùng nhiều trên màn hình nhập dữ liệu, tìm kiếm  List box: thường được dùng trên màn hình hiển thị, tra cứu  Có thể thêm các giá trị khác (không có trong danh sách) vào hộp Combo box và không thể thêm 1 giá trị mới vào List box  Có 2 cách tạo List box/Combo box: Thiết kế các điều khiển trên Form (tiếp)  Dùng Wizard:  Bật Control Wizard  Chọn List box/Combo box trên Toolbox  Kéo vào Form, Wizard khởi động  Chọn nguồn dữ liệu: lấy từ bảng hay danh sách giá trị  Chọn bảng hoặc danh sách giá trị nguồn  Chọn các trường hiện trong hộp  Quyết định có hiện trường khoá hay không  Chọn trường nhận dữ liệu (Form phải có nguồn dữ liệu. Trường nhận dữ liệu là 1 trong các trường của bảng hoặc truy vấn nguồn dữ liệu) Thiết kế các điều khiển trên Form (tiếp)  Không dùng Wizard  Tắt Control Wizard  Chọn biểu tượng List box/Combo box kéo vào Form  Mở thuộc tính của List box/Combo box, xác định các thuộc tính sau:  Row Source Type: Chọn Table/Query hoặc Value List  Row Source: Tên bảng hoặc Query hoặc danh sách giá trị phân cách nhau bằng dấu ;. Cũng có thể là 1 lệnh SQL  Bound Column: cột cho giá trị  Column Count: Số các cột sẽ hiển thị dữ liệu trong hộp  Limit to list: Dùng riêng cho Combo box. Khi thêm giá trị vào, giá trị này sẽ được cập nhật vào nguồn nếu thuộc tính này chọn là No. Thiết kế các điều khiển trên Form (tiếp) 6. Nút lệnh (Command Button)  Khi ta kích hoạt nút lệnh, HQTCSDL sẽ thực hiện 1 công việc. Công việc đó có thể đơn giản là mở 1 Form, cũng có thể là thực hiện tính điểm TB của SV của trường ĐH  Để tạo nút lệnh ta có thể dùng Wizard hoặc lập trình  Dùng Wizard:  Bật Control Wizard  Chọn lĩnh vực của nút lệnh  Chọn đối tượng và tham số của hành động  Chọn hình thức trình bày của nút lệnh Thiết kế các điều khiển trên Form (tiếp)  Không dùng Wizard:  Tắt Control Wizard  Chọn nút lệnh, đưa vào Form  Lập trình xử lý sự kiện nút lệnh Thiết kế các điều khiển trên Form (tiếp) 7. Thuộc tính của Form: Kích phải chuột / Chọn Properties, xuất hiện hộp thoại Properties chứa các khai báo thuộc tính Form a). Về hình thức trình bày  Default View: dạng hiển thị ngầm định của Form  Scroll bars: các thanh cuộn để chuyển điều khiển lên xuống  Navigation Button: các nút để dịch chuyển bản ghi  Dividing Lines: Đường phân chia các bộ phận của Form  Picture: hình ảnh trên toàn Form  MinMax Buttons: Nút cho phép thu nhỏ, phóng to kích cỡ Form Thuộc tính của Form (tiếp) b). Về dữ liệu trên Form  Records Source: tên truy vấn, bảng nguồn dữ liệu hoặc văn bản SQL của nguồn dữ liệu Chú ý: Khi thiết lập nguồn bằng SQL thì mọi trường xuất hiện trên cửa sổ Design của Form phải xuất hiện trên SQL (mặc dù là các trương đó có được bằng cách kéo chuột)  Allow Filter: cho phép lọc dữ liệu hiện trên Form  Allow Deletion: cho phép xoá các bản ghi trên Form  Allow Edits: cho phép chỉnh sửa dữ liệu trên Form  Allow Additions: cho phép bổ sung bản ghi trên Form Thuộc tính của Form (tiếp) c). Các thuộc tính khác  Popup: Form được mở trên các Form khác  Modal: Không thể kích hoạt bất cứ vị trí nào ngoài phạm vi Form  Menu bar: menu hiện khi mở Form  Short cut menu: menu hiện khi nhấn chuột phải Thuộc tính của Form (tiếp)  Ví dụ:tạo form để xem và cập nhật thông tin cho bảng PHONG. Form được phép thêm, sửa, không được xoá  Có thể làm như sau: Thuộc tính của Form (tiếp)  Từ cửa sổ Database, trong mục Object chọn Form/ Create form in Design view. Cửa sổ thiết kế xuất hiện.  Từ cửa sổ thiết kế form, kích phải chuột/Properties. chọn nguồn dữ liệu của form là bảng PHONG.  Đặt thông số cho các thuộc tính:  Allow Deletion: No  Allow Edits: Yes  Allow Additions: Yes  Thiết kế các điều khiển trên form như sau:  Kéo rê các trường cần hiển thị trên form (các trường này lấy từ nguồn dữ liệu của form – Field List) vào cửa sổ thiết kế  Hiệu chỉnh lại các nhãn (Lables) trên form như sau: Thuộc tính của Form (tiếp) IV. Form chính-phụ 1. Giới thiệu  Dùng để nhập dữ liệu đồng thời vào nhiều bảng.  Form chính - phụ đặc biệt có hiệu quả khi ta muốn hiển thị dữ liệu trong các bảng có quan hệ 1:n.  Form chính hiển thị dữ liệu trong bảng có quan hệ 1,  Form phụ hiển thị dữ liệu trong bảng có quan hệ n.  Khi di chuyển sang một bản ghi mới trong Form chính thì form phụ sẽ hiển thị một tập hợp các bản ghi nối kết tới bản ghi mới trong form chính.  Khi tạo Form phụ, ta có thể thiết kế để nó hiển thị dưới dạng bảng tính, Form đơn, biểu đồ,…  Một Form chính có thể có nhiều Form phụ. Chỉ có yêu cầu là phải có ít nhất một trường chung cho từng Form phụ với Form chính. Form chính-phụ (tiếp) 2. Cách tạo form chính – phụ: a.Dùng Wizard  Từ cửa sổ Database, trong mục Object, kích chọn Form  Hộp thoại New Form xuất hiện, kích đúp Form Wizard xuất hiện các bước của Form Wizard  Bước 1:  chọn bảng hoặc truy vấn nguồn của Form chính (bảng ở đầu 1 của quan hệ 1:n)  Kích chọn tên trường xuất hiện trong Form chính Form chính-phụ (tiếp)  Bước 2: Vẫn trong hộp thoại trên,  chọn bảng hoặc truy vấn nguồn của Form phụ (bảng ở đầu n của quan hệ 1:n)  Kích chọn tên trường xuất hiện trong Form phụ  Kích Next,  Bước 3: chọn Form With subform(s)  Tiếp theo là các hộp thoại hướng dẫn của Wizard. Khi ta kích Finish, Access sẽ tạo ra 2 Form, một Form chính và một Form phụ bên trong Form chính. Form chính-phụ (tiếp) b. Không dùng Wizard:  Tạo form chính.  Tạo form phụ một cách độc lập.  Trong cửa sổ thiết kế form phụ, xây dựng điều kiện kết nối 2 form.  Mở cửa sổ thiết kế form chính đồng thời với cửa sổ Database. Kéo form phụ vào form chính rồi thả. Form chính-phụ (tiếp) c. Làm quen với cách viết: [loại đối tượng]![tên đối tượng]![trường liên kết] Ví dụ: Biểu thức kết nối 2 Form: [FORMS]![]![] Form chính-phụ (tiếp) d. Ví dụ: Tạo một form chính “Danh sách phòng”, mỗi phòng tương ứng với một danh sách nhân viên trong form phụ “Danh sách nhân viên”.  Bước 1: Tạo form chính CHINH với tiêu đề “danh sách phòng”  Dùng Design View  Chọn nguồn dữ liệu là bảng PHONG  Ghi lại thiết kế form CHINH  Bước 2: Tạo form phụ PHU với tiêu đề “danh sách nhân viên”  Dùng Design View  Chọn nguồn dữ liệu là văn bản SQL đưa ra các n.v thỏa đk kết nối.  Thiết lập kết nối với form CHINH thông qua MAPHONG tại Criteria Form chính-phụ (tiếp)  Đặt Defaul View là Datasheet (nếu muốn Form phụ hiển thị dưới dạng bảng)  Ghi lại thiết kế form PHU  Bước 3:  Mở cửa sổ thiết kế của form CHINH và cửa sổ Database  Kéo form PHU thả vào vị trí muốn đặt trong form CHINH  Ghi lại tất cả thiết kế này. Form chính-phụ (tiếp) Form chính-phụ (tiếp)  Kết quả như sau: Form chính-phụ (tiếp)  Ví dụ 2: Tạo Form chính –phụ đưa ra danh sách nhân viên theo ngoại ngữ đã học V. Dùng Form chính-phụ để tìm kiếm  Form chính-phụ được dùng để tìm kiếm thông tin.  Nó thực hiện như một Parameter Query.  Thông thường, điều kiện tìm kiếm được nhập vào một textbox trên form chính.  Sau khi Enter, thì nó sẽ đưa ra thông tin cần thiết, thể hiện trên form phụ.  Textbox trên form chính là loại không bị buộc, nó chỉ dùng để nhập điều kiện tìm kiếm.  Như vậy, phải có ràng buộc giữa form phụ và textbox này. Dùng Form chính-phụ để tìm kiếm(tiếp) Ví dụ 1: Thiết kế form chính-phụ để tìm kiếm các nhân viên theo tên phòng. Khi chạy Form, trên Form chính chứa 1 text box để nhận tên phòng cần tìm. Trên Form phụ sẽ xuất hiện danh sách nhân viên của phòng vừa nhập tên. Bước1: Thiết kế form chính CHINH1 không có nguồn dữ liệu. Chứa 1 textbox [TEXT i] để nhập tên phòng cần tìm. Dùng Form chính-phụ để tìm kiếm(tiếp) Bước 2: Thiết kế form PHU1 - Nguồn dữ liệu là văn bản SQL chứa thông tin về các nhân viên và tên phòng tương ứng. - Thiết lập điều kiện liên kết với form chính: TENPHONG=[FORMS]![CHINH1]![TEXT i] Dùng Form chính-phụ để tìm kiếm(tiếp)  Bước 3:  Mở cửa sổ thiết kế form CHINH1 đồng thời với cửa sổ Database. Kéo form PHU1 thả vào form CHINH1.  Bước 4:  Trong trang Properties của form PHU1. thiết lập điều kiện liên kết ở thuộc tính: Link Child Field và Link Master Field cho phù hợp Dùng Form chính-phụ để tìm kiếm(tiếp)  Ví dụ 2: Tạo form chính –phụ để tìm kiếm thông tin về các nhân viên học một ngoại ngữ nào đó (tên ngoại ngữ nhập vào 1 textbox)