Hệ quản trị cơ sở dữ liệu với MS Access

Tài liệu Hệ quản trị cơ sở dữ liệu với MS Access: Bài 1: Tổng quan về MS Access  1.   Khái niệm cơ sở dữ liệu (CSDL: DataBase)  CSDL là tập hợp những dữ liệu liên quan tới một chủ đề, một phạm vi quản lý. Nhằm thoả mãn nhu cầu khai thác thông tin nhanh chóng, chính xác, hiệu quả. (CSDL là tập hợp dữ liệu mang tính hệ thống, chứ không phải là dữ liệu rời rạc) CSDL quan hệ (Relational DataBase): là tập hợp các bảng liên quan tới nhau, tạo thành một hệ thống thông tin thống nhất, đảm bảo tính không được thiếu, không thừa của nguồn dữ liệu. Hệ quản trị CSDL (HQT CSDL: DataBase Management System) Là phần mềm cho phép tạo, lưu trữ, quản lý và tương tác với CSDL. Các chức năng cơ bản của HQTCSDL Một HQTCSDL phải có ngôn ngữ mô tả dữ liệu (Data Definition Language) cho phép ta định nghĩa cấu trúc (tạo, sửa, xoá) và mô tả các mối liên hệ của dữ liệu cũng như những quy tắc quản lý trên dữ liệu đó. Một HQTCSDL phải có ngôn ngữ thao tác dữ liệu (Data Manipulation Language) cho phép người sử dụng có thể cập nhật dữ liệu (thêm, sửa, xoá)...

doc98 trang | Chia sẻ: hunglv | Lượt xem: 2286 | Lượt tải: 1download
Bạn đang xem trước 20 trang mẫu tài liệu Hệ quản trị cơ sở dữ liệu với MS Access, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Bài 1: Tổng quan về MS Access  1.   Khái niệm cơ sở dữ liệu (CSDL: DataBase)  CSDL là tập hợp những dữ liệu liên quan tới một chủ đề, một phạm vi quản lý. Nhằm thoả mãn nhu cầu khai thác thông tin nhanh chóng, chính xác, hiệu quả. (CSDL là tập hợp dữ liệu mang tính hệ thống, chứ không phải là dữ liệu rời rạc) CSDL quan hệ (Relational DataBase): là tập hợp các bảng liên quan tới nhau, tạo thành một hệ thống thông tin thống nhất, đảm bảo tính không được thiếu, không thừa của nguồn dữ liệu. Hệ quản trị CSDL (HQT CSDL: DataBase Management System) Là phần mềm cho phép tạo, lưu trữ, quản lý và tương tác với CSDL. Các chức năng cơ bản của HQTCSDL Một HQTCSDL phải có ngôn ngữ mô tả dữ liệu (Data Definition Language) cho phép ta định nghĩa cấu trúc (tạo, sửa, xoá) và mô tả các mối liên hệ của dữ liệu cũng như những quy tắc quản lý trên dữ liệu đó. Một HQTCSDL phải có ngôn ngữ thao tác dữ liệu (Data Manipulation Language) cho phép người sử dụng có thể cập nhật dữ liệu (thêm, sửa, xoá). Một HQTCSDL phải có ngôn ngữ truy xuất dữ liệu (Data Receive Language) để khai thác, trích rút dữ liệu trong CSDL khi có nhu cầu. Ngoài ra, một số HQTCSDL cung cấp cho người sử dụng những cơ chế bảo mật và phục hồi dữ liệu khi có sự cố xảy ra. HQTCSDL quan hệ là hệ quản trị cơ sở dữ liệu theo mô hình quan hệ. Hệ quản trị cơ sở dữ liệu MS Access là HQTCSDL quan hệ có khá đầy đủ các chức năng trên. Ngoài ra chương trình này còn có các chức năng khác như tạo Form, Report, Macro, Module,… cho phép xây dựng hoàn chỉnh một phần mềm quản lý CSDL.  2. Các thành phần trong cơ sở dữ liệu Access (Nằm trên file có phần mở rộng *.mdb)  Trong cơ sở dữ liệu của Ms Access 2000 gồm có 7 thành phần, mỗi thành phần gồm nhiều đối tượng. Ví dụ: Trong thành phần Tables có nhiều đối tượng Table, trong thành phần Queries có nhiều đối tượng Query,...  Từ các nguồn khác: có nghĩa là liên kết lấy dữ liệu từ các file dạng khác như *.xls (Excel), hoặc dữ liệu trong các hệ quản trị cơ sở dữ liệu khác,... 2.1. Table: là đối tượng lưu trữ dữ liệu.  Hình 1.1: Màn hình hiển thị dữ liệu bảng HoSo.   2.2. Query: tính toán, xử lý và khai thác dữ liệu trong Cơ sở dữ liệu. Hình 1.2: Màn hình hiển thị dữ liệu truy vấn các thí sinh KV1.  2.3. Form: giao diện nhập và thể hiện dữ liệu, tạo hộp thoại giao tiếp giữa ứng dụng và người sử dụng. Hình 1.3: Giao diện liệt kê các thí sinh theo từng khu vực.  2.4. Macro: tạo các hành động điều khiển và liên kết các đối tượng nằm trong các thành phần của Access. Ví dụ: tạo hành động mở mẫu biểu có tên sbfTest và chỉ hiển thị những thí sinh thuộc KV3. Hình 1.4: Màn hình hiển thị phần thiết kế Macro. 2.5. Report: tạo mẫu báo cáo thể hiện dữ liệu phong phú, đẹp mắt. Là khâu cuối cùng của quá trình xử lý dữ liệu, để rồi in ra giấy.  Hình 1.5: Báo cáo thống kê chi tiết các thí sinh theo từng khu vực.   2.6. Module: môi trường để soạn thảo các hàm (Function), thủ tục (Sub) viết bằng ngôn ngữ VBA (Visual Basic for Application) hay còn gọi là Access Basic. Nhằm xử lý và điều khiển các đối tượng phức tạp. Ví dụ: tạo thủ tục SuaNoiSinh để sửa dữ liệu trong cột (trường) NoiSinh. Nếu là “hanoi” thì đổi thành “Ha Noi “.  Hình 1.6: Màn hình soạn thảo mã lệnh chương trình. 2.7. Page: cho phép thể hiện dữ liệu trên trang dạng Web (*.htm). Người sử dụng có thể truy cập vào CSDL thông qua trình duyệt Microsoft Internet Exploirer (IE). Hình 1.7: Màn hình hiển thị danh sách khu vực từ cửa sổ IE. Chương 2.1: Table - Bảng dữ liệu 1.   Khái niệm Table là thành phần quan trọng nhất trong CSDL, là nơi trực tiếp lưu trữ dữ liệu. Mỗi Table chứa thông tin về một thực thể xác định.  Ví dụ:    Bảng MonHoc lưu trữ thông tin về các môn học như: Mã môn học, Số tiết,..   Bảng NhanVien lưu trữ thông tin về cán bộ nhân viên như: Mã nhân viên, Họ tên, Ngày sinh, Quê quán, Lương,… Mã NV Họ tên Ngày sinh Quê quán Lương SR001 Nguyễn Phương Nam 14/12/1975 Hà Tây 650000 SR002 Trần Mạnh Hùng 03/09/1970 Thái Nguyên 800000 SR003 Vũ Phương Thảo 19/12/1978 Hải Phòng 720000 1.1. Cấu trúc của bảng: gồm các hàng và các cột giao nhau   Cột trong Table thì gọi Field (trường) Mỗi Field ứng với một mục dữ liệu mà ta cần lưu trữ, và mỗi Field có một kiểu dữ liệu xác định. Mã NV, Họ tên, Quê quán: kiểu kí tự Ngày sinh: kiểu ngày tháng Lương: kiểu số. Hàng trong table thì gọi Record (bản ghi) Là một thể hiện dữ liệu của các Field trong bảng.  1.2. Khoá chính (Primary Key) Trong bảng thường có khoá chính gồm một hoặc nhiều trường đảm bảo 2 tính chất sau: Dữ liệu trên đó là duy nhất, mục đích dùng để phân biệt bản ghi này với bản ghi kia Không được phép rỗng dữ liệu (phải nhập dữ liệu). Vì khi biết được giá trị của trường khoá chính thì có thể suy ra giá trị của các trường khác.  1.3. Khoá ngoại (Foreign Key) Để tạo quan hệ giữa các bảng người ta lấy khoá chính đưa sang bảng quan hệ làm khoá ngoại. Dữ liệu trong khoá ngoại phải được tham chiếu lấy từ khoá chính.  2. Các phương pháp tạo Table 2.1. Tạo Table bằng Table Wizard Đây là phương pháp tạo bảng theo các bước hướng dẫn để xây dựng các Table từ trong CSDL mẫu của Access Cách 1: trong cửa sổ Database chọn New/ Table Wizard Cách 2: chọn Create table by using wizard. Hình 2.1: Cửa sổ tạo mới Table bằng trợ giúp.  Sample Tables: chọn các Table mẫu Sample Fields: chọn các Fields trong Table mẫu Fields in my new table: các trường xuất hiện trong bảng khi nó được tạo ra (ta có thể chọn nút lệnh Rename Field… để đổi tên trường) Phương pháp này chỉ với mục đích tham khảo, vì các Table mẫu thường không thích hợp với cách quản lý của ta (thường phải thiết kế lại). 2.2. Tạo Table bằng Datasheet View Cách 1: trong cửa sổ Database chọn New/ Datasheet View Cách 2: chọn Create table by entering data Người dùng chỉ cần gõ dữ liệu trực tiếp vào bảng có dạng giống Excel Hình 2.2: Cửa sổ tạo mới Table bằng Datasheet View.  Access sẽ tự động xác định:                   Kiểu dữ liệu của trường tuỳ theo dữ liệu nhập                  Số trường sẽ thu lại theo số cột có dữ liệu                  Số bản ghi sẽ thu lại theo số hàng có dữ liệu nhập.  2.3. Tạo Table bằng Design View Đây là cách tạo bảng thường dùng nhất, với cách này ta trực tiếp tạo ra cấu trúc bảng theo mong muốn. Cách 1: trong cửa sổ Database chọn New/ Design View Cách 2: chọn Create table in Design View    Hình 2.3: Cửa sổ tạo mới Table.  Màn hình giao diện tạo bảng bằng Design View như sau: Hình 2.4: Cửa sổ thiết kế Table.    Field Name: đặt tên trường.   Data Type: kiểu dữ liệu của trường.   Description: chú thích ý nghĩa của trường, nội dung sẽ hiện ở dòng trạng thái (Status Line) để hướng dẫn nhập liệu khi mở Table ở chế độ Datasheet.   Field Properties: các thuộc tính của trường. Nếu tạo mới Table mà chưa tạo khoá chính thì khi thoát khỏi chế độ Design View Access bắt ta phải đặt tên cho Table, rồi sau đó sẽ hỏi ta có muốn tạo khoá chính không? Ta chọn No để không tạo khoá. Hình 2.5: Hộp thoại hỏi khoá chính.    3.1. Tên trường (Field Name)  Các quy tắc đặt tên trường   Tên trường có thể chứa các kí tự chữ cái, chữ số, dấu cách, các kí tự đặc biệt (trừ các kí tự “.”, “!”, “[“, “]” ) Tên trường không được bắt đầu bằng dấu cách, không quá 64 kí tự. Trong một bảng không có tên trường trùng nhau.   3.2. Kiểu dữ liệu của trường (Data Type) Trường Giải thích Text (kiểu kí tự): tối đa 255 kí tự Memo (kiểu kí ức): tối đa 64000 kí tự, thường được dùng để lưu trữ những văn bản lớn chẳng hạn như chú thích, tiểu sử cá nhân... Number (kiểu số): gồm các kiểu có miền giá trị khác nhau khai báo trong Field size Date/Time  (kiểu ngày tháng): tối đa 8 byte dùng lưu trữ dữ liệu dạng ngày tháng   Currency (kiểu tiền tệ): tối đa 8 byte, đây cũng là một dạng kiểu Number nhưng có ký hiệu tiền tệ. Yes/No  (kiểu Logic): lưu dữ liệu chỉ trong 2 trạng thái. AutoNumber  (kiểu số tự động): dữ liệu trong trường có kiểu này sẽ được tự động thêm vào các giá trị tuần tự hay ngẫu nhiên mà không cần người sử dụng nhập vào. OLE Object (nhúng và liên kết đối tượng): lưu âm thanh, hình ảnh tối đa 1GB bộ nhớ. Hyperlink (kiểu siêu liên kết): lưu đường dẫn tới một máy khác trên mạng hay địa chỉ liên kết tới một trang Web, địa chỉ Email, tối đa 2048 kí tự. Lookup wizard:  tham chiếu tới danh sách các giá trị của một trường nào đó ở bảng khác.  Bảng các kiểu dữ liệu của một trường có thể nhận  3.3. Các thuộc tính của trường (Field Properties) Phần Genernal: các thuộc tính chung   Field size: quy định độ rộng của dữ liệu trong trường.      Ví dụ: Đối với kiểu Text ở thuộc tính này ta quy định là 10 thì chỉ được nhập 10 kí tự. Còn đối với kiểu Number ta chọn các kiểu với miền sau: Giá trị Miền giá trị Số Byte Integer Số nguyên (-32768 ® 32767) 2 Long Integer số nguyên (-2147483648®2147483647) 4 Single kiểu số thực(đơn) (-3.4*1038 ® 3.4*1038) 4 Double kiểu số thực(kép) (-1.797*10308 ® 1.797*10308) 8    Format: định dạng các thể hiện của dữ liệu trong trường. Với từng kiểu dữ liệu (Data Type), ta có các kiểu định dạng khác nhau.   Đối với dạng Text ' < ':  dữ liệu trong trường tự động chuyển thành chữ thường ' > ':  dữ liệu trong trường tự động chuyển thành chữ hoa @ [tên màu]: tự động định dạng màu chữ Tên các màu: Black (đen), Blue (xanh lá cây), Green (xanh nước biển), Cyan (xanh nhạt), Red (đỏ), Magenta (tím cánh sen), Yellow (vàng), White (trắng),...    Đối với dạng Date/Time Ta chọn các dạng có sẵn:  Hoặc ta dùng các kí tự d, m, y để thiết lập như sau: dd/mm/yyyy: 19/12/2003 (với dd:day, mm: month, yyyy:year) dd-mmm-yyyy: 19-Dec-2003 mm/dd/yy: 12/19/03    Đối với dạng số ta dùng các định dạng có sẵn Giả sử ta có giá trị 3456.789     Đối với dạng dữ liệu Yes/No: có các dạng Yes/No, True/False, On/Off. Nếu không khai báo Format thì sẽ hiện các giá trị –1 (Yes), 0 (No).   Decimal Places: quy định số chữ số thập phân (chỉ có trong Number, Currency).   Input Mask (mặt nạ nhập liệu): Trong trường hợp dữ liệu có cùng dạng thức ta nên quy định mẫu nhập liệu, nhưng phải nhập đúng quy định đó.    Nhóm ký tự định nghĩa InputMask    Kí tự mặt nạ Ý nghĩa 0  Vị trí dành cho một số 0® 9 (bắt buộc nhập)   9  Vị trí dành cho một số 0® 9 (không bắt nhập) #  Vị trí dành cho một kí tự số 0® 9, dấu +, -, trống L  Vị trí dành cho một kí tự A-Z (bắt buộc nhập) ?  Vị trí dành cho một kí tự A-Z (không bắt nhập) A Vị trí dành cho một ký tự chữ hoặc số (bắt buộc) A  Vị trí dành cho một ký tự chữ hoặc số (không bắt buộc) &  Vị trí dành cho một kí tự bất kì (bắt buộc) C  Vị trí dành cho một kí tự bất kì (không bắt buộc) . , : ; - /:  Ngăn cách giữa các phần Password Những kí tự đánh vào sẽ hiển thị dấu * (dạng mật khẩu)  Ví dụ: Giá trị trong trường ngày sinh có dạng 19/12/1978 ta thấy rằng khung mặt nạ nhập liệu là __ /__ /____ . Ta phải thiết lập như sau 00/00/0000    Caption: chuỗi tiêu đề cột khi bảng ở chế độ Datasheet (chế độ cập nhật dữ liệu), nếu bỏ qua thì Access lấy tên trường làm tiêu đề cột.   Default Value: xác định giá trị định trước (dùng trong trường hợp nhập dữ liệu đó là nhiều)   Validation Rule: xây dựng biểu thức kiểm tra dữ liệu (quy tắc hợp lệ)  Ví dụ: nếu > 0 thì dữ liệu nhập vào phải lớn hơn 0.   Validation Text: xâu kí tự hiện trong hộp thông báo lỗi nếu vi phạm điều kiện trong Validation Rule.   Required: có bắt buộc phải nhập dữ liệu không? Yes: tương ứng với việc buộc nhập dữ liệu No: không buộc nhập dữ liệu  tại trường đó.   Allow Zero Length: áp dụng cho Text, Memo, Hyperlink cho phép nhập hay không nhập dữ liệu là giá trị rỗng.    Indexed (chỉ số): Tạo chỉ số để sắp xếp và tăng tốc độ tìm kiếm dữ liệu No: không tạo chỉ số Yes (Duplicates Ok): tạo chỉ số được phép trùng Yes (No Duplicates): tạo chỉ số không được phép trùng  Phần Lookup: các thuộc tính tham chiếu   Display Control: chọn cách hiển thị Text Box: hộp văn bản Combo Box: hộp liệt kê thả List Box: hộp liệt kê danh sách Check Box: hộp kiểm tra (áp dụng cho Yes/No) Nếu Display Control đặt là Text thì sẽ không có các tuỳ chọn tiếp theo, nếu Display Control đặt là List Box  sẽ có thêm các phần tuỳ chọn như sau:   Row Source Type: kiểu nguồn dữ liệu   Table/Query: lấy dữ liệu có sẵn trong Table hoặc Query.   Value List: tự đánh dữ liệu cho danh sách   Field List: danh sách là tên các field trong Table hoặc query   Row Source: nguồn giá trị trong danh sách (có thể chọn tên của Table/Query, hoặc tự liệt kê giá trị...)   Bound Column: cột được lấy làm giá trị của Field   Column Count: số cột hiển thị trong danh sách   Column Heads: bật tắt dòng tiêu đề   Column Widths: độ rộng của từng cột trong danh sách  Nếu Display Control đặt là  Combo Box sẽ có thêm những phần sau:   List Row: số dòng hiển thị trong danh sách   List Width: độ rộng của danh sách (tổng độ rộng của các cột)   Limit to List: giới hạn trong danh sách  Yes: chỉ được nhập dữ liệu lấy trong danh sách cho Field No: có thể nhập dữ liệu ngoài danh sách cho Field Chương 2.2: Table - Bảng dữ liệu (phần 2 - tiếp) 4. Các hình thức tạo bảng khác 4.1. Import Table (nhập khẩu bảng) Lấy bảng đã có sẵn từ CSDL khác về CSDL hiện thời. Bảng được tạo ra độc lập với bảng nguồn. Cách 1: trong cửa sổ Database chọn New/ ImportTable Cách 2: vào thực đơn File/Get External Data/Import... Chỉ ra đường dẫn chọn file CSDL khác rồi chọn lệnh Import. Hình 2.6: Cửa sổ Import Objects. Chọn tên bảng cần Import rồi OK  Select All: chọn tất cả các bảng Deselect All: huỷ chọn tất cả các bảng.  Chú ý: Ta có thể dùng phương pháp Export Table (xuất khẩu bảng) để đưa bảng từ CSDL hiện thời sang CSDL khác. Cách 1: chọn bảng cần xuất khẩu rồi vào thực đơn File/Export... Cách 2: nhấn phải chuột vào bảng cần xuất khẩu /Export... 4.2 Link Table (bảng liên kết) Là cách tạo bảng bằng cách liên kết đến một bảng của CSDL khác. Cách tạo bảng này gần giống như cách tạo bảng bằng Import Table, chỉ khác là bảng không được lấy hẳn về như Import Table mà chỉ là liên kết tới bảng đó. Cách 1: trong cửa sổ Database chọn New/ LinkTable Cách 2: vào thực đơn File/Get External Data/ LinkTable Chỉ ra đường dẫn CSDL chứa bảng cần liên kết đến rồi chọn lệnh Link Lưu ý: Biểu tượng của bảng liên kết có thêm hình mũi tên. Bảng liên kết chỉ được cập nhật dữ liệu, không được phép sửa thiết kế.   5. Các chế độ của Table Có hai chế độ mở bảng, mở bảng ở chế độ cập nhật dữ liệu (Datasheet View) và mở bảng ở chế độ thiết kế (Design View).  5.1. Mở bảng ở chế độ thiết kế (Design View) Cho phép sửa đổi cấu trúc bảng. Tại đây, chúng ta có thể chèn thêm trường, xoá trường đi, thay đổi kiểu dữ liệu hay thuộc tính của trường,... Cách thực hiện:   Bước 1: chọn Table   Bước 2: nhấn Design trên thanh công cụ của cửa sổ Database Chèn thêm một trường vào trong Table   Cách 1: vào thực đơn Insert/Rows   Cách 2: phải chuột /Insert Rows Xoá một hoặc nhiều trường trong Table   Bước a: chọn các trường muốn xoá   Bước b: vào thực đơn Edit/Delete Rows hoặc phải chuột/ Delete Rows Tạo khoá chính (Primary Key)   Bước a: chọn một hoặc nhiều trường làm khoá chính   Bước b: thiết lập khoá chính Cách 1: vào thực đơn Edit/Primary Key Cách 2: nhấn vào biểu tượng Primary Key (chìa khoá) trên thanh công cụ (Nếu muốn bỏ khoá chính ta thực hiện lại động tác trên). 5.2. Mở bảng ở chế độ cập nhật dữ liệu (Datasheet View) Cho phép xem và thêm, xoá, sửa dữ liệu của bảng. Cách thực hiện   Bước 1: chọn Table muốn mở   Bước 2: nhấn Open trên thanh công cụ của cửa sổ Database (hoặc Enter) Các thao tác trên Record: thêm, sửa, xoá Record (giống trong MS Excel)  a. Nhập, sửa dữ liệu OLE Object Nhập hình ảnh   Cách 1: vào thực đơn Insert/Object.../chọn Object Type   Cách 2: phải chuột/ Insert Object.../ chọn Object Type Hình 2.7: Màn hình cho phép chỉ định loại đối tượng OLE. Create New: tạo file ảnh, văn bản, bảng tính,.. bằng các chương trình trong Object Type. Hình 2.8: Chọn đường dẫn đến file cho đối tượng OLE. Create from File: lấy file ảnh, văn bản, bảng tính,.. đã lưu trong máy (Bấm nút Browse chọn đường dẫn tới file đó) Link: chỉ liên kết tới file đó.  Sửa hình ảnh   Cách 1: vào thực đơn Edit/Bitmap Image Object.../ Edit   Cách 2: phải chuột/ Bitmap Image Object.../ Edit   Điều chỉnh độ rộng, thay đổi vị trí cột (tham khảo sách bài tập)   Đổi tên, ẩn, hiện cột (tham khảo sách bài tập).  b. Sắp xếp dữ liệu      Bước 1: Chọn cột cần sắp xếp      Bước 2: Chọn các cách Cách 1: Record/Sort /{Ascending | Descending} Cách 2: Nhấn biểu tượng trên thanh công cụ.   c. Lọc dữ liệu Filter By Selection Chức năng: Dùng để lọc các bản ghi thỏa mãn giá trị đã được chọn trong bảng dữ liệu.       Bước 1: chọn giá trị cần lọc của cột trên bảng dữ liệu       Bước 2: chọn các cách sau Cách 1: vào thực đơn Records/ Filter/ Filter By Selection Cách 2: kích phải chuột/ Filter By Selection. Để lọc những giá trị khác (ngược lại) với giá trị được chọn ta chỉ cần chọn Filter Excluding Selection. Để bỏ lọc ta chọn biểu tượng Remove Filter trên thanh công cụ (hoặc kích phải chuột / Remove Filter).   Sử dụng lọc Filter By Form    Chức năng: Lọc những bản ghi thỏa mãn nhiều giá trị mà ta lựa chọn trên nhiều cột (thỏa mãn nhiều điều kiện).      Bước 1: vào thực đơn Records/ Filter/ Filter By Form (hoặc chọn biểu tượng Filter By Form trên thanh công cụ)       Bước 2: chọn giá trị cần lọc trên từng cột của bảng/Apply Filter   Sử dụng lọc Advanced Filter/Sort Cho phép ta lọc dữ liệu và sắp xếp bằng cách sử dụng các phép toán (toán tử)      Bước 1: Chọn Records/ Filter/ Advanced Filter Sort ... xuất hiện   Field: Chọn trường cần lọc hoặc sắp xếp.   Sort: Chọn kiểu sắp xếp.   Criteria: nhập điều kiện lọc.   Or: Nhập điều kiện lọc hoặc.      Bước 2: Chọn Filter/ Apply Filter /Sort hoặc chọn Apply Filter trên thanh công cụ   6. Sao chép, xóa, đổi tên Table trong CSDL Phải đóng các Table cần thực hiện và trở về cửa sổ Database 6.1. Sao chép   Bước 1: chọn Table   Bước 2: vào thực đơn Edit/Copy   Bước 3: vào thực đơn Edit/Paste xuất hiện hộp thoại Hình 2.9: Hộp thoại sao chép bảng.   Table Name: đặt tên Table mới (hoặc chọn bảng đích để nối dữ liệu)   Paste Option: chọn dạng sao chép   Structure Only: chỉ lấy cấu trúc Table   Structure and Data: lấy cấu trúc Table và cả dữ liệu   Append Data to Existing Table: thêm dữ liệu vào cuối Table đích.  6.2. Đổi tên   Bước 1: chọn Table   Bước 2: vào thực đơn Edit/Rename (hoặc phải chuột/Rename)   Bước 3: gõ tên mới/Enter.  6.3. Xoá Table   Bước 1: chọn Table   Bước 2: chọn các cách sau Cách 1: phải chuột/ Delete Cách 2: nhấn phím Delete trên bàn phím Bước 3: xác nhận Yes để xoá. Bài 2.3: Table - Bảng dữ liệu (phần 3 - tiếp)   7.           Quan hệ giữa các bảng – Relationship   Với những cơ sở dữ liệu được tổ chức cẩn thận và bài bản, thường thì sau khi thiết kế xong cấu trúc cho các table, người ta quy định luôn mối quan hệ giữa các table này.   Khi tạo mối quan hệ thì tính nhất quán dữ liệu sẽ được đảm bảo và các bảng có thể bổ xung thông tin cho nhau. Để dễ hiểu ta xét quan hệ giữa hai Table    a. Mối quan hệ một – một Table A có quan hệ một – một với Table B nếu một giá trị trên trường quan hệ của Table A chỉ xuất hiện một lần trên trường quan hệ của Table B và ngược lại.  b. Mối quan hệ một – nhiều Table A có quan hệ một – nhiều với Table B nếu một giá trị trên trường quan hệ của Table A có thể xuất hiện nhiều lần trên trường quan hệ của Table B nhưng giá trị trên trường quan hệ của Table B chỉ xuất hiện một lần trên trường quan hệ của Table A.  c. Mối quan hệ nhiều – nhiều  Mối quan hệ này thể hiện rằng một giá trị trên trường quan hệ của Table A có thể xuất hiện nhiều lần trên trường quan hệ của Table B và ngược lại. Nếu trong thực tế có mối quan hệ này khi triển khai mô hình CSDL quan hệ phải tách ra làm hai quan hệ một – nhiều bằng cách tạo ra Table thứ ba.  Ví dụ:  ta có hai bảng gồm các trường sau: SinhVien ( MaSV, TenSV, NgaySinh , QueQuan, Khoa ) MonHoc ( MaMH, TenMH, SoTiet ) Hai bảng này có quan hệ nhiều - nhiều vì “Một sinh viên phải thi nhiều môn học và một môn học có nhiều sinh viên đăng ký thi” Ta tạo Table thứ ba để giải toả mối quan hệ nhiều - nhiều như sau: KETQUATHI (MaSV, MaMH, Diem)  7.1. Tạo dây quan hệ Bước 1: Hiện hộp thoại Relationships Cách 1: Vào thực đơn Tools/Relationships Cách 2: Chọn biểu tượng thanh công cụ  Bước 2: Hiện hộp thoại Show Table Cách 1: Relationships/ Show Table... Cách 2: Chọn biểu tượng trên thanh công cụ Hình 2.10: Màn hình thêm các Table vào cửa sổ quan hệ. Add: để bổ xung thêm Table vào quan hệ Close: đóng cửa sổ Show Table. Hình 2.11: Các bảng trong file CSDL  TuyenSinh.mdb.   Bước 3: Đặt quan hệ giữa 2 bảng (dùng phương pháp kéo thả) Xuất hiện hộp thoại Edit Relationships Hình 2.12: Cửa sổ tạo các ràng buộc cho quan hệ Enfore Referential Integrity ép buộc tính toàn vẹn tham chiếu: đảm bảo sự đúng đắn của dữ liệu. Cascade Update Related Fields: Cập nhật liên hoàn: khi ta thay đổi giá trị của khoá chính thì giá trị tương ứng trong tất cả các bảng liên hệ với nó cũng tự động thay đổi theo. Cascade Delete Related Records: Xoá liên hoàn: bản ghi ở bảng chính bị xoá thì các bản ghi ở các bảng liên hệ cũng bị xoá theo. Lưu ý: Các chức năng Cascade Update Related Fields, Delete Related Records chỉ có thể sử dụng được nếu ta chọn Enfore Referential Integrity. Relationdhips Type: loại quan hệ One to One: là quan hệ một – một One to Many: là quan hệ một – nhiều Chú ý: Nếu là quan hệ có ép buộc tính toàn vẹn tham chiếu thì dây quan hệ sẽ có biểu diễn loại quan hệ (có đầu mút), còn nếu không thì dây quan hệ sẽ là đường trơn không có biểu diễn loại quan hệ (không có đầu mút).   Bước 4: Chọn nút lệnh Create. Hình 2.13: Các quan hệ trong file CSDL TuyenSinh.mdb. 7.2. Sửa dây quan hệ Cách 1: Nhấn đúp chuột tại dây quan hệ Cách 2: Nhấn phải chuột tại dây quan hệ / Edit Relationship... 7.3. Xoá dây quan hệ Cách 1: Chọn dây quan hệ / nhấn phím Delete Cách 2: Phải chuột dây quan hệ / Delete.   8.          Các phép toán  8.1. Các phép toán số học Chú ý:  Thứ tự ưu tiên của các phép toán là lũy thừa, nhân, chia, chia lấy nguyên, cộng, trừ. Ngoài ra có thể sử dụng dấu ( ) để thay đổi thứ tự ưu tiên.   8.2. Các phép toán so sánh Chú ý:  Đối với giá trị kiểu Date/Time thì ngày sau lớn hơn ngày trước. Các phép toán so sánh tạo nên biểu thức Logic cho kết quả True (-1) hoặc False (0)   8.3. Các phép toán Logic: AND, OR, NOT X Y X AND Y X OR Y NOT (X) -1 -1 -1 -1 0 -1 0 0 -1 0 0 -1 0 -1 -1 0 0 0 0 -1 Chú ý: Thứ tự ưu tiên của các phép toán Logic là NOT -> AND -> OR. Ngoài ra có thể sử dụng dấu ( ) để thay đổi thứ tự ưu tiên.   8.4. Phép toán ghép chuỗi    Cú pháp: & Ví dụ:  “Chao cac ban ” & ” hoc vien, sinh vien SaraCenter” trả về chuỗi “Chao cac ban hoc vien, sinh vien SaraCenter” Chú ý: Nếu thay phép toán & bằng phép toán + thì có thể cho kết quả sai trong một số trường hợp.    8.5. Phép lấy mẫu    Cú pháp:  LIKE  So sánh chuỗi dữ liệu với mẫu dữ liệu được chỉ sau LIKE Các kí tự đại diện sử dụng trong mẫu dữ liệu *: đại diện cho nhiều kí tự ?: đại diện cho một kí tự #: đại diện cho một chữ số (từ 0 đến 9)   Ví dụ: Tìm những thí sinh có tên bắt đầu bằng kí tự “H” LIKE “H*” trả kết quả “Hữu”, “Hạnh”, “Hương”,...  Ví dụ: Tìm những thí sinh có tên không bắt đầu bằng kí tự “T” NOT LIKE “T*”  8.6. Phép toán BETWEEN...AND...    Cú pháp:  BETWEEN AND  Lấy giá trị trong đoạn từ giá trị 1 đến giá trị 2 Ví dụ:  BETWEEN 1 AND 10 Û >=0 AND <=10 BETWEEN #01/01/1982# AND #30/12/1982# Û >= #01/01/1982# AND <= #30/12/1982#   8.7. Phép toán IN    Cú pháp:  IN (, ,..., )  Lấy giá trị rời rạc hoặc ,..., Ví dụ: IN(1,3,4,5) Û 1 OR 2 OR 4 OR 5 IN(“Hà Nội”, “Thái Bình”,”Hà Tây”) Û “Hà Nội” OR “Thái Bình” OR ”Hà Tây” NOT IN (“Hà Nam”, “Hải Phòng”) Û “Hà Nam” AND “Hải Phòng”.    8.8. Phép toán IS NULL Để lấy những giá trị rỗng (không có dữ liệu)   Ví dụ: Chọn ra những thí sinh chưa có thông tin về khu vực MaKV is null Chú ý chung: Giá trị của kiểu Text nằm trong dấu nháy kép “…” Giá trị của kiểu Date/Time nằm trong dấu thăng #… # Có thể kết hợp các toán tử Logic với các toán tử khác như: Not Like, Not Between, Not In, Is Not Null,... Chương 3: Query - Truy vấn I.   Khái niệm Là công cụ khá đặc trưng của MS Access, đáp ứng các yêu cầu giúp cho người sử dụng tính toán xử lý và khai thác dữ liệu trên CSDL dưới nhiều hình thức. Số liệu thì được lưu trữ trên Table, còn Query là công cụ để tìm và nhìn số liệu dưới nhiều góc độ khác nhau. Query dùng để tạo ra nguồn số liệu cơ sở cho các thành phần khác như: Form, Report kể cả một Query khác, thậm chí tạo ra một Table. Có 2 phương thức tạo Query           Thiết kế thông qua cửa sổ đồ hoạ QBE (Query By Example) Hình 3.1: Truy vấn thông tin các thí sinh KV1.               Viết bằng lệnh SQL (Structured Query Language) Hình 3.2: Truy vấn thông tin các thí sinh KV1.  Tuỳ theo kết quả cho ra bởi Query, người ta phân ra các loại sau:   1. Select Query: Dùng để chọn dữ liệu trên các bảng Được sử dụng rất phổ biến, trong một chừng mực nào đó nó gần giống Filter nhưng tính năng cao hơn một mức. Vì nó có khả năng: Vấn tin trên nhiều Table Tạo thêm các trường tính toán Tóm lược và kết nhóm số liệu (Total Query) Chọn các trường cần hiện hoặc ẩn, trình bày số liệu theo một trật tự mới theo yêu cầu đặt ra Tạo ra truy vấn hỏi đáp tại thời điểm chạy Query   Các bước tạo Query  Muốn tạo Select Query thì trong CSDL phải có Table chứa dữ liệu rồi. Nếu truy vấn trên nhiều bảng thì phải thiết lập quan hệ giữa các bảng (RelationShips) Ta có thể tạo Select Query bằng các cách   Simple Query Wizard: có trợ giúp.   Design View: tự thiết kế. Chú ý:muốn tạo truy vấn ta phải vào Queries trên thanh Objects để tạo.    1.1. Simple Query Wizard Ta chỉ cần chọn bảng chứa các trường tham gia truy vấn theo các bước mà Wizard hướng dẫn. Cách 1: chọn Create query by using wizard trong cửa sổ Database Cách 2: New/ Simple Query Wizard.  Hình 3.3: Cửa sổ tạo mới Query.  Bước 1: Xác định các trường tham gia vào truy vấn Hình 3.4: Cửa sổ chọn các trường tham gia truy vấn.  Tables/Queries: chọn Table hoặc Query chứa trường cần lấy Available Fields: liệt kê các trường có trong Table hoặc Query  Nhấn nút đưa một trường đã chọn Nhấn nút đưa tất cả các trường Nhấn nút bỏ một trường Nhấn nút bỏ tất cả các trường  Selected Fields: liệt kê các trường tham gia truy vấn (hiển thị khi chạy truy vấn) Nhấn nút lệnh Next để chuyển tới bước sau Chương 3: Query - Truy vấn( phần 2 - tiếp )   Bước 2: Lựa chọn việc hiển thị Hình 3.5: Cửa sổ chọn cách hiển thị dữ liệu.  Chọn Detail: nếu muốn hiển thị chi tiết toàn bộ giá trị các trường đã chọn Chọn Sumary: nếu muốn thực hiện thống kê trên trường dữ liệu. Sau đó nhấn nút Summary Option... để chọn các chỉ tiêu thống kê Sum: tính tổng giá trị của trường Avg: tính giá trị trung bình của trường Min: lấy giá trị nhỏ nhất của trường Max: lấy giá trị lớn nhất của trường Count: đếm số Record  Chú ý: chỉ xuất hiện nếu truy vấn trên trường có kiểu Number Nhấn nút lệnh Next để chuyển tới bước sau   Hình 3.6: Các khoảng thời gian tổng kết.  Unique date/time: tổng kết (nhóm) theo ngày/giờ Day: tổng kết theo ngày Month: tổng kết theo tháng Quater: tổng kết theo quý (3 tháng) Year: tổng kết theo năm  Chú ý: chỉ xuất hiện nếu truy vấn trên trường có kiểu Date/Time  Bước 3: Đặt tên cho Query kết quả rồi nhấn chọn nút Finish. Trong Access còn có các loại Query Wizard khác sau:     Find Duplicates Query Wizard Chức năng: tìm các Record trùng lặp giá trị trên một số trường nào đó Ví dụ: tìm những bộ điểm giống nhau.   Find Unmatched Query Wizard Chức năng: tìm các Record trong một bảng không có trong bảng khác Ví dụ: tìm những khu vực không có thí sinh dự thi.    1.2. Design View Cho phép ta có thể tự tạo mới một Query bằng màn hình đồ họa (cửa sổ QBE)     Cách 1: chọn Create Query in Design View.     Cách 2: New/ Design View Bổ xung thêm các bảng cần truy vấn từ hộp thoại Show Table Hình 3.7: Cửa sổ đưa các Table chứa các trường tham gia truy vấn. Hình 3.8: Cửa sổ thiết kế Query. Field: chọn trường cần hiển thị. Table: hiện bảng của trường được chọn. Sort: sắp xếp các bản ghi. Ascending: sắp xếp theo thứ tự tăng dần Descending: sắp xếp theo thứ tự giảm dần Not sorted: không sắp xếp Show: ẩn hoặc hiện dữ liệu của trường trong bảng khi trạy truy vấn (nếu ẩn thì trường đó để xây dựng biểu thức điều kiện). Criteria: dòng để thành lập biểu thức điều kiện. Or: dòng để thành lập biểu thức điều kiện hoặc. Chú ý: Trên cùng một dòng điều kiện là đồng thời (AND), khác dòng điều kiện là hoặc (OR). Ta có thể chạy truy vấn bằng các cách sau: Cách 1: chọn Query/Open. Cách 2: chọn Query/ Enter Cách 3: vào thực đơn View/ DataSheet View. Chương 3: Query - Truy vấn( phần 3 - tiếp )   Đổi tên của tiêu đề cột Cú pháp: Tên mới: Tên cũ Ví dụ: DiemToan: [DToan] Tạo các cột (trường) tính toán Cú pháp Tên trường mới: Biểu thức Ví dụ: Tien: [SoLuong]*[DonGia] Ví dụ: HoTen: [HoDem]&” ”&[Ten] Chú ý chung: Tên trường trong Access phải được đặt trong dấu ngoặc vuông [ ] Ví dụ:  [Ho Ten] Nếu tên trường xuất hiện trên nhiều bảng, khi sử dụng phải chỉ rõ nó nằm ở bảng nào theo cú pháp sau: [Tên bảng]![Tên trường] Ví dụ: [HoSo]![SoBD], [DiemTS]![SoBD] Khi phải xây dựng biểu thức phức tạp, ta nên sử dụng cửa sổ Expression Builder bằng các cách sau:  Cách 1: Kích phải chuột vào vùng cần xây dựng biểu thức/ Build...  Cách 2: Chọn biểu tượng trên thanh công cụ. Hình 3.9: Cửa sổ xây dựng biểu thức.   a. Query có tham số      Khi ta muốn truy vấn với điều kiện động hơn (không cố định, tức là tại thời điểm chạy ta mới nhập giá trị cho nó). Để thực hiện điều đó ta thực hiện truy vấn hỏi đáp như sau: Cú pháp: [Lời nhắc] Hình 3.10: Xây dựng truy vấn hỏi đáp.  Xuất hiện hộp thoại hỏi đáp sau:  Ta nhập điều kiện khác nhau cho kết quả khác nhau.  Hình 3.11: Màn hình hiển thị kết quả truy vấn. Chú ý: Ta có thể truyền tham số lấy từ giá trị của đối tượng điều khiển trên Form như sau: (tham chiếu tới điều khiển trên Form) Forms![Tên Form]![Tên điều khiển]   b. Query thống kê (Total Query)  Nhiều khi ta cần thống kê trên các trường dữ liệu của bảng như:   Đếm xem mỗi khu vực có bao nhiêu thí sinh.   Đưa ra tổng điểm cao nhất của từng khu vực.  Thống kê theo khu vực  Để làm được việc đó ta phải sử dụng các lựa chọn trong chức năng Totals.  Sum: Tính tổng các giá trị trong trường. Avg: Tính trung bình cộng các giá trị trong trường. Max: Tìm giá trị lớn nhất. Min: Tìm giá trị nhỏ nhất. Count: Đếm các bản ghi của bảng trên trường dữ liệu. Expression: Xây dựng biểu thức. Group By: Kết nhóm giá trị giống nhau trong trường. First: Lấy giá trị của bản ghi đầu trong bảng. Last: Lấy giá trị của bản ghi cuối trong bảng. StDev: Tìm độ lệnh chuẩn Var: Tìm phương sai Where: Điều kiện lọc trước khi nhóm dữ liệu Hình 3.13: Màn hình thiết kế truy vấn thống kê theo khu vực. Chú ý: truy vấn thống kê thường tạo ra trường mới Chương 3: Query - Truy vấn( phần 4 - tiếp )   2. Crosstab Query   Chức năng: Dùng để thống kê dữ liệu ở dạng đường chéo (kết nhóm số liệu theo dạng hàng cột) của một bảng dữ liệu Để truy vấn trên dữ liệu của nhiều Table thường phải tạo một Select Query làm cơ sở (truy vấn cấp 1). Ví dụ:  Thống kê số lượng thí sinh nam, nữ theo từng khu vực  Hình 3.14: Màn hình hiển thị kết quả truyvấn. Để sử dụng được truy vấn Crosstab Query ta cần tối thiểu 3 trường thể hiện dữ liệu     Một trường dùng làm tiêu đề hàng (Row Heading)    Một trường dùng làm tiêu đề cột (Column Heading)    Một trường để thống kê giá trị (Value). Có 2 cách tạo Cách 1: CrossTab Query Wizard Cách 2: Design View Các bước tạo Bước 1: New/ Design View/chọn Table/Query Bước 2: Mở Query/ CrossTab Query (hoặc chọn biểu tượng Query Type trên thanh công cụ). Tại Field: chọn 3 trường cần truy vấn. Tại Total: đối với hai trường làm tiêu đề hàng và cột ta chọn Group by. Đối với trường cần thống kê dữ liệu ta chọn các hàm thống kê Tại Crosstab: chọn một trường Row Heading, một trường Column Heading. Đối với cột cần thống kê dữ liệu chọn Value. Hình 3.15: Màn hình thiết kế truy vấn thống kê nam, nữ theo khu vực.  Chú ý: Khi chạy các truy vấn Select Query, Crosstab Query thì chúng ta thấy kết quả trả lại là một bảng dữ liệu.    3. Action Query (truy vấn hành động) Đây là loại truy vấn mà nó sẽ tạo ra sự thay đổi dữ liệu trong Table. Vì vậy muốn xem được kết quả của nó ta phải vào thành phần (ngăn) Tables.  Truy vấn hành động gồm các loại sau:  3.1. Make Table Query Chức năng: Tạo ra một bảng dữ liệu mới, có tính dự phòng trích rút dữ liệu từ một hoặc nhiều bảng có quan hệ với nhau trong một CSDL, thoả mãn những điều kiện nào đó.   Bước 1: Dùng Select Query để tạo ra bảng dữ liệu thoả mãn điều kiện.   Bước 2: Vào Query/ Make-Table Query… (hoặc chọn biểu tượng trên thanh công cụ Query Type / Make-Table Query).  Hình 3.16: Hộp thoại tạo bảng mới. Table Name: nhập tên bảng Current Database: lưu trong CSDL hiện thời Another Database: lưu sang CSDL khác (ở File Name gõ đường dẫn tới CSDL khác). Ví dụ:  dùng Make-Table Query tạo ra Table LuuDiem gồm các trường HoDem, Ten, NgaySinh, NoiSinh, MaKV, TongDiem.   3.2. Update Query  Chức năng: Dùng để sửa đổi hàng loạt dữ liệu trong các trường của Table theo điều kiện xác định. Bước 1: Chọn bảng rồi chọn các trường cần sửa DL hoặc tham gia vào biểu thức điều kiện Bước 2: Mở Query/ Update Query (hoặc chọn biểu tượng Query Type/ Update Query trên thanh công cụ).   Tại Field: chọn trường cần tính toán.   Tại Update to: nhập công thức cần cập nhật cho trường.   Tại Criteria: nhập điều kiện cần cập nhật.. Chú ý: Nếu không xác định điều kiện thì tất cả dữ liệu trong trường sẽ bị sửa. Ví dụ:  Cộng thêm 2.5 điểm vào cột TongDiem trong Table LuuDiem cho các thí sinh ở KV3.    3.3. Delete Query Chức năng: Dùng để xoá các bản ghi trong bảng dữ liệu, thoả mãn các điều kiện đề ra.   Bước 1: Chọn bảng rồi chọn các trường tham gia vào biểu thức điều kiện ( thành lập biểu thức điều kiện để xoá các bản ghi)   Bước 2: Chọn Query/ Delete Query (hoặc chọn biểu tợng Query Type/ Delete Query ). Chú ý: Nếu không xác định điều kiện thì tất cả dữ liệu trong bảng sẽ bị xóa. Ví dụ:  Xoá tất cả các thông tin của các thí sinh ở KV1 trong Table LuuDiem.    3.4. Append Query Chức năng: Dùng để ghép nối các bản ghi của hai bảng dữ liệu có cùng cấu trúc, thoả mãn những điều kiện nào đó. Bước 1: Tạo truy vấn chọn trên các bảng dữ liệu nguồn. Bước 2: Chọn Query/ Append Query (hoặc chọn biểu tượng Query Type/ Append Query). Bước 3: Chọn bảng dữ liệu đích tại hộp thoại Append. Hình 1.5: Hộp thoại khai báo bảng đích. Chương 3: Query - Truy vấn(phần cuối)   II. Một số hàm trong Access   1- Hàm xử lý dữ liệu Text Lcase(Text): chuyển thành dạng chữ thường Ví dụ:  Lcase(“CHao cac Ban”) = “chao cac ban”. Ucase(Text): chuyển thành dạng chữ hoa Ví dụ:  Ucase(“CHao cac Ban”) = “CHAO CAC BAN”. Len(Text): trả về số kí tự có trong xâu Ví dụ:  Len(“Chao cac ban”) = 12 Left(Text, N): lấy N ký tự bên trái xâu Ví dụ:  Left(“Chao cac ban”,3) = “Cha” Right(Text, N): lấy N ký tự bên phải xâu Ví dụ:  Right(“Chao cac ban”, 7) = “cac ban” Mid(Text, I, N): Lấy N ký tự từ vị trí I của xâu. Ví dụ:  Mid(“Chao cac ban”, 4,9) = “o cac ban” InStr(Text1, Text2): trả về vị trí xuất hiện của xâu Text2 trong xâu Text1 Ví dụ:  InStr (“Khoa”, “ho”) = 2 InStr (“Khoa”, “o”) = 3 InStr (“Khoa”, “ha”) = 0 (không xuất hiện) Space(N): tạo xâu chứa N dấu cách Ltrim(Text): bỏ ký tự trống bên trái xâu Ví dụ:  Ltrim(“ Chao cac ban”) = “Chao cac ban” Rtrim(Text): bỏ ký tự trống bên phải xâu Ví dụ: Rtrim(“ Chao cac ban ”) = “ Chao cac ban” Val(Text): đổi xâu dạng số về số. Ví dụ:  Val(“123”) =123 Chú ý: Đối số là dữ liệu xác định, hoặc tên trường, biểu thức có kiểu Text.   2- Hàm xử lý dữ liệu Number  Abs(Number): trị tuyệt đối Ví dụ:  Abs(-7) = 7  Fix(Number): trả về số nguyên Ví dụ:  Fix(6.78) = 6 Fix(-6.78) = -6  Int(Number): trả về số nguyên không vượt qua nó. Ví dụ: Int(6.78) = 6 Int(-6.78) = -7  Sqr(Number): trả về căn bậc hai Ví dụ:  Sqr(4) = 2  Sgn(Number): kiểm tra dấu Trả về giá trị = 1: là số dương Trả về giá trị = 0: là số âm Ví dụ:  Sgn(-2) = 0 Sgn (8) = 1  Str(Number): chuyển số thành xâu Ví dụ:  Str(9.5) = “9.5”  Format(Number,”định dạng”): định dạng rồi trả về kiểu xâu “0.00”: định dạng 2 chữ số thập phân “0.000”: định dạng 3 chữ số thập phân Ví dụ:  Format(9.582, ”0.00”) = “9.58”. Chú ý:  Đối số là dữ liệu xác định, hoặc tên trường, biểu thức có kiểu Number.    3- Hàm xử lý dữ liệu Date/Time Day(Date/Time): trả về ngày Ví dụ:  Day(#22/05/2004#) = 22  Month(Date/Time): trả về tháng Ví dụ:  Month(#22/05/2004#) = 5  Year(Date/Time): trả về năm Ví dụ:  Year(#22/05/2004#) = 2004  Weekday(Date/Time): trả về kết quả là một số từ 1 – 7 biểu thị ngày trong tuần  Format(Date/Time,'định dạng'): định dạng rồi trả về kiểu xâu Ví dụ:  Format(#22/05/2004#, ”mm – yyyy”) = “05 – 2004” Chú ý:  Đối số là dữ liệu xác định, hoặc tên trường có kiểu Date/Time  Date(): trả về ngày tháng năm hiện tại của hệ thống  Now(): trả về ngày tháng năm giờ hiện tại của hệ thống  Time(): trả về giờ hiện tại của hệ thống Chú ý:  Hàm Time(), Date(), Now() không có đối số   4- Các hàm thống kê Ta kí hiệu Expr: biểu thức  Sum(Expr): Tính tổng các giá trị trong biểu thức. Tính tổng số tiền Ví dụ:  Sum([SoLuong]*[DonGia]) hay Sum([ThanhTien])  Avg(Expr): Tính trung cộng các giá trị trong biểu thức. Tính trung bình của tổng điểm Ví dụ:  Avg([TongDiem]) hay Avg([DToan] + [DLy] + [DHoa])  Max(Expr): lấy giá trị lớn nhất. Lấy tổng điểm cao nhất Ví dụ: Max([TongDiem])  Min(Expr): lấy giá trị nhỏ nhất.  Count(Expr): đếm các bản ghi của trường được chọn (không đếm bản ghi rỗng).    5- Hàm lựa chọn    IIF (Điều_kiện, Giá_trị_1, Giá_trị_2) Trả về Giá_trị_1: nếu điều kiện đúng Giá_trị_2: nếu điều kiện sai Ví dụ:  IIF (X mod 2 = 0, “Số chẵn”, “Số lẻ”) IIF ([TongDiem] < 19, “Trượt”, “Đỗ”)    6- Hàm kiểm tra dạng dữ liệu  IsNull (X): kiểm tra X có rỗng không True: rỗng False: không rỗng  IsNumeric (X): kiểm tra X có phải dạng số không True: là dạng số False: không phải dạng số Ví dụ:  IsNumeric(10)= True IsNumeric(“Hello”)= False  IsDate (X): kiểm tra X có phải dạng ngày tháng không True: là dạng ngày tháng False: không phải dạng ngày tháng. Chương 4: form – mẫu biểu     Khái niệm Được dùng vào mục đích thân thiện hoá thao tác nhập liệu, trên Form ta có thể sửa và xoá dữ liệu được lưu trữ trong các bảng. (Form là một cửa sổ, cho phép ta thể hiện dữ liệu bằng các công cụ điều khiển đồ hoạ một cách trực quan). Ngoài ra Form còn tổ chức giao diện của chương trình gồm thanh thực đơn, các nút lệnh điều khiển việc thực hiện ứng dụng.    Các dạng Form                  Single Column: mẫu biểu dạng cột.  Hình 4.1: Mẫu biểu thể hiện dữ liệu Table KhuVuc.                    Tabular: mẫu biểu dạng bảng. Hình 4.2: Mẫu biểu thể hiện dữ liệu Table DiemTS.     Main/Subform: trong một Form có chứa một Form khác gọi là Subform cho phép cùng lúc hiển thị, cập nhật dữ liệu của nhiều bảng. Hình 4.3: Mẫu biểu thể hiện dữ liệu của Table KhuVuc và Table DiemTS.   Trong MS Access  Design View: mẫu biểu trắng, tự ta phải thiết kế. Form Wizard: Tạo các dạng mẫu biểu theo sự hướng dẫn của Access. Người dùng có thể quyết định một số đặc trưng của Form Các trường thể hiện trên Form Hình thức trình bày Các hiển thị dữ liệu... Auto Form: tạo mẫu biểu tự động Ta chỉ cần chọn Table hoặc Query nguồn. Access sẽ tự động thực hiện mọi thao tác kế tiếp.  Columnar: mẫu biểu dạng cột Tabular: mẫu biểu dạng bảng DataSheet: mẫu biểu dạng bảng đường lưới   Chart Wizard: tự động tạo biểu đồ thể hiện dữ liệu trong cơ sở dữ liệu. Quyết định một số tham số: Thông tin trục tung, trục hoành Hình thức của biểu đồ.     Pivot Table Wizard: cho phép đưa bảng tính Excel, có thể tính toán khi đang làm việc trên Form.  Các loại Form   Mẫu biểu dữ liệu: hiển thị dữ liệu trong Table hoặc Query.   Mẫu biểu hội thoại: hỏi đáp, tìm kiếm dữ liệu theo điều kiện.   Tạo Form Wizard Cách 1: New/Form Wizard Cách 2: Chọn Create form by using wizard. Hình 4.4: Cửa sổ tạo mới Form. Chương 4: form – mẫu biểu(phần 2 - tiếp) Hình 4.6: Cửa sổ chọn các kiểu liên kết.  Form with subforms: tạo Form phụ nằm trong Form chính Liked forms: tạo Form độc lập được liên kết qua nút lệnh.  Tạo Form Design View   1. Các thành phần của Form Form Header: tiêu đề trên của Form.(Thường chứa các Label) Detail: phần chính của Form. Đây là phần lặp lại với mỗi bản ghi (Thường chứa các Label, Text Box) Muốn dữ liệu thể hiện ở dạng cột ta dàn dọc các đối tượng điều khiển, còn muốn thể hiện ở dạng bảng ta dàn ngang các đối tượng điều khiển. Form Footer: tiêu đề dưới của Form. (Thường chứa các nút lệnh hay các ô dữ liệu tính toán thống kê ) Page Header: tiêu đề trên của trang khi in Form. Page Footer: tiêu đề dưới của trang khi in Form. Hình 4.7: Cửa sổ Form ở chế độ thiết kế (Design).  Chú ý:  Tiêu đề trang không xuất hiện khi chạy Form. Để bật/ tắt các thành phần của Form ta vào Menu View: Form Header/ Footer: bật/ tắt tiêu đề của Form. Page Header/ Footer: bật/ tắt tiêu đề của trang khi in Form.   2. Một số thuộc tính của Form     Để thay đổi thuộc tính của Form ta thực hiện các cách sau: Cách 1: kích phải chuột lên tiêu đề của Form/ Properties. Cách 2: vào thực đơn View/ Properties.   a. Record Source Dùng để chọn nguồn dữ liệu: có thể là Table hoặc Query chứa các trường cần hiển thị trên Form.    b. Thuộc tính Default View   Dùng thể hiện các dạng Form :   Single Form: hiện một bản ghi trên Form.   Continuous Form: hiện nhiều bản ghi trên Form.   Datasheet: hiện các bản ghi lên form như một bảng dữ liệu.    c. Các thuộc tính khác của Form  Auto Center: Form mở ra nằm ở vị trí giữa màn hình. Auto Resize: Form mở ra luôn trở về kích thước thiết lập ban đầu. Caption: đặt tiêu đề cho Form. Scroll Bars: bật/ tắt thanh cuộn cho Form. Record Selections: bật/ tắt công cụ để chọn các bản ghi (bên trái Form).           Navigation Buttons: bật/ tắt công cụ chứa các nút di chuyển và thêm các bản ghi. Dividing Lines: bật/ tắt đường lới ngăn cách các thành phần của Form. Control Box: bật/ tắt các nút điều khiển Form (thu nhỏ, phóng to, đóng,...) Picture: ảnh nền của Form Popup: Form được mở luôn nằ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: thực đơn ngang xuất hiện khi mở Form Toolbar: thanh công cụ xuất hiện khi mở Form Shortcut menu bar: thực đơn hiện khi nhấn chuột phải    3. Định dạng Font, Size, Color cho các đối tượng Chọn đối tượng trên Form cần định dạng (đề phím Shift để chọn nhiều đối tượng cùng lúc). Cách 1: vào Menu View để bật thanh Formatting (Form/ Report). Cách 2: thay đổi trực tiếp thuộc tính định dạng trong cửa sổ Properties. Ví dụ: một số thuộc tính trong thẻ Format Back Color: mầu nền Force Color: mầu chữ   Font Name: chọn font chữ Font Size: chọn cỡ chữ.    4. Các đối tượng điều khiển trên Form Hình 4.8: Các công cụ trên Toolbox. Ý nghĩa của các công cụ Select Objects: chọn đối tượng (đối tượng điều khiển) Command Wizard: bật/tắt chức năng trợ giúp Label: hộp nhãn (tiêu đề chú giải) Text box: hộp dữ liệu (chứa dữ liệu của trường hay kết quả của một biểu thức tính toán) Option Group: tạo một nhóm các giá trị để lựa chọn Toggle Button: dạng nút bập bênh Option Buton: nút chọn Check Box: hộp kiểm Combo Box: hộp dữ liệu (hộp liệt kê thả) List Box: hộp danh sách (hộp liệt kê) Command Buton: nút lệnh Image: chèn hình ảnh Unbound Object Frame: chèn đối tượng dạng OLE (không buộc dữ liệu) Bound Object Frame: chèn đối tượng dạng OLE (có buộc dữ liệu) SubForm/Subreport: chèn Form phụ Page Break: dấu ngắt trang Tab Control: tạo các trang (thẻ) Line: vẽ đường thẳng Rectangle: vẽ hình chữ nhật More Controls: chèn đối tượng ActiveX.  Để đặt một đối tượng điều khiển lên Form ta phải bật hộp công cụ Tool Box:   Cách 1: vào thực đơn View/ Tool Box   Cách 2: chọn biểu tượng trên hộp công cụ Chú ý  Hộp công cụ chỉ xuất hiện ở chế độ Form Design Muốn thể hiện dữ liệu bằng đối tượng điều khiển đồ hoạ nào đó, ta kéo đối tượng từ hộp Tool Box lên Form. Nếu không thấy đối tượng đó ta chọn biểu tượng . Chương 4: form – mẫu biểu(phần 3 - tiếp)    4.1. Đối tượng Text Box   Đây là đối tượng điều khiển gồm cả 3 loại:  Unbound: không buộc (không có nguồn dữ liệu khai báo ở Control Source)  Bound: bị buộc (có nguồn dữ liệu khai báo ở Control Source)  Calculated Control: giá trị của nó được tính toán qua biểu thức. Thiết lập Biểu thức theo cú pháp sau ở thuộc tính Control Source = Biểu thức Ví dụ: giả sử ta có hai trường dữ liệu trong bảng đã được kéo vào Form là Đơn giá, Số lượng ứng với hai Text Box có tên TxtDonGia và TxtSoLuong. Để tính Thành tiền bằng một Text Box ta phải nhập công thức sau trong thuộc tính  Control Source = [TxtDonGia]*[TxtSoLuong]  Trong trường hợp muốn buộc dữ liệu vào trường của bảng hoặc truy vấn ta có các cách sau: Cách 1: để đặt một trường vào đối tượng Text Box ta đưa tên trường vào thuộc tính Control Source trong bảng Properties. Cách 2: lấy các trường nằm trong hộp Field List. Để bật/ tắt hộp Field List ta vào View/ Field List (hoặc chọn biểu tượng trên thanh công cụ). Hình 4.9: Gắn trường dữ liệu cho Text Box.   4.2. Đối tượng Command Button Nút lệnh là một đối tượng điều khiển hữu dụng, bên trong nó có chứa các hành động. Ta chỉ quan tâm cách tạo Command Button bằng công cụ Control Wizard (có sẵn các hành động của nút lệnh). Bước 1: Bật chức năng Control Wizard trên hộp công cụ Tool Box. Bước 2: Đưa nút lệnh Command Button trong hộp Tool Box vào Form Theo hướng dẫn của Wizard như sau:  Hình 4.10: Chọn các hành động của Command Button. Categories: chọn các mục (chủng loại) Actions: liệt kê các hành động trong từng mục cụ thể. Giả sử ta chọn hành động Close Form trong Form Operation để đóng mẫu biểu hiện thời Nhấn Next để sang bước tiếp theo Hình 4.11: Chọn cách hiển thị trên nút lệnh. Text: gõ kí tự hiển thị trên nút lệnh Picture: chọn biểu tượng (hình ảnh) hiển thị trên nút lệnh Chọn Show All Pictures liệt kê các biểu tượng có sẵn trong Access Chọn nút Browse... để chọn các biểu tượng khác. Nhấn Next để sang bước tiếp theo Hình 4.12: Đặt tên cho nút lệnh.  Chọn nút lệnh Finish để kết thúc.   Các thuộc tính của nút lệnh Name: tên của nút lệnh Caption: tiêu đề cho nút bằng chữ. Picture: đặt một ảnh nền cho nút.    Các thuộc tính sự kiện (Event) của nút lệnh On Enter: sự kiện khi nhấn phím Enter. On Click: sự kiện khi kích chuột. On Dbl Click: sự kiện khi kích đúp chuột.  Các sự kiện trên có thể nhận các đối số Event Procedure: chạy một thủ tục mã lệnh. Macro: chạy một Macro. = Hàm(danh sách đối số): chạy một hàm (Function). Để kích hoạt nút lệnh bằng phím tắt Alt + ký tự bất kỳ, ta thêm vào trước ký tự đó dấu & trong thuộc tính Caption của nút.   Dưới đây là bảng liệt kê các hành động trong các mục khác: Categories Action Record Navigation (dùng để di chuyển con trỏ tới Record, tìm kiếm các Record) Find Record: tìm kiếm các Record Find Next: tìm tiếp Go to First Record: nhảy tới Record đầu tiên. Go to Last Record: nhảy tới Record cuối cùng. Go to Next Record: nhảy tới Record kế tiếp. Go to Previoust Record: nhảy tới Record trước đó. Record Operations (các hành động xử lý Record) Add New Record: thêm Record mới Delete Record: xoá Record hiện hành Save Record: lưu Record hiện hành. Form Operations (các hành động xử lý Form) Edit Form Filter: sửa chữa điều kiện lọc các Record hiển thị trong Form. Apply Form Filter: thực hiện lọc các Record hiển thị trong Form. Close Form: đóng Form hiện hành Open Form: mở một Form khác. Report Operations (các hành động xử lý Report) Preview Report: in báo cáo ra màn hình Print Report: in báo cáo ra giấy qua máy in Miscellaneous (pha tạp) Print Table: in dữ liệu trên Table Run Macro: chạy Macro Run Query: chạy Query Chương 4: form – mẫu biểu(phần 4 - tiếp)    4.3. Đối tượng ComboBox Là hộp danh sách trải xuống khi ta muốn chọn một trong nhiều giá trị nhập dữ liệu vào trường, hoặc thể hiện để tìm kiếm.    Các bước tạo Combo Box bằng Control Wizard    Bước 1: bật chế độ Control Wizard và kéo Combo Box từ hộp công cụ Toolbox.   Bước 2: chọn cách đặt giá trị lên Combo Box gồm một trong ba kiểu: I want the Combo box to lookup the value in a table or query: lấy giá trị cho Combo Box từ các trường của bảng hoặc truy vấn bất kỳ. I will type in the value that I want: tự nhập giá trị cho Combo Box. Find a record on my form....: tìm các bản ghi trên Form trùng với giá trị chọn trong Combo Box.   Bước 3: chọn các trường cần lấy giá trị hoặc nhập giá trị cho Combo Box.    Khi sử dụng Combo Box ta thường thay đổi các thuộc tính sau: Row Source Type: kiểu nguồn dữ liệu. Table/ Query: thể hiện dữ liệu của các trường trong bảng hoặc truy vấn. Value List: tự liệt kê danh sách các giá trị. Field List: liệt kê tên các trường của bảng hoặc truy vấn. Row Source: chọn bảng hoặc truy vấn chứa dữ liệu cần lấy. Trong trường hợp là Value List ta lịêt kê dữ liệu cách nhau bởi dấu ; Column Count: chọn số cột của Combo Box. Column Heads: ẩn/ hiện tiêu đề của các trường trong Combo Box.     4.4. Đối tượng Option Group Là tập hợp nhiều đối tượng điều khiển thuộc trong các loại: Option Button, Check Box, Toggle Button Nếu dùng Wizard, cần xác định các thông tin sau: Bước 1: chọn các nhãn Bước 2: gán giá trị tương ứng với từng mục chọn (ngầm định là 1, 2, 3,...) Bước 3: chọn kiểu nút, kiểu khung Bước 4: đặt tiêu đề của nhóm.    4.5. Đối tượng Subform/Subreport Là một đối tượng cho phép ta có thể chèn một Form phụ lên một Form chính, nhằm thể hiện dữ liệu của hai bảng có quan hệ với nhau theo kiểu One to Many.  Các bước tạo Subform/ Subreport  Bước 1: tạo Form dạng Column cho bảng phía một. Bước 2: tạo Form dạng Tabular cho bảng phía nhiều. Bước 3: mở Form dạng Column ở chế độ Design rồi chọn biểu tượng Subform/ Subreport từ hộp công cụ Toolbox đặt vào phần Detail. Bước 4: chọn Form dạng Tabular làm ở bước 2. Chương 5: Report – Báo biểu   I. Khái niệm Dùng để in ấn thể hiện dữ liệu dưới nhiều hình thức phong phú. Nó có ưu thế hơn hẳn so với các phương pháp in dữ liệu khác Có khả năng sắp xếp và phân nhóm dữ liệu (thống kê các nhóm dữ liệu) Có thể nhúng hình ảnh, báo biểu con Thực hiện phép toán phức tạp trong một nhóm cũng như nhiều nhóm 1. Các Report trong Access    Design View: Tự thiết kế     Report Wizard       Ta cần phải chọn các mục sau Chọn nguồn dữ liệu (Table hoặc Query) Chọn trường trong dữ liệu nguồn Nếu muốn tạo báo cáo phân nhóm thì xây dựng trường cần phân nhóm Sắp xếp thứ tự nếu cần Dạng và kiểu trình bày của báo cáo. Dùng trợ giúp (Wizard) có thể tạo báo cáo nhanh nhưng kích cỡ thường lớn, khuôn dạng và font chữ theo ngầm định của Access nên thường phải sửa thiết kế Auto Report: Columnar (dạng cột), Tabular (dạng bảng) Tự động đưa ra báo cáo khi đã chọn nguồn dữ liệu Chart Wizard: dạng đồ thị Ta cần phải chọn các mục sau: Chọn các trường cần xuất hiện trong biểu đồ Chọn dạng trình bày của biểu đồ Sắp đặt thông tin trên các trục toạ độ Đặt tiêu đề của biểu đồ Label Wizard: cho phép chọn các trờng tên, địa chỉ,.. rồi định dạng chúng để in nhãn thư (Access cung cấp một số loại nhãn thư phổ biến) Ta cần phải chọn các mục sau: Xác định kích cỡ và cách bố trí các nhãn trên giấy Chọn Font chữ Các trường cần lấy thông tin Trường cần sắp xếp.    2. Các thành phần của Report  Thành phần ý nghĩa Tiêu đề báo cáo (Report Header)  Các điều khiển trong thành phần này sẽ xuất hiện ở trang đầu tiên (chỉ một lần) trong báo cáo.  Tiêu đề trang (Page Header) Các điều khiển trong thành phần này sẽ xuất hiện ở đầu mỗi trang báo cáo. Chi tiết (Detail) Thể hiện các chi tiết dữ liệu của báo cáo. Tiêu đề trang (Page Footer)  Các điều khiển trong thành phần này sẽ xuất hiện ở cuối mỗi trang báo cáo. Tiêu đề báo cáo (Report Footer) Các điều khiển trong thành phần này sẽ xuất hiện ở trang cuối cùng (chỉ một lần) trong báo cáo.  Ngoài các thành phần cơ bản trên trong báo cáo còn có thêm 2 thành phần nữa (chỉ sử dụng khi báo cáo thống kê theo nhóm dữ liệu)  Thành phần ý nghĩa Đầu nhóm (Group Header) Các điều khiển nằm trong thành phần này sẽ xuất hiện ở đầu mỗi nhóm báo cáo Cuối nhóm (Group Footer) Các điều khiển nằm trong thành phần này sẽ xuất hiện ở cuối mỗi nhóm báo cáo    3. Các thuộc tính của Report Nói chung cũng giống như các thuộc tính của Form.    4. Các sự kiện của Report: On Open: khi mở Report On Close: khi đóng Report On Active: khi cửa sổ chứa Report là cửa sổ hiện hành On Deactive: khi cửa sổ chứa Report không còn là cửa sổ hiện hành On No Data: nguồn dữ liệu không có bản ghi nào Chương 5: Report – Báo biểu(bài 2- tiếp)  5. Trình bày báo cáo Chèn ngày giờ Chọn vị trí cần chèn, rồi vào thực đơn Insert/Date and Time... xuất hiện hộp thoại sau: Include Date: chèn ngày Include Date: chèn giờ Hình 4.1: Hộp thoại chèn ngày giờ.  Chèn số trang trên Report Vào thực đơn Insert/Page Numbers xuất hiện hộp thoại sau: Hình 4.2: Hộp thoại chèn số trang.  Format: dạng hiển thị Page N: chỉ hiển thị số trang Page N of M: hiển thị số trang / tổng số trang Position: vị trí hiện số trang Top of Page [Header]: phía đầu trang Bottom of Page [Footer]: phía cuối trang Aligment: căn chỉnh Left: hiển thị số trang ở lề trái mỗi trang Center: hiển thị số trang ở giữa mỗi trang Right: hiển thị số trang ở lề phải mỗi trang Inside: hiển thị số trang ở lề trái trang lẻ, ở lề phải trang chẵn. Outside: hiển thị số trang ở lề phải trang lẻ, ở lề trái trang chẵn. Show Number on First Page: đánh số bắt đầu từ trang đầu tiên. Nếu không chọn thì đánh số bắt đầu từ trang số 2 trở đi. Sắp xếp và phân nhóm dữ liệu Cho phép nhóm, tổng cộng dữ liệu theo từng loại khác nhau. Có thể phân nhóm theo nhiều trường. Ví dụ: Nhóm theo khu vực, tỉnh/ thành, hoặc theo giới tính,… Vào thực đơn View/Sorting and Grouping hoặc chọn biểu tượng trên thanh công cụ  Hình 4.3: Hộp thoại sắp xếp và phân nhóm.  Field/Expression: chọn Field / Biểu thức làm chỉ tiêu phân nhóm hay sắp xếp dữ liệu cho báo cáo. Lưu ý: Nếu là biểu thức thì phải có dấu = ở đầu. Short Order: chọn hình thức sắp xếp dữ liệu      Acending: sắp xếp dữ liệu theo thứ tự tăng dần.      Descending: sắp xếp dữ liệu theo thứ tự giảm dần. Group Properties: quy định các thuộc tính của nhóm Group Header: ẩn /hiện (Yes/No) tiêu đề đầu nhóm Group Footer: ẩn /hiện (Yes/No) tiêu đề cuối nhóm. Group On: quy định phương thức xử lý lập nhóm cho các Field/Expression làm chỉ tiêu phân nhóm             Each Value: lấy toàn bộ giá trị của Field/Expression làm chỉ tiêu phân nhóm Group Interval: quy định khoảng giá trị có hiệu lực cho phương thức xử lý lập nhóm trên tại mục Group On (Nếu tại Group On là Each Value thì tại mục Group Interval phải quy định là 1) Keep Together: một số quy định trình bày khi in. No: in theo chế độ mặc nhiên Whole Group: ngắt trang khi hết nhóm With First Detail: in tiêu đề của đầu nhóm và dòng chi tiết đầu tiên của nhóm trên cùng một trang. Chương 5: Report – Báo biểu(tiếp)   Định dạng hiển thị dữ liệu theo điều kiện Cho phép định dạng màu chữ, dáng chữ, màu nền. Tối đa được 3 điều kiện Ví dụ: muốn định dạng dữ liệu của các đối tượng điều khiển theo điều kiện    Bước 1: chọn đối tượng   Bước 2: vào thực đơn Format/Conditional Formatting... Xuất hiện hình sau: Hình 4.4: Hộp thoại định dạng dữ liệu theo điều kiện.  Add: thêm điều kiện Delete: xoá điều kiện Condition: điều kiện Field Value Is: đặt điều kiện cho giá trị của trường Expresstion Is: đặt điều kiện cho biểu thức Betweent: nằm trong khoảng Not betweent: nằm ngoài khoảng Equal to: bằng Not equal to: không bằng Greater than: lớn hơn Greater than or equal to: lớn hơn hoặc bằng Less than: nhỏ hơn Less than or equal to: nhỏ hơn hoặc bằng. Bước 3: Nhấn OK để kết thúc.   Tự động đánh số thứ tự Tạo hộp TextBox đặt tại phần Detail, rồi khai báo các thuộc tính như sau:   Hình 4.2: Cửa sổ Properties của Text Box. Control Source: nguồn dữ liệu cho đối tượng, gõ vào = 1 (bắt đầu từ 1) Running Sum: cách đánh thứ tự No: số không tự động tăng (chỉ hiện số 1) Over Group: đánh số thứ tự theo từng nhóm. Over All: đánh số thứ tự cho tất cả các dòng dữ liệu trên báo biểu.   Một số hàm thường sử dụng trong thiết kế Report [Page]: chèn số trang hiện thời của báo biểu [Pages]: chèn tổng số trang của báo biểu Date(): chèn ngày tháng năm hiện thời của hệ thống Now(): chèn ngày tháng năm, giờ hiện thời của hệ thống Các hàm thống kê, tổng cộng dữ liệu: Count, Sum, … Chương 6: MaCro – Tập lệnh I. Khái niệm Tập lệnh là một công cụ mà Microsoft Access cung cấp cho người sử dụng để có thể tạo ra các hành động đơn giản trong lúc xây dựng ứng dụng mà không quan tâm đến ngôn ngữ lập trình VBA. Bên trong tập lệnh có chứa các hành động, thứ tự các hành động này thông thường được thực hiện tuần tự từ trên xuống dưới, tuy nhiên chúng ta cũng có thể kiểm tra một điều kiện nào đó phải đúng trước khi thực hiện các hành động này (nếu cần) Macro là tập hợp các lệnh (hành động) đã được sắp xếp quy định sẵn, giúp ta có thể tự động hoá một quá trình xử lý nào đó. Ví dụ:mở mẫu biểu, báo biểu được chỉ định trước… Ngoài ra, sử dụng tập lệnh còn giúp ta xây dựng hệ thống thực đơn cho giao diện Form, liên kết các đối tượng trong CSDL lại với nhau tạo thành ứng dụng hoàn chỉnh.  Trong tập lệnh có chứa các thành phần sau:  Hình 5.1: Màn hình thiết kế tập lệnh  Action: cho phép chọn các hành động có trong tập lệnh Comment: ghi chú cho các hành động. Thông thường chúng ta nên ghi rõ ràng cho các động để về sau khi quay lại sửa chúng ta dễ dàng hiểu ngay ý nghĩa của các hành động này. Action Arguments: thể hiện danh sách các tham số tương ứng của hành động đã chọn trong cột Action ở phía trên. Trong danh sách các tham số có một số tham số có thể không cần khai báo hoặc để mặc định, nhưng ngược lại có một số tham số bắt buộc phải khai báo thì lệnh mới có thể thực hiện được. Ví dụ:hành động OpenForm thì ở Form Name bắt buộc phải khai báo tên mẫu biểu cần mở. Bảng tóm tắt các hành động theo từng công việc Các hành động Công việc AddMenu, SetMenuItem Tạo thực đơn cho ứng dụng, làm thay đổi trạng thái của một chức năng trong thực đơn. RunCommand Thực hiện một lệnh trong thực đơn hệ thống của MS Access. OpenQuery, RunSQL, RunMacro, RunCode Thực hiện một truy vấn, câu lệnh SQL, tập lệnh hoặc một hàm viết bằng ngôn ngữ VBA. RunApp Thi hành một ứng dụng khác đã cài trên máy. CancelEvent, StopMacro, StopAllMacro, Quit Huỷ một biến cố, ngừng tập lệnh, thoát khỏi MS Access. OutputTo, SendObject Gửi một đối tượng của MS Access ra ứng dụng khác. TransferDatabase, TransferSpreadsheet, TransferText Chuyển đổi dữ liệu qua lại giữa MS Access và các ứng dụng khác. Echo, HourGlass, Msgbox, SetWarnings Hiển thị các thông bảo trên màn hình. SendKeys Gửi các phím được nhấn vào ứng dụng. ShowToolbar Hiện hoặc ẩn các thanh công cụ. Beep Phát tiếng kêu bíp. GoToRecord, FindRecord, FindNext Di chuyển bản ghi, tìm kiếm dữ liệu GoToPage, GoToControl Di chuyển qua các trang, các điều khiển trên mẫu biểu. Apply Filter Lọc dữ liệu SelectObject, CopyObject, DeleteObject, Rename, Save Chọn đối tượng, sao chép, xoá, đổi tên, lưu đối tượng. MoveSize, Maximize, Minimize, Restore Di chuyển, thay đổi kích thước cửa sổ. OpenTable, OpenQuery, OpenForm, OpenReport, OpenModule, Close Mở và đóng các đối tượng trong MS Access. SetValue Gán giá trị cho một điều khiển hoặc thuộc tính của một điều khiển. Requery, ShowAllRecord Cập nhật lại dữ liệu các điều khiển, hiện lại các bản ghi đã lọc OpenDiagram, OpenView, OpenStoreProcedure Truy cập trực tiếp đến các đối tượng của SQL Server  Ví dụ: Tạo hành động hiển thị thông báo trên màn hình.  Hình 5.2: Màn hình thiết kế hành động MsgBox.  Message: nội dung thông báo Beep: có phát tiếng “bíp” không Type: biểu tượng trong hộp thông báo Critical Warning? Warning! Information Title: tiêu đề thông báo (nếu bỏ trống sẽ hiện thị mặc định là Microsoft Access) Hình 5.3: Màn hình kết quả khi thi hành Macro. Chương 6: MaCro – Tập lệnh(tiếp)  1. Tạo mới và thi hành một Macro a. Tạo mới Macro Từ cửa sổ Database chọn thành phần Macros, rồi chọn New b. Thi hành Macro Từ cửa sổ Database chọn Macro cần thi hành rồi chọn Run hoặc chọn biểu tượng trên thanh công cụ c. Sửa Macro Từ cửa sổ Database chọn Macro cần sửa rồi chọn Design. Ta có thể thực hiện các thao tác sau: Thêm hành động, chọn lệnh Insert Rows Xoá hành động, chọn lệnh Delete Rows Thay đổi các tham số trong hành động    2. Tập lệnh có điều kiện Condition Macro Là Macro có chứa các điều kiện thi hành cho từng hành động Đặt điều kiện thi hành cho từng hành động trong Macro tại cột Condition. Chú ý: nếu điều kiện cho Action dưới giống điều kiện của Action ngay trên thì tại cột Condition có thể viết dấu ba chấm “...” Cách xây dựng: Cách 1: vào thực đơn View/Conditions. Cách 2: nhấn biểu tượng trên thanh công cụ.  3. Nhóm tập lệnh Macro Group Là Macro chứa nhiều Macro con được phân biệt nhau bởi tên Macro Name Thay vì tạo ra từng tập lệnh rời rạc phải lưu với nhiều tên khác nhau không tập trung trong danh sách đối tượng tập lệnh, thì chúng ta có thể gom các tập lệnh đó lại chung với nhau và chỉ lưu với một tên nhằm giảm bớt đi số lượng các tập lệnh trong danh sách đối tượng tập lệnh. Khi quyết định gom nhóm thì phải có cùng chung các tính chất sau: Gồm các hành động trên cùng một mẫu biểu hoặc báo biểu Theo chức năng của các hành động Cách thực hiện: Cách 1: vào thực đơn View/Macro Names. Cách 2: nhấn biểu tượng trên thanh công cụ.  Ví dụ:: Tạo ra nhóm tập lệnh DiChuyen gồm các hành động sau: Chuyền con trỏ về bản ghi đầu Chuyền con trỏ về bản ghi trước đó Chuyền con trỏ tới bản ghi kế tiếp Chuyền con trỏ tới bản ghi cuối (Ta thấy rằng nhóm tập lệnh này có cùng chức năng di chuyển con trỏ) Hình 5.4: Màn hình thiết kế nhóm tập lệnh DiChuyen.  Quy tắc gọi thi hành một Macro con trong Macro Group Tên Macro Group.Tên Macro cần gọi  4. Các Macro khác Autoexec Macro: là Macro tự động thi hành ngay sau khi mở file CSDL Autokeys Macro: là Macro chứa các tổ hợp phím nóng (phím tắt).  Ví dụ:: ở trong cột Macro Names ta xây dựng cú pháp như sau:    5. Gắn Macro vào sự kiện của nút lệnh Bước 1: Mở Form ở chế độ Design View Bước 2: Mở bảng thuộc tính của nút lệnh Chọn Event/ Chọn sự kiện / chọn Macro muốn thực hiện.  Hình 5.5: Cửa sổ Properties nút lệnh. Hệ QTCSDL Access.

Các file đính kèm theo tài liệu này:

  • docDataBase.doc