Microsoft Access CHƯƠNG 1: LÀM QUEN VỚI ACCESS. 1.1 Access là gì? Microsoft Access (Access) là một hệ quản trị cơ sở dữ liệu RDMS (Relational Database Management System), rất phù hợp với các bài toán quản lý vừa và nhỏ, có hiệu năng cao và đặc biệt dễ sử dụng. Các chức năng cơ bản của Access. • Tạo ra các bảng biểu để lưu trữ CSDL (Tables). • Thông kê trích rút dữ liệu theo yêu cầu (Queries). • Tạo ra các Form nhập xuất dữ liệu (Forms). • Tạo ra các báo cáo từ CSDL (Reports). • Tự động hóa với các tập lệnh (Macro). • Thiết kế các modul bằng ngôn ngữ Visua Access (Modul). 1.2. Khởi động Access. Có thể khởi động Access theo nhiều cách. • Mở lệnh Start | Programs | Microsoft Access của Window. • Hoặc kích đúp chuột lên tên tệp có phần mở rộng .MDB 1.3. Thoát khỏi Access. Để thoát khỏi Access bằng một trong các cách. • Mở thực đơn File | Exit. • Nhấn tổ hợp phím nóng Alt + F4. • Hoặc sử dụng nút Close (X) trên cửa sổ Access đang mở. CHƯƠNG 2: BẢNG (TABLE). 2.1 Cấu trúc logic của một bảng. Bảng dữ liệu (Tables) là một phần quan trọng nhất của CSDL. Là nơi lưu trữ những dữ liệu cho ứng dụng. Một CSDL có thể có rất nhiều bảng. Một bảng dữ liệu trên Access bao gồm các thành phần: Tên bảng, các trường dữ liệu, tập hợp các thuộc tính và các bản ghi. 2.2 Một số quy tắc khi thiết kế bảng. • Mỗi trường phải mô tả một loại dữ liệu thống nhất. • Một bảng phải có một số trường tối thiểu. • Các trường phải đầy đủ và liên quan đến khoá cơ bản. • Có thể thay đổi được một số trường bất kỳ (trừ khoá cơ bản). 2.3 Các đối tượng để tạo bảng. • Field Name (Tạo tên cột). • Data Type (Kiểu dữ liệu cột). • Description (Mô tả cột). • Field Properties (Các thuộc tính cột). 2.4 Tạo bảng bằng Design View Bước 1: Chọn Tables/New. Hoặc chọn Create table in Design view. Bước 2: Phương thức tạo bản. • Chọn Design view/OK. Bước 3: Khai báo tên trường của bảng. • Tại Field Name gõ tên các trường. Chú ý: Tên trường không nên chứa dấu cách (space), chữ tiếng Việt có dấu. CHƯƠNG 2: BẢNG (TABLE). Bước 4: Khai báo kiểu dữ liệu cho các trường của bảng. Chọn kiểu dữ liệu cho từng trường ở cột Data Type tương ứng. • AutoNumber: (Tự động chèn số). • Text: (Dữ liệu kiểu văn bản). • Memo: (Dữ liệu lưu trữ lớn). • Number: (Dữ liệu kiểu số). • Date/Time: (Dữ liệu kiểu ngày tháng). • Currency: (Dữ liệu kiểu tiền tệ). • Yes/No: (Dữ liệu kiểu logic). • OLE Object: (Nối kết các đối tượng). • Hyperlink: (Liên kết các đối tượng). CHƯƠNG 2: BẢNG (TABLE). Bước 5: Thiết lập các thuộc tính của trường. - Field Size: (Thiết lập kích thước dữ liệu). • Text: số ký tự tối đa cho phép. • Number: miền giá trị của số. Byte: kiểu số nguyên. Integer: kiểu nguyên đơn. LongInteger: kiểu nguyên kép. Single: kiểu số thực đơn. Double: kiểu số thực kép. - Format: (Định dạng dữ liệu khi hiển thị). • >: Hiển thị toàn bộ ký tự ở dạng chữ hoa. • <: Hiển thị toàn bộ ký tự ở dạng chữ thường CHƯƠNG 2: BẢNG (TABLE). - Input Mask: (Khuôn dạng nhập dữ liệu). • 0 vị trí dành cho chữ số bắt buộc phải nhập. • 9 vị trí dành cho chữ số không bắt buộc phải nhập. • a vị trí dành cho chữ và số, không bắt buộc phải nhập. • A vị trí dành cho chữ và số, bắt buộc phải nhập. • L vị trí dành cho chữ cái, bắt buộc phải nhập. • C vị trí dành cho một ký tự bất kỳ, không bắt buộc. - Caption: (Tiêu đề của trường). • Chỉ có tác dụng khi hiển thị. - Default Value: (Giá trị ngầm định). • Dùng để quy định một giá trị ban đầu của một loại dữ liệu. CHƯƠNG 2: BẢNG (TABLE). - Validation Rule. • Kiểm tra các điều kiện trước khi nhập một mẫu tin mới. - Validation Text: (Thông báo lỗi). • Khi một bản ghi vi phạm điều kiện. - Required: (Trường bắt buộc phải có số liệu hay không?) • Yes; No. - AllowZerolength: (Cho phép chuỗi có độ dài bằng Zero hay không?) • Yes; No. - Indexed: (Tạo chỉ mục hay không?) • No; Yes Duplicates; No Duplicates. CHƯƠNG 2: BẢNG (TABLE). Bước 6: Lưu lại cấu trúc bảng. • • Ctrl + S. Hoặc chọn lệnh Save trên thanh công cụ. Lưu ý: Với những bảng không thiết lập trường khoá, trong quá trình ghi lại cấu trúc bảng, máy tính sẽ hỏi. Nhấn Yes máy tính sẽ tạo thêm một trường mới có tên ID và thiết lập trường này làm khoá. Nếu không muốn như vậy hãy nhấn No. CHƯƠNG 2: BẢNG (TABLE). 2.5 Thiết lập khóa chính (primary key). − Khái niệm. Mỗi bảng trong CSDL cần có một trường hoặc một nhóm các trường có thể xác định duy nhất một bản ghi trong số rất nhiều bản ghi đang có trong bảng. − Cách đặt khóa chính. • Mở bảng ở chế độ Design View. • Chọn trường cần đặt. • Chọn lệnh Edit/Primary Key hoặc chọn biểu tượng trên thanh công cụ. 2.6 Thế nào là một CSDL quan hệ? Đặt vấn đề. Để quản lý sinh viên ta có CSDL gồm các bảng sau: Bảng 1: Danh mục khoa (DMKHOA): Bảng 2: Danh mục lớp (DMLOP): Bảng 3: Hồ sơ sinh viên (HSSV): Bảng 4 Kết quả. 2.7 Quan hệ dữ liệu. - Quan hệ một - một (1-1). Là quan hệ mỗi bản ghi bất kỳ trong bảng thứ nhất có mỗi quan hệ với một bản ghi trong bảng thứ 2. - Quan hệ một - nhiều (1-N). Là quan hệ mỗi bản ghi bất kỳ trong bảng thứ nhất có mỗi quan hệ với nhiều bản ghi trong bảng thứ 2. - Quan hệ nhiều - nhiều (N-N). Là quan hệ nhiều bản ghi bất kỳ trong bảng thứ nhất có mỗi quan hệ với nhiều bản ghi trong bảng thứ 2. 2.8 Thiết lập mối quan hệ. - - Tạo mối quan hệ. • Bước 1: Mở Tools | Relationship… • Bước 2: Chọn bảng ở hộp thoại Show Tables. • Bước 3: Thực hiện tạo kết nối giữa từng cặp bảng theo thiết kế. Xoá mối quan hệ. • Kích chuột vào đường nối các mối quan hệ gõ Delete. 2.8. Thiết lập mối quan hệ. - Tạo mối quan hệ. Bước 1: Mở Tools/Relationship… Bước 2: Tại hộp thoại Show Tables. - Chọn bảng. - Chọn lệnh Add. Bước 3: Tạo mối quan hệ giữa các bảng. - Kéo trường liên kết của bảng quan hệ vào trường của bảng được quan hệ. -Chọn Enforce Referential Integrity 2.9. Một số thao tác với bảng. 2.9.1. Tạo bảng bằng Datasheet View. • Bước 1. Chọn Table/New • Bước 2. Chọn Datasheet View/Ok. • Bước 3. Đặt tên trường. (Kích đúp chuột vào tên trường sau đó nhập tên mới rồi ấn phím Enter). 2.9.2. Tạo bảng bằng Table Wizard. • Bước 1. Chọn Table/New. • Bước 2. Table Wizard/Ok. • Bước 3. Chọn mẫu bảng tại Sample Tables. • Bước 4. Chọn trường của bảng tại Sample Fields/Next. • Bước 5. Đặt tên bảng/Next. • Bước 6. Chọn Finish để hoàn tất. 2.9. Một số thao tác với bảng. 2.9.3 Tạo bảng bằng Import Table. Bước 1. Chọn Table/New/Import Table. Bước 2. Chọn kiểu dữ liệu sau đó chọn bảng. Bước 3. Thực hiện theo các bước chỉ dẫn... 2.9.4 Tạo bảng bằng Link Table. Bước 1. Chọn Table/New/Link Table. Bước 2. Chọn kiểu dữ liệu sau đó chọn bảng. Bước 3. Thực hiện theo các bước chỉ dẫn... 2.9.5 Xuất dữ liệu. Bước 1. Chọn bảng. Bước 2. Kích File/Export. Bước 3. Chọn kiểu dữ liệu, đặt tên bảng. Bước 4. Chọn lệnh Save. 2.9. Một số thao tác với bảng. 2.9.6 Sắp xếp và lọc dữ liệu. - Sắp xếp dữ liệu. Bước 1. Chọn trường cần sắp xếp. Bước 2. Thực hiện lệnh Records/Sort… Sort Ascending (Sắp xếp tăng dần). Sort Descending (Sắp xếp giảm dần). - Lọc dữ liệu. Bước 1: Mở bảng có dữ liệu cần lọc. Bước 2: Mở Record/Filter/Advanced Filter/Sort… Bước 3: Xác định các đối tượng và tiêu chuẩn lọc. Chọn các trường cần lọc tại Field. Chọn cách sắp xếp tương ứng ở Sort. Thiết lập tiêu chuẩn lọc dữ liệu ở Criteria. Mở Filter/Apply Filter/Sort. CHƯƠNG 3: TRÍCH RÚT DỮ LIỆU. 3.1 Mục đích truy vấn dữ liệu (Queries). Sau khi đã tạo các bảng và lưu trữ dữ liệu chúng ta thường phải thực hiện các thao tác liên quan đến nguồn dữ liệu như: trích - lọc - hiển thị dữ liệu; tổng hợp - thống kê; thêm - bớt - cập nhật dữ liệu; … Vì vậy sẽ tồn tại một số loại Query tương ứng để giải quyết các yêu cầu xử lý dữ liệu trên. 3.2 Các loại truy vấn dữ liệu. 1. Truy vấn lựa chọn (Select Query). 2. Truy vấn tạo bảng (Make – Tabe Query). 3. Truy vấn cập nhật dữ liệu (Update Query). 4. Truy vấn thêm dữ liệu (Append Query). 5. Truy vấn xoá dữ liệu (Delete Query). 6. Truy vấn thống kê (Crosstab Query). 3.3. Các bước tạo truy vấn dữ liệu. - Bước 1. Chọn Queries/New. - Bước 2. Chọn Design view. - Bước 3. Chọn các bảng. - Bước 4. Mở menu Query/Chọn loại truy vấn. - Bước 5. Chọn trường và tiêu chuẩn cần lấy. - Bước 6. Chạy Query. (Mở menu Query/Run) - Bước 7. Đặt tên cho Query. 3.4. Cấu trúc cơ bản của query. - Field: Tên trường cần lấy. - Table: Tên bảng của trường cần lấy. - Sort: Sắp xếp dữ liệu. - Show: Xác định hiển thị trường chọn. - Criteria: Tiêu chuẩn của dữ liệu hiển thị. - Or: Kết hợp tiêu chuẩn dữ liệu hiển thị. 3.5. Một số phép toán khi truy vấn dữ liệu. - - - Các toán tử so sánh. • = :Bằng. • > :Lớn hơn. • < :Nhỏ hơn. • >= :Lớn hơn hoặc bằng. • <= :Nhỏ hơn hoặc bằng. • <> :Khác. Các phép toán logic • Phủ định : NOT. • Kết hợp (Và) : AND. • Lựa chọn (Hoặc) : OR. Các toán tử BETWEEN, IN và LIKE • Between. Dùng để xác định một khoảng giá trị. Cú pháp : Between <GT1> and <GT2>. Ví dụ: Lấy danh sách sinh viên có ĐTB từ 6.5 đến 7.5. Between 6.5 and 7.5. • IN Dùng để xác định theo danh sách các giá trị. Cú pháp IN(GT1,GT2,. . . .GTn). Ví dụ: Lấy danh sách sinh viên có ĐTB là 5.0 ,7.0, 9.0. IN(5,7,9). • LIKE. Phép so sánh gấn đúng với dữ liệu kiểu chuỗi. - Cú pháp LIKE <Biểu thúc chuỗi> Các ký hiệu thường dùng trong biểu thúc chuỗi. Dấu hoa thị (*): Thay thế cho một nhóm ký tự. Dấu hỏi (?): Thay thế cho một ký tự. Một số hàm xử lý truy vấn. • Date(): Trả về ngày tháng của hệ thống. • Day(Date): Trả về ngày của giá trị Date. • Month(Date): Trả về tháng của giá trị Date. • Year(Date): Trả về Năm của giá trị Date. - • Left(Xâu,N): Trả về N ký tự bên trái của xâu văn bản. • Right(Xâu,N): Trả về N ký tự bên phải của xâu văn bản. • Mid(Xâu,N,M): Hàm trả về N ký tự bắt đầu từ vị trí M. • Upcase(Xâu): Hàm chuyển đổi xâu ký tự thành chữ in hoa. • Trim(Xâu): Hàm loại bỏ ký tự trắng bên trái và bên phải của xâu ký tự. • Sum:Tính tổng các giá trị của trường trong nhóm. • Avg:Tính tổng trung bình các giá trị của trường trong nhóm. • Min: Tìm giá trị nhỏ nhất trong nhóm. • Max: Tìm giá trị lớn nhất trong nhóm. • Count: Đếm số bản ghi trong nhóm. • IIF(ĐK,GT1,GT2) Tính toán. • +: Phép cộng. • -: Phép trừ. • *: Phép nhân. • /: Phép chia. • ^: Luỹ thừa. • &: Nối chuỗi văn bản. 3.6 Các loại truy vấn. 3.6.1 Truy vấn lựa chọn (Select Query). Select Query có kết quả là các bảng dữ liệu nhưng các bảng đó ở dạng ảo chứ không tồn tại trong CSDL. Các bước tạo truy vấn Select Query. - Có 7 bước tạo truy vấn (Đã học ở phần 3.3) Bài tập thực hành. Hãy tạo và đặt tên các truy vấn (Make – Table Query) sau: 1. Danh sách sinh viên lớp TC16.12. 2. Danh sách sinh viên Nam lớp TC16.12. 3. Danh sách sinh viên họ NGUYỄN. 4. Danh sách sinh viên họ NGUYỄN tên NAM 5. Danh sách sinh viên họ NGUYỄN và họ TRẦN. 6. Danh sách sinh viên có phần đệm là THỊ. 7. Danh sách sinh viên thi khối D. 8. Danh sách sinh viên sinh ngày 28. 9. Danh sách sinh viên sinh tháng 02. 10. Danh sách sinh viên sinh năm 1993. 11. Danh sách sinh viên không thi lần 1. 12. Danh sách sinh viên thi lần 1 không đạt. 13. Danh sách sinh viên thi lại. 14. Danh sách sinh viên không thi nâng điểm. 15. Danh sách sinh viên thi nâng điểm. 16. Danh sách sinh viên học lại. 3.6 Các loại truy vấn. 3.6.2 Truy vấn tạo bảng (Make – Table Query). Make – Table Query là loại truy vấn dùng để tạo ra một bản mới chứa dữ liệu từ các bảng dữ liệu đã có. Các bước tạo truy vấn Make – Table Query. - Thực hiện từ bước 1 đến bước 3 trong 7 bước đã học ở phần 3.3. - Bước 4: Mở menu Query/Make – Table Query. Sau đó nhập tên tệp mới trong hộp thoại Make Table. - Bước 5: Chọn trường và tiêu chuẩn của bảng mới. - Bước 6,7 thực hiện như các bước tạo query đã học ở phần 3.3. 3.6 Các loại truy vấn. 3.6.3 Truy vấn cập nhật dữ liệu (Update Query). Dùng để cập nhập dữ liệu cho bảng. Các bước tạo truy vấn Update Query. - Thực hiện từ bước 1 đến bước 3 trong 7 bước đã học ở phần 3.3. - Bước 4: Mở menu Query/Update Query. - Bước 5: Chọn trường và giá trị cần cập nhật vào dòng Update to. - Bước 6,7 thực hiện như các bước tạo query đã học ở phần 3.3. 3.6 Các loại truy vấn. 3.6.4 Truy vấn thêm dữ liệu (Append Query). Dùng để ghép dữ liệu cho bảng từ một bảng khác. Các bước tạo truy vấn Append Query. - Thực hiện từ bước 1 đến bước 3 trong 7 bước đã học ở phần 3.3. - Bước 4: mở menu Query/Append Query. Sau đó chọn bảng cần ghép ở hộp thoại Append. - Bước 5: Chọn các trường cần ghép tại dòng Append to. - Bước 6,7 thực hiện như các bước tạo query đã học ở phần 3.3. 3.6 Các loại truy vấn. 3.6.5 Truy vấn xoá dữ liệu (Delete Query). Dùng để xoá dữ liệu trong bảng. Các bước tạo truy vấn Delete Query. - Thực hiện từ bước 1 đến bước 3 trong 7 bước đã học ở phần 3.3 - Bước 4: Mở menu Query/ Delete Query. - Bước 5: Chọn tiêu chí cần xóa trong bảng. - Bước 6,7 thực hiện như các bước tạo query đã học ở phần 3.3. 3.6.6 Truy vấn thống kê (Crosstab Query). Dùng để thống kê dữ liệu. Các bước tạo truy vấn Crosstab Query. - Thực hiện từ bước 1 đến bước 3 trong 7 bước đã học ở phần 3.3. Bước 5: Mở menu Query/Crosstab Query. Bước 6: Chọn cách thức, dữ liệu và tiêu chuẩn thông kê. Total: Lựa chọn kiểu thống kê. Group By:Nhóm dữ liệu và sử dụng hàm để thống kê. Crosstab: Dạng hiển thị của cột. - Row Heading: Lựa chọn dữ liệu làm tiêu đê dòng. Column Heading: Lựa chọn dữ liệu làm tiêu đề cột. Value: Giá trị thông kê. Bước 6,7 thực hiện như các bước tạo query đã học ở phần 3.3. Ghi chú: Với dạng Query Crosstab chúng ta phải xác định được các yếu tố sau: 1. Phải xác định dữ liệu làm dòng, dữ liệu làm cột, dữ liệu cần thống kê. 2. Phải có ít nhất 3 trường để thực hiện query, 1 làm dòng, 1 làm cột, 1 thống kê. 3.6.7 Một số dạng truy vấn khác. 1. Truy vấn nhóm dữ liệu. Là dạng truy vấn nhóm các loại dữ liệu giống nhau tạo thành 1 dữ liệu. Các bước tạo truy vấn nhóm dữ liệu. - Thực hiện từ bước 1 đến bước 3 trong 7 bước đã học ở phần 3.3. - Bước 4: Chọn trường và tiêu chuẩn cần hiển thị. - Bước 5: Mở menu View chọn Totals - Thực hiện các bước còn lại như các truy vấn khác. 2. Truy vấn hỏi đáp. Là dạng truy vấn mà các điều kiện hiển thị được nhập từ bàn phím. Các bước tạo truy hỏi đáp. - Thực hiện các bước như những truy vấn khác. - Tại Criteria: Tạo một tham số hỏi đáp được nằm trong dấu ngoặc vuông[...] CHƯƠNG 4: TẠO VÀ SỬ DỤNG FORM. 4.1 Khái niệm: Là phương tiện giao diện cơ bản giữa người dùng với Access, thông qua đó để thiết kế các biểu mẫu nhập hoặc hiển thị dữ liệu giúp xây dựng các thành phần giao tiếp và những mục đích khác nhau. 4.2 Các dạng form cơ bản: 1. Dạng Columnar (Hình cột trụ): Dạng này cho phép nhập hoặc hiển thị dữ liệu dưới dạng cột. 2. Dạng Tabular (Bảng): Dạng này cho phép nhập hoặc hiển thị dữ liệu dưới dạng bảng biểu. 3. Dạng Datasheet (Bảng tính): Dạng này cho phép nhập hoặc hiển thị dữ liệu dưới dạng bảng tính. 4.3 Tạo form bằng công cụ Form Wizard. - Các bước tạo Form Wizard. Bước 1: Chọn Forms/New. Bước 2: Lựa chọn phương thức và dữ liệu để tạo Form. - Chọn mục Form wizard. - Chọn bảng dữ liệu - Chọn OK. Bước 3: Chọn dữ liệu, chọn trường của dữ liệu để tạo Form. - Tại Tables/Queries chọn bảng dữ liệu. - Tại Available fields chọn cột cần tạo. - Select fields là cột được chọn để tạo form. - Chọn Next. Bước 4: Chọn mẫu Form/Next. Bước 5: Chọn kiểu của mẫu Form/Next. Bước 6: Đặt tên Form và phương thức sử dụng Form. Chỉnh sửa và bổ sung các đối tượng vào Form. - Mở Form ở chế độ Deisgn. Sử dụng chức năng Control Wizard trên thanh công cụ ToolBox. Chọn đối tượng cần bổ sung và chỉnh sửa. Thực hiện các bước theo chỉ dẫn của hộp thoại Wizard. 4.4 Tạo Form bằng Design view. Các bước tạo form. Bước Bước Bước Bước 1: 2: 3: 4: Forms/New. Chọn Design view. Thiết kế, bổ sung chỉnh sửa các đối tượng trên form. Lưu và đặt tên form. Các thành phần và thuộc tính cơ bản của Form. - Thành phần. • Form Header: Là vùng để chứa các thông tin ở đầu Form. • Page Header: Là vùng chứa các thông tin ở đầu của từng trang trên Form. • Detail: Hiển thị và cập nhật thông tin cho cơ sở dữ liệu. • Page Footer: Là vùng chứa các thông tin ở cuối của từng trang trên Form. • Form Footer: Là vùng để chứa các thông tin ở cuối của Form. - Thuộc tính (mở menu View/Propeties). • Caption: Tiêu đề form. • Default form: Kiểu hiển thị của form. • Scroll Bars: Dạng thiết kế thanh cuộn form. • Record Source: Nguồn dữ liệu của form. • Navigation Buttons: Bật tắt nút lệnh lựa chọn dữ liệu. • Record Select: Bật tắt đối tượng lựa chọn dữ liệu. • Border Style: Kiểu khung viền của Form. • Min, Max buttons: Bật tắt các nút lệnh phóng to thu nhỏ. Các công cụ và thuộc tính cơ bản để tạo đối tương trên form. - Công cụ. 1. Select Objects: Chọn đối tượng. 2. Label: Tạo văn bản. 3. Option Group: Tạo nhóm các đối tượng lựa chọn. 4. Option Button: Tạo đối tượng lựa chọn. 5. Combo Box: Hộp danh sách có sẵn các giá trị để lựa chọn. 6. Command Button: Tạo nút lệnh. 7. Unbound Objects Frame: Chèn các đối tượng không thuộc CSDL. 8. Page Break: Ngắt form. 9. Subform/Subreport: Tạo form phụ trong form chính. 10. Rectangle: Tạo một hình chữ nhật. 11. Control Wizads: Bật và tắt Control Wizard. 12. Text Box: Tạo một hộp nhập và hiển thi dữ liệu. 13. Toggle Button: Tạo một nút lệnh thay đổi từ On sang Off. 14. Check Box: Tạo một hộp tùy chọn. 15. List Box: Tạo một hộp liệt kê qua đó ta có thể lựa một giá trị. 16. Image: Tạo đối tượng chèn ảnh. 17. Bound Objects Frame: Chèn các đối tượng thuộc CSDL 18. Tab Control: Chèn một điều khiển Tab. 19. Line: Vẽ một đường thẳng. 20. More Controls: Các công cụ khác. - Thuộc tính (mở menu view/Propeties). • Name: Tên đối tượng. • Caption: Chú thích, chỉ dẫn cho đối tượng. • Picture: Chèn ảnh vào đối tượng. • Visible: Cho phép hiển thị hay không hiển thị đối tượng. • Enabled: Vô hiệu hoá đối tượng. • Font name , Font size, Font color: Phông chữ… • Width: Độ dài của đối tượng. • Height: Độ cao của đối tượng. • Top: Khoảng cách phía trên với đối tượng. • Left: Khoảng các bên trái với đối tượng. • Control Source: Nguồn dữ liệu cho đối tượng. • On click: đối tượng thực hiện khi kích chuột. • On dbl click: đối tượng thực hiện khi kích đúp chuột. - ... CHƯƠNG 5: TẠO BÁO CÁO (REPORT). 5.1 Khái niệm: Là công cụ được sử dụng để tạo báo cáo được thiết kế cho in ấn 5.2 Các dạng báo cáo cơ bản: 1. Dạng Columnar: Dạng này hiển thị dữ liệu dưới dạng cột. 2. Dạng Tabular: Dạng này hiển thị dữ liệu dưới dạng bảng biểu. 5.3 Tạo báo cáo bằng công cụ Report Wizard. - Các bước tạo báo cáo. Bước 1: Chọn Reports/New. Bước 2: Lựa chọn phương thức và dữ liệu để tạo báo cáo. - Chọn Report wizard. - Chọn bảng dữ liệu. - Chọn lệnh OK. Bước 3: Chọn dữ liệu, chọn trường của dữ liệu để tạo báo cáo. - Tại Tables/Queries chọn dữ liệu. - Tại Available fields chọn cột cần tạo. - Select fields là cột được chọn để tạo báo cáo. - Chọn lệnh Next. Bước 4: Chọn trường để tạo nhóm trên báo cáo/Next. Bước 5: Chọn trường cần sắp xếp trên báo cáo/Next. Bước 6: Chọn mẫu và hướng in cho báo cáo/Next. Bước 7: Chọn kiểu dáng cho báo cáo/Next. Bước 8: Đặt tên cho báo cáo và phương thức sử dụng báo cáo/Finish. - Chỉnh sửa và bổ sung các đối tượng vào báo cáo. - Mở báo cáo ở chế độ Deisgn. - Sử dụng chức năng Control Wizard trên thanh công cụ ToolBox. - Chọn đối tượng cần thay đổi, bổ sung. - Thực hiện các bước theo chỉ dẫn của hộp thoại Wizard. 5.4 Tạo báo cáo Design view. 5.4.1 Các bước tạo báo cáo. Bước 1: Chọn Reports/New. Bước 2: Chọn Design view. Bước 3: Thiết kế, bổ sung chỉnh sửa các đối tượng trên báo cáo. Bước 4: Lưu và đặt tên báo cáo. 5.1.2 Các thành phần và thuộc tính cơ bản của báo cáo. A. Thành phần. − Report Header: Là vùng để chứa các thông tin ở đầu báo cáo. − Page Header: Là vùng chứa các thông tin ở đầu của từng trang trên báo cáo. − Detail: Hiển thị thông tin cho cơ sở dữ liệu. − Page Footer: Là vùng chứa các thông tin ở cuối của từng trang trên báo cáo. − Report Footer: Là vùng để chứa các thông tin ở cuối của báo cáo. B. Thuộc tính. - Mở menu View/Propeties. • Caption: Tiêu đề báo cáo. • Record Source: Nguồn dữ liệu của báo cáo. • Navigation Buttons: Bật tắt nút lệnh lựa chọn dữ liệu trên báo cáo. • Border Style: Kiểu khung viền của báo cáo. • Min, Max buttons: Bật tắt các nút lệnh phóng to thu nhỏ khi hiển thị báo cáo. 4.1.3 Các công cụ và thuộc tính cơ bản để tạo đối tương trên báo cáo. A. Công cụ. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Select Objects: Chọn đối tượng. Label: Tạo văn bản. Option Group: Tạo nhóm các đối tượng lựa chọn. Option Button: Tạo đối tượng lựa chọn. Combo Box: Hộp danh sách có sẵn các giá trị để lựa chọn. Command Button: Tạo nút lệnh. Unbound Objects Frame: Chèn các đối tượng không thuộc CSDL. Page Break: Ngắt trang. Subform/Subreport: Tạo báo cáo phụ trong báo cáo chính. Rectangle: Tạo một hình chữ nhật. Control Wizads: Bật và tắt Control Wizard. Text Box: Tạo một hộp hiển thi dữ liệu. Toggle Button: Tạo một nút lệnh thay đổi từ On sang Off. Check Box: Tạo một hộp tùy chọn. List Box: Tạo một hộp liệt kê qua đó ta có thể lựa một giá trị. Image: Tạo đối tượng chèn ảnh. Bound Objects Frame: Chèn các đối tượng thuộc CSDL Tab Control: Chèn một điều khiển Tab. Line: Vẽ một đường thẳng. More Controls: Các công cụ khác. B. Thuộc tính. - Chọn đối tượng. - Mở menu view/Propeties. - Name: Tên đối tượng. - Caption: Chú thích, chỉ dẫn cho đối tượng. - Picture: Chèn ảnh vào đối tượng. - Visible: Cho phép hiển thị hay không hiển thị đối tượng. - Enabled: Vô hiệu hoá đối tượng. - Font name , Font size, Font color : Phông chữ, kích thước chữ và màu chữ của đối tượng. - Width: Độ dài của đối tượng. - Height: Độ cao của đối tượng. - Top: Khoảng cách phía trên với đối tượng. - Left: Khoảng các bên trái với đối tượng. - Rowsource: Nguồn dữ liệu cho đối tượng. - On click: đối tượng thực hiện khi kích chuột. - On dbl click: đối tượng thực hiện khi kích đúp chuột. - ... CHƯƠNG 6: MACRO. 6.1 Khái niệm: Là một đoạn chương trình gồm một hoặc dãy các câu lệnh dùng để tự động hoá các thao tác với CSDL và tổ chức giao diện chương trình. 6.2 Một số Macro cơ bản. 1. Close: Đóng cửa sổ Table, Query, Form hoặc Report. 2. OpenForm: Mở Form với các tùy chọn: Datasheet, Design hoặc Print Preview. 3. OpenQuery: Mở Query với các tùy chọn: Design hoặc Print Preview. 4. OpenReport: Mở Report với các tùy chọn: Design, Print, Print Preview. 5. OpenTable: Mở bảng với các tùy chọn: Design hoặc Print Preview. 6. Msgbox: Tạo hộp thông báo. 7. Print: In Table, Form, Report. 8. Maximize: Cực đại hoá cửa sổ đang hoạt động. 9. Minimize: Cực tiểu hoá cửa sổ đang hoạt động. .... 6.3 Cấu trúc cơ bản của Macro. 1.Tên hành động (Action). Ví dụ: • OpenForm. • OpenQuery. • OpenReport. • OpenTable. • ... 2. Các tham số của hành động (Action Argument). Ví dụ : • Name: Tên của hành động. • View: Chế độ quan sát. • Fiter Name: Lọc dữ liệu. • Where Condition: Điều kiện. • Data Mode: Kiểu dữ liệu. • Windows Mode: Kiểu cửa sổ. 6.4 Tạo Macro. Bước 1: Tại cửa sổ Database chọn Macros/New hoặc mở menu Insert/ Macro. Bước 2: Lựa chọn hành động (Action) và đặt tham số của hành động (Action Argument). Bước 3: Lưu Macro. Bước 4: Chạy Macro. CHƯƠNG 7: LẬP TRÌNH TRÊN ACCESS (MODUL). 7.1 Khái niệm. Là ngôn ngữ lập trình VBA (Visual Basic for Application) hoạt động theo các sự kiện, dựa trên nguyên tắc của lập trình cấu trúc, giúp người dùng có thể tạo các ứng dụng một cách linh hoạt trên nền các đối tượng của Access. 7.2 Cấu trúc và các loại chương trình con (thủ tục). Chương trình con là một đơn vị mã lệnh VBA, nó có thể chứa tập hợp các câu lệnh nhằm thao tác, tính toán hoặc điều khiển mục đích hoặc dữ liệu nào đó. 7.2.1 Cấu trúc (Gồm 3 thành phần). 1.Đầu thủ tục: Sub (Function) <Tên thủ tục>. 2. Thân thủ tục: (Chứa các lệnh để giải quyết một công việc nào đó). 3. Kết thúc thủ tục: End Sub (Function). 7.2.2 Các loại chương trình con. a. Chương trình con dạng thủ tục khai báo bởi từ khoá (Sub). Sub <Tên thủ tục> [<Danh sách các đối số>] <Thân thủ tục> End Sub b. Chương trình con dạng hàm được khai báo bởi từ khoá (Function). Function <Tên hàm> [<Danh sách các đối số>] <Thân hàm> End Function 7.3 Môi trường. a. Môi trường đáp ứng các sự kiện. Là môi trường thông qua các sự kiện của đối tượng trên Form hoặc trên Repost để viết lệnh nhằm đáp ứng sự kiện đó. Các bước tạo thủ tục đáp ứng sự kiện. Bước 1. Chọn đối tượng. Bước 2. Chọn lệnh Build trên thanh công cụ Form Design. Bước 3. Chọn Code Builder trên hộp thoại Choose Builder. Bước 4. Chọn sự kiện để tạo lập thủ tục. b. Môi trường thiết kế Modul. Là nơi soạn thảo các dòng lệnh VBA. Trong mỗi cửa sổ có thể có nhiều phần được viết lệnh, mỗi phần có thể là nội dung một khai báo, một chương trình con… Bước 1: Chọn Modules/New. Bước 2: Khai báo và tạo lập thủ tục hoặc hàm. Bước 3: Ghi Module. Ghi chú: - Nếu các thủ tục, các hàm được xây dựng trên đối tượng Form hoặc Report thì thủ tục, hàm đó chỉ có tác dụng với Form hoặc Report đó mà thôi. Người ta gọi là thủ tục riêng. - Nếu các thủ tục, các hàm được xây dựng trong phần Modules thì thủ tục, hàm đó có tác dụng trên toàn chương trình. Người ta gọi là thủ tục chung. 7.4 Ngôn ngữ Visual Basic trong Access. Các thành phần cơ bản. - Bộ ký tự. Sử dụng 26 chữ Latin a . . Z và các ký hiệu toán học… - Từ khoá (key word). Các từ riêng của VBA đã được định nghĩa, chúng ta không thể dùng vào việc khác. Ví dụ: Dim, Sub, If . . Then . . Else, Case, Do While . . Loop . . . - Tên chuẩn (Standard Identifies). Là các tên của VBA đã được định nghĩa, chúng ta có thể định nghĩa lại để dùng vào việc khác. Ví dụ: Single, Doulbe, True, False. 7.5 Chạy thử Modul. Chạy Modul qua sự kiện. Chạy Modul thông qua lệnh. 7.6 Các lệnh cơ bản của ngôn ngữ VBA trong Access. a. Các kiểu dữ liệu cơ bản. Boolean (Kiểu logic). Byte (Kiểu số nguyên dương). Integer (Kiểu số nguyên). Long (Kiểu số nguyên lớn). Single (Kiểu số thực). Double (Kiểu số thực lớn). String (Kiểu xâu ký tự). … b. Các lệnh cơ bản. 1. Cách khai báo biến (Variable). Biến có giá trị thay đổi trong khi chương trình thực hiện. Khai báo biến. Dim Tên biến AS Kiểu dữ liệu. Ví dụ: Dim GT As Boolean Dim HT As String Dim Diem As Single 2. Cách khai báo hằng (Const). Là một hằng số có giá trị không thay đổi trong khi chương trình thực hiện. Khai báo hằng. Const Tên hằng = Giá trị hằng. Ví dụ: Const Pi = 3.14 Const Fi = 1. 3. Lệnh vào dữ liệu. Tên biến = InputBox (“Thông báo, chỉ dẫn …”). Ví dụ: A = InputBox("Vao so A") B = InputBox("Vao so B") 4. Lệnh gán dữ liệu. Tên biến = Biểu thức Ví dụ: S=A+B 5. Lệnh ra dữ liệu. Msgbox Tên Biến Ví dụ: Msgbox S Một số ví dụ: Ví dụ 1: Viết thủ tục (Modul) tính tổng 2 số A và B nhập từ bàn phìm thông qua sự kiện Click của nút lệnh Command. Bước 1: Tạo một Command trên Form và đặt tên là CmdTinhTong (Lưu ý: Không sử dụng tính năng Control Wizards của thanh công cụ ToolBox khi tạo nút lệnh). Bước 2: Kích vào Build/Code Builder/OK sau đó chọn sự kiện Click. Bước 3: Viết lệnh. Private Sub CmdTinhTong_Click() '----Khai báo các biến---Dim A As Double Dim B As Double Dim Tong As Double '----Vào dữ liệu----A = InputBox("Vao so A") B = InputBox("Vao so B") '----Xử lý dữ liệu---Tong = A + B '----Ra dữ liệu------MsgBox Tong End Sub Bước 4: Chạy thử chương trình. Ví dụ 2: Viết thủ tục (Modul) tính tổng 2 số A và B nhập từ bàn phìm thông qua của sổ Code. Bước 1:Chọn Modules/New. Bước 2: Khai báo và tạo lập thủ tục hoặc hàm. Sub TinhTongHaiSo() '----Khai bao cac bien---Dim A As Double Dim B As Double Dim Tong As Double '----Vao du lieu----A = InputBox("Vao so A") B = InputBox("Vao so B") '----Xu ly du lieu---Tong = A + B '----Ra du lieu------MsgBox ("Tong hai so A va B la: ") & Tong End Sub Bước 3: Chạy thủ tục. Ấn phím F5. Sinh viên tư viết các thủ tục tính diện tích hình chữ nhật, Hình tròn và hình tam giác. 6. Cấu trúc lệnh rẽ nhánh IF(). - Rẽ nhánh khuyết (IF … THEN … ENDIF). If <Điều kiện> Then <Nhóm lệnh> End IF - Ví dụ: Tạo thủ tục khi nhập điểm từ bàn phím máy sẽ thông báo kết quả đỗ. Sub KetQua() Dim Diem As Double Diem = InputBox(“Hay nhap diem cua thi sinh ?") If Diem>=15 and Diem<=30 Then MsgBox (“Ban da trung tuyen ky thi dai hoc nam 2009 - 2010. Xin chuc mung ban!” Endif End Sub - Rẽ nhánh đầy đủ (IF … THEN … ELSE … ENDIF). If <Điều kiện> Then <Nhóm lệnh 1> Else <Nhóm lệnh 2> End IF - Ví dụ: Tạo thủ tục khi nhập điểm từ bàn phím máy sẽ thông báo kết quả đỗ, trượt. Sub KetQua() Dim Diem As Double Diem = InputBox(“Hay nhap diem cua thi sinh ?") If Diem>=15 and Diem<=30 Then MsgBox (“Ban da trung tuyen ky thi dai hoc nam 2009 - 2010. Xin chuc mung ban!” Else MsgBox (“Ban da truot tuyen ky thi dai hoc nam 2009 - 2010. Xin chia buon cung ban!” Endif End Sub - Rẽ nhánh lồng nhau. If <Điều kiện 1> Then <Nhóm lệnh 1> Else If <Điều kiện 2> Then <Nhóm lệnh 2> Else … If <Điều kiện N> Then <Nhóm lệnh N> Else <Nhóm lệnh N+1> End If End IF Endif - Ví dụ: Tạo thủ tục khi nhập điểm từ bàn phím máy sẽ thông báo kết quả đỗ của từng hệ tuyển sinh. Sub KetQua() Dim Diem As Double Diem = InputBox(“Hay nhap diem cua thi sinh ?") If Diem>=15 and Diem <=30 Then MsgBox (“Ban da trung tuyen vao he dai hoc cua truong. Xin chuc mung ban!”) Else If Diem>=12 and Diem <15 Then MsgBox (“Ban da trung tuyen vao he cao dang cua truong. Xin chia se cung ban!”) Else If Diem>=10 and Diem <12 Then MsgBox (“Ban da trung tuyen vao he trung cap cua truong. Xin an ui cung ban!”) Else If Diem>=0 and <10 DiemThen MsgBox (“Rat tiec ban da khong du tieu chuan vao truong. Xin chia buon cung ban!”) else MsgBox (“Khong co muc diem nhu vay, Xin vui long nhap lai !”) Endif Endif Endif Endif End Sub - Cấu trúc lệnh rẽ nhánh SELECT CASE (). Select Case Biểu thức nguyên Case Giá trị 1 Nhóm lệnh 1 Case Giá trị 2 Nhóm lệnh 2 … Case Giá trị N Nhóm lệnh N Case else Nhóm lệnh N+1 End Select - Ví dụ: Tạo thủ tục để xem thời khoá biểu, Thứ được nhập từ bàn phím máy tính sẽ thông báo lịch học của thứ đó. Sub ThoiKhoaBieu() Dim Thu As Integer Thu = InputBox(“Ban muon lich học của thứ mấy ?") Select case Thu Case 2 Msgbox (“ Thứ 2 học Tin ở phòng B509 Vĩnh tuy”) Case 3 Msgbox (“ Thứ 3 học Triết ở giảng đường B305 Vĩnh tuy”) Case 4 Msgbox (“ Thứ 4 học tiếng Anh ở phòng B606 Vĩnh tuy”) Case 5 Msgbox (“ Thứ 5 học Kinh tế chính trị ở giảng đường B206 Vĩnh tuy”) Case 6 Msgbox (“ Thứ 6 học toán cao cấp 1 ở phòng B604 Vĩnh tuy”) Case 7 Msgbox (“ Thứ 7 nghỉ ở nhà”) Else case Msgbox (“ Không có thứ đó”) End select End Sub - Cấu trúc lệnh lặp For... Next - For <Biến đếm>=<Giá trị đầu> To <Giá trị cuối>[Step <Bước tăng>] <Nhóm lệnh> Next - Hoạt động của lệnh: <Biến đếm> nhận <Giá trị đầu>, so sánh với <Giá trị cuối>: - Nếu lớn hơn thì kết thúc For và thực hiện nhóm lệnh sau For. - Nếu nhỏ hơn hoặc bằng thì thực hiện <Nhóm lệnh>. - Ví dụ: Tạo thủ tục để máy tính tự động tính tổng từ 1 đến 100. Sub TinhTong() Dim S As Double, I As Integer S=0 For I = 1 To 100 S=S+I Next MsgBox (“Kết quả là:”) & S End Sub - Bài tập: Hãy tạo thủ tục để tính tổng các số lẻ từ 1 đến 100. Tổng các số chắn từ 1 đến 100. - Cấu trúc lệnh lặp Do While ….Loop. Do While <Điều kiện> <Nhóm lệnh> Loop - Hoạt động của lệnh: - Chừng nào <Điều kiện> còn đúng thì thực hiện <Nhóm lệnh> - Khi <Điều kiện> sai thì ra thì thoát khỏi vòng lặp và thực hiện nhóm lệnh sau Loop. - Ví dụ: Tạo thủ tục để máy tính tự động tính tổng từ 1 đến 100. Sub TinhTong() Dim S As Double, I As Integer i= 1 S= 0 Do While I<=100 S= S+I I= I+1 Loop MsgBox ( “Kết quả:”) & S End Sub - Bài tập: Hãy tạo thủ tục để tính tổng các số lẻ từ 1 đến 100. Tổng các số chắn từ 1 đến 100. - Cấu trúc lệnh lặp Do Until …Loop. Do Until <Điều kiện> <Nhóm lệnh> Loop Hoạt động của lệnh: - Chừng nào <Điều kiện> vẫn còn sai thì thực hiện <Nhóm lệnh>. - Khi <Điều kiện> đúng thì thoát khỏi vòng lặp và thực hiện nhóm lệnh sau Loop. - Ví dụ: Tạo thủ tục để máy tính tự động tính tổng từ 1 đến 100. Sub TinhTong() Dim S As Double, I As Integer i= 1 S= 0 Do Untile I>100 S= S+I I= I+1 Loop MsgBox ( “Kết quả:”) & S End Sub - Bài tập: Hãy tạo thủ tục để tính tổng các số lẻ từ 1 đến 100. Tổng các số chắn từ 1 đến 100. −Biến đối tượng: (Database và RecordSet). Chức năng của biến đối tượng: Đối tượng kiểu Database: Dùng để thao tác với CSDL. Đối tượng kiểu RecordSet: Dùng để xử lý các bản ghi của CSDL. Thuộc tính và phương thức của biến đối tượng: Thêm, xoá sửa các bản ghi. Sắp xếp các bản ghi theo một thứ tự nào đó. Trích rút các bản ghi thoả mãn điều kiện nào đó. Dò tìm các bản ghi mà ta cần đến. ... Cách khai báo biến: Cách khai báo biến kiểu Database. Dim Tên_biến As DAO. Database. Ví dụ: Dim DuLieu As DAO.Database. Cách khai báo biến kiểu RecordSet. Dim Tên_biến As DAO.RecordSet Ví dụ: Dim BanGhi As DAO. RecordSet. Gắn biến đối tượng Database với CSDL. Set Tên_biến =CurrentDB() Ví dụ: Set Dulieu =CurrentDB() Gắn biến kiểu RecordSet với nguồn dữ liệu. Set Biến_RecordSet=Đối_tượng. OpenRecordSet(“Nguồn dữ liệu, kiểu dữ liệu”) Ví dụ: Set BanGhi=Dulieu. OpenRecordSet (“DSNV”, DB_OPEN_DYNASET). Các phương thức của RecordSet. Addnew: Thêm 1 bản ghi mới. Edit: Sửa bản ghi hiện thời. Delete: xoá bản ghi hiện thời. Move (Next, Previous, First, Last,...) di chuyển giữa các bản ghi. Update: Cập nhật giá trị mới cho bản ghi hiện thời. Cú pháp chung của biến RecordSet. Tên biến. Phương thức. Ví dụ: Banghi. Addnew