TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

TRÖÔØNG TCN KYÕ THUAÄT COÂNG NGHEÄ HUØNG VÖÔNG KHOA COÂNG NGHEÄ THOÂNG TIN 

GIÁO TRÌNH

LƯU HÀNH NỘI BỘ -- NĂM 2008 -Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 1

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

BÀI 01:

CƠ SỞ DỮ LIỆU TRONG MICROSOFT ACCESS
I. CÁC KHÁI NIỆM CƠ BẢN: 1) Dữ liệu là gì?

Dữ liệu là những thông tin về các đối tượng trong cơ sở dữ liệu. Ví dụ:  Đối tượng Học sinh gồm có: họ tên, ngày sinh, phái, địa chỉ, ……….  Đối tượng Sách gồm có: tên sách, số trang, tác giả, ngôn ngữ, ………..  Đối tượng Hóa đơn: mã hóa đơn, nhân viên lập đơn, ngày lập đơn, ………. 2) Khái niệm về cơ sở dữ liệu: Cơ sở dữ liệu là một tập hợp dữ liệu có quy luật, có cấu trúc nhất định (thường ở dạng bảng) được lưu trữ trên các thiết bị chứa tin nhằm phục vụ cho nhiều người sử dụng. Trong đó, mỗi bảng được dùng để lưu trữ một đối tượng cụ thể nào đó đồng thời giữa các bảng có thể có mối quan hệ với nhau. Vai trò của CSDL trong Hệ thống thông tin: Sau khi xác định được mô hình thực thể - kết hợp thì việc tiếp theo là xây dựng cơ sở dữ liệu trên máy tính. Đây là mức nhận thức logic về thành phần dữ liệu. Vì thế yêu cầu cấu trúc của CSDL phải chuẩn và hợp lý về mặt ngữ nghĩa. 3) Cơ sở dữ liệu quan hệ: Là ý tưởng được tạo ra các cơ sở dữ liệu dưới dạng bảng mà những phần mềm ứng dụng như Access, Foxpro... đang áp dụng. Mô hình CSDL quan hệ thiết kế, quản lý dữ liệu dưới dạng bảng hai chiều gọi là các quan hệ nhằm phản ánh mối liên kết thực giữa các đối tượng dữ liệu. Trong mô hình này có một số khái niệm cơ bản như sau:  Bảng (Table): hay còn gọi là quan hệ bao gồm nhiều dòng và nhiều cột, trong một bảng phải có ít nhất một cột.  Cột (Column): hay còn gọi là trường (Field) nằm trong bảng với các thuộc tính quan trọng như: tên trường (Field Name), kiểu dữ liệu (Data Type), độ rộng (Field Size). Trong một bảng thì không thể có 2 cột trùng tên nhau, trên một cột chỉ lưu một loại dữ liệu, thứ tự trước sau giữa các cột trong bảng là không quan trọng. Ví dụ: Ta sử dụng bảng MÔNHỌC để lưu trữ thông tin về các môn học Mã MH 01 02 03 Tên môn học Phân tích Thiết kế Cơ sở dữ liệu Visual Basic Nội dung thiết kế bảng MÔN HỌC Các cột Tên cột Kiểu dữ liệu Độ rộng Mã môn học MA MH Chuỗi 2 Tên môn học TEN MH Chuỗi 30

 Dòng (Row): nằm trong bảng và trong một bảng thì không thể có 2 dòng trùng lắp nhau về thông tin lưu trữ. Thứ tự trước sau của các dòng trong bảng cũng không quan trọng.  Khóa chính (Primary Key): là một hay nhiều trường trong một bảng mà dữ liệu tại các cột này bắt buộc phải có đồng thời phải duy nhất không được trùng lắp (tính duy nhất của dữ liệu). Giá trị dữ liệu của khoá chính dùng để xác định duy nhất các giá trị của các trường khác trong cùng một dòng. Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 2

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

 Khóa ngoại (Foreign Key): là một hay nhiều trường trong một bảng mà các trường này lá khoá chính của một bảng khác, do đó dòng dữ liệu tại các cột này bắt buộc phải tồn tại trong một bảng khác (tính tồn tại của dữ liệu) Ví dụ: Để lưu trữ và quản lý thông tin của các học viên ta cần tổ chức các bảng đơn giản sau:  Bảng MÔN HỌC: lưu trữ thông tin về các môn học Tên môn học Phân tích Thiết kế Cơ sở dữ liệu Visual Basic Mã môn học 01 02 03

Bảng

 Bảng SINH VIÊN: dùng để lưu trữ thông tin của các sinh viên. Dòng Mã số A01 A02 Họ và tên Võ Thị Ngọc Mai Nguyễn Mai Phương Ngày sinh 27/07/1980 22/11/1981 Thông tin khác ………….. …………..

 Bảng KẾT QUẢ THI: lưu trữ điểm thi từng môn cho các sinh viên

Cột

Mã số A01 A01 A02 A02

Điểm 5.0 6.5 9.0 8.5

Mã môn học 01 03 01 02

Quan hệ

Trong đó:  Bảng MÔNHỌC có cột mã môn học là khoá chính, thông thường trong môn hình quan hệ ta có thể viết bảng như sau: MÔNHỌC (Mã môn học, Tên môn học) (Các Field được gạch chân trong bảng là khoá chính của bảng, để thể hiện phụ thuộc hàm trong bảng MÔNHỌC ta có thể viết: Mã môn học  Tên môn học)  Trong bảng SINHVIÊN có cột mã số làm khoá chính và có thể viết thành: SINHVIÊN (Mã số, Họ và tên, Ngày sinh, Địa chỉ ………) (Để biểu diễn phụ thuộc hàm: Mã số  Họ và tên, Ngày sinh, Địa chỉ)  Trong bảng KẾTQUẢTHI có 2 cột mã số và mã môn học là khóa ngoại. Trong bảng này ở cột Mã số chỉ cho phép chứa các Mã sinh viên có trong bảng SINHVIÊN và tương tự ở cột Mã môn học chỉ tồn tại các môn học có trong bảng MÔNHỌC. Điều này thị hiểu nhiên vì chúng ta chỉ lưu trữ điểm thi của các sinh viên có trong bảng SINHVIÊN. KẾTQUẢTHI ( #Mã số, #Mã môn học, Điểm) 4) Các mối kết hợp (Relationship): Mối kết hợp là sự liên kết hay ghép nối giữa 2 hay nhiều thực thể phản ánh chính xác thực tế quản lý, để diễn đạt mối liên hệ giữa các thực thể ta sử dụng khái niệm mối kết hợp. Mối kết hợp là sự diễn đạt về những liên kết nếu có giữa các loại thực thể khác nhau và là phần tử trong mô hình tương ứng với một mối quan hệ giữa các thực thể tham gia vào quan hệ đó. Mối kêt hợp được định danh bằng tên, thường là động từ hay tính từ mang ý nghĩa về mối quan hệ giữa các lớp đối tượng liên quan trong tổ chức. Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 3

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Tên của loại thực thể

Tên của mối kết hợp

Tên của loại thực thể

 Bản số của mối kết hợp Bản số của một thực thể đối với một mối kết hợp là cặp (Bản số tối thiểu, Bản số tối đa). Trong đó chúng được định nghĩa như sau:  Bản số tối thiểu: Bằng 0 hoặc 1, là số lần tối thiểu mà một thể hiện bất kỳ của một thực thể tham gia vào các thể hiện của mối kết hợp  Bản số tối đa: Bằng 1 hoặc n, là số lần tối đa mà một thể hiện bất kỳ của một thực thể tham gia vào các thể hiện của mối kết hợp  Bản số phải được thể hiện ở cả hai nhánh mối kết hợp. Bản số được ký hiệu dạng (x,y), với bất kỳ vị trí tương đối nào của thực thể đối với mối kết hợp thì chỉ số bên trái (hay x) là bản số tối thiểu, chỉ số bên phải (hay y) là bản số tối đa  Phân loại các mối kết hợp:  Kết hợp 1-1: thực thể A và thực thể B có mối kết hợp là 1-1 nếu một thực thể kiểu A tương ứng với một thực thể kiểu B và ngược lại.

Sinh viên

1-1

Thẻ sinh viên

Ghi chú: Trong CSDL khi 2 thực thể có mối kết hợp 1-1 sẽ được đồng nhất. Kết hợp 1- n: thực thể A và thực thể B có mối kết hợp là 1-n nếu một thực thể kiểu A tương ứng với nhiều thực thể kiểu B còn một thực thể kiểu B chỉ tương ứng với 1 thực thể kiểu A.

Khách hàng

1-n

Hoá đơn

Kết hợp n-n: thực thể A và thực thể B có mối kết hợp là n-n nếu một thực thể kiểu A tương ứng với nhiều thực thể kiểu B và ngược lại.

Công Ty

N-N

Mặt hàng

Ghi chú: Trong CSDL khi 2 thực thể có mối kết hợp n-n sẽ được thực thể hoá thành

Công Ty

Sản xuất

Mặt hàng

II. GIỚI THIỆU MICROSOFT ACCESS:
1) Microsoft Access là gì ? Khái niệm về hệ quản trị cơ sở dữ liệu quan hệ (Relational DataBase Management System): Là hệ thống các chương trình hỗ trợ các tác vụ quản lý, khai thác dữ liệu theo mô hình cơ sở dữ liệu quan hệ. Microsoft Access cũng là một hệ quản trị cơ sở dữ liệu quan hệ nó giúp cho người sử dụng lưu trữ thông tin dữ liệu bên ngoài vào máy tính dưới dạng các bảng và có thể tính toán, xử lý trên dữ liệu trong các bảng đã lưu trữ. Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 4

TRƯỜNG TCN KTCN HÙNG VƯƠNG
2) Các đặc điểm của Microsoft Access :

GIÁO TRÌNH MICROSOFT ACCESS 2003

Hỗ trợ cơ chế tự động kiểm tra khóa chính, phụ thuộc tồn tại, miền giá trị … của dữ liệu bên trong các bảng một cách chặt chẽ.  Với công cụ trình thông minh (Wizard) cho phép người sử dụng có thể thiết kế các đối tượng trong Microsoft Access một cách nhanh chóng.  Với công cụ truy vấn bằng thí dụ QBE (Query By Example) sẽ hỗ trợ cho người sử dụng có thể thực hiện các truy vấn mà không cần quan tâm đến cú pháp của các câu lệnh trong ngôn ngữ truy vấn có vấu trúc SQL (Structure Query Language) được viết như thế nào.  Với kiểu trường đối tượng kết nhúng OLE (Object Linking and Embeding) cho phép người sử dụng có thể đưa vào bên trong tập tin cơ sở dữ liệu Access các ứng dụng khác trên Windows như: tập tin văn bản Word, bảng tính Excel, hình ảnh BMP, âm thanh WAV …  Dữ liệu được lưu trọn gói trong một tập tin: Tất cả các đối tượng của một ứng dụng chỉ được lưu trong một tập tin cơ sỡ dữ liệu duy nhất đó là tập tin cơ sở dữ liệu Access (MDB).  Ứng dụng có thể sử dụng trên môi trường mạng máy tính nhiều người sử dụng, cơ sở dữ liệu được bảo mật tốt .  Có khả năng trao đổi dữ liệu qua lại với các ứng dụng khác, có thể chuyển đổi dữ liệu qua lại với các ứng dụng như Word, Excel, Fox, Dbase, HTML …  Kết nối trực tiếp vào hệ cơ sở dữ liệu Microsoft SQL Server dể phát triển các ứng dụng theo mô hình chủ khách (Client/Server) 3) Các đối tượng bên trong tập tin cơ sở dữ liệu Access:   Tập tin CSDL trong Access có phần mở rộng là MDB bao gồm các đối tượng chính: Bảng (Table): Là thành phần cơ sở của tập tin cơ sở dữ liệu Access, dùng để lưu trữ dữ liệu, nó chính là cấu trúc cơ sở dữ liệu do đó là đối tượng đầu tiên phải được tạo ra trước. Bên trong một bảng, dữ liệu được lưu thành nhiều cột và nhiều dòng. Truy vấn (Query): Là công cụ cho phép người sử dụng dùng ngôn ngữ truy vấn có cấu trúc SQL (Structure Query Language) hoặc công cụ truy vấn bằng thí dụ QBE (Query By Example) để thực hiện các truy vấn rút trích , chọn lựa dữ liệu hoặc cập nhật dữ liệu (thêm, sửa, xóa) trên các bảng. Truy vấn bằng thí dụ là một công cụ hỗ trợ việc thực hiện các truy vấn mà không cần phải viết các lệnh SQL , mà chủ yếu chỉ dùng kỹ thuật kéo–thả (Drag– Drop) trên cơ sở đồ họa. Biểu mẫu (Form): Cho phép người sử dụng xây dựng nên các màn hình dùng để cập nhật hoặc xem dữ liệu lưu trong các bảng , ngoài ra cũng cho phép người sử dụng tạo ra các hộp thoại hỏi đáp giữa người sử dụng và hệ thống ứng dụng. Báo cáo (Report): Cho phép chúng ta tạo ra kết xuất từ các dữ liệu đã lưu trong các bảng, sau đó sắp xếp lại và định dạng theo một khuôn dạng cho trước và từ đó có thể đưa kết xuất này ra màn hình, máy in hoặc các dạng tập tin Word/Excel. Tập lệnh (Macro): Là công cụ cung cấp cho người sử dụng tạo ra các hành động đơn giản trong Microsoft Access như mở biểu mẫu, báo cáo, thực hiện một truy vấn….… mà không cần phải biết gì nhiều về ngôn ngữ lập trình Visual Basic. Bộ mã lệnh (Module): Với ngôn ngữ Visual Basic cho phép người sử dụng xây dựng các hàm hoặc thủ tục của riêng mình để thực hiện một hành động phức tạp nào đó mà không thể làm bằng công cụ tập lệnh, hoặc với mục đích cho chương trình chạy nhanh hơn. Trang 5

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

4) Trình tự xây dựng chương trình bằng Access: Access là ứng dụng nằm trong bộ phần mềm văn phòng Microsoft Office được dùng để tạo ra các chương trình quản lý như: quản lý trong kinh doanh thương mại, trong các lĩnh vực đào tạo, nhân sự, … Việc xây dựng một ứng dụng quản lý bao gồm:      Tạo các bảng để lưu trữ dữ liệu. Xây dựng các màn hình nhập|xuất dữ liệu. Tạo các mẫu báo cáo kết xuất. Xây dựng các thao tác để xử lý dữ liệu theo yêu cầu. Các chế độ bảo mật.

5) Khởi động Start  All programs  Microsoft Office  Microsoft Office Access

- Chọn các tập tin đã mở trước đó. - Chọn More để mở các tập tin đã lưu trên đĩa. - Chọn Create a New File để tạo một tập tin mới

6) Các thao tác trong cửa sổ Database a. Các lệnh cơ bản trên đối tượng: Nhấp phải trên đối tượng  chọn các lệnh cơ bản:  Delete: xóa  Rename: đổi tên  Copy: Sao chép  Cut: Di chuyển

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 6

TRƯỜNG TCN KTCN HÙNG VƯƠNG
b. Xuất đối tượng tới một CSDL khác Nhấp phải trên đối tượng  Chọn Export (hay vào Menu File  Export)  Chọn tập tin MDB để xuất đối tượng vào.

GIÁO TRÌNH MICROSOFT ACCESS 2003

c. Chép đối tượng từ một CSDL khác
Menu File  Get External Data  Import  Chọn tập tin MDB trong hộp thoại “Import” Chọn đối tượng trong hộp “Import Objects”  OK

d. Lệnh gói gọn CSDL Lệnh này thường được sử dụng để làm giảm kích thước tập tin MDB và sửa chữa các lỗi phát sinh trong quá trình chỉnh sửa CSDL: Tại cửa sổ “Database”  Menu Tools  Database Utilities  Compact and Repair Database. Để biên dịch tập tin MDB ra thành tập tin chạy MDE ta thực hiện: Tại cửa sổ “Database”  Menu Tools  Database Utilities  Make MDE files

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 7

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

BÀI 02:

TABLE TRONG MICROSOFT ACCESS
I. THIẾT KẾ TABLE:

1- Tổng quan:       Chế độ thiết kế: Menu View  Design View Chế độ nhập liệu: Menu View  Datasheet View Ở cửa sổ Database: Open (chế độ nhập liệu) ; Design (chế độ thiết kế) Cột của Table gọi là Field, tên cột gọi là Field Name. Hàng của Table gọi là Record. Khóa chính của Table: Là một hay nhiều Field mà tại đó giá trị luôn luôn là duy nhất được dùng đề phân biệt các Record với nhau.

2- Các bước tổng quát để tạo hệ thống Table trong một CSDL    Tạo cấu trúc cho mỗi Table (FieldName, DataType, Description, FieldProperties, khóa chính). Tạo quan hệ giữa các Table trong hệ thống. Nhập liệu. 2.1- Tạo cấu trúc Table Database  Thẻ Table  New  Chọn Design View trong hộp New Table.

    ▬

Field Name: Nhập tên Field (không khoảng trắng, không dấu, ngắn gọn). Data Type: Chọn kiểu cho Field (xem danh mục kiểu). Description: Ý nghĩa của Field (tùy chọn) Field Properties: Các thuộc tính kèm theo (xem danh mục các thuộc tính). Chọn một hoặc nhiều Field cần làm khóa chính : Menu Edit  Primary Key (Trường hợp có nhiều Field làm khóa chính ta kéo mouse tại đầu các Field này để chọn). Lưu (tên Table không khoảng trắng, không dấu, ngắn gọn). Trang 8

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Chú ý : Trong trường hợp chưa hoặc không tạo khóa chính thì khi đóng cửa sổ Design của Table sẽ xuất hiện thông báo :

 Yes: Access sẽ tạo Field tên ID với kiểu AutoNumber để làm khóa cho Table.  No: Table không cần khóa.

2.2- Danh mục các kiểu và thuộc tính a. Kiểu của field Kiểu Text Memo Number Date/Time Currency AutoNumber Yes/No OLE Object Hyperlink Ý nghĩa Chứa dữ liệu chuỗi (<=255 ký tự) Chứa dữ liệu văn bản (<=64000 ký tự) Chứa dữ liệu số Chứa dữ liệu ngày/tháng - giờ/phút Chứa dữ liệu tiền tệ (dạng số có ký hiệu $) Chứa dữ liệu số tuần tự Chứa dữ liệu luận lý (đúng|sai) Chứa dữ liệu nhúng (hình ảnh, đồ thị, …) Chứa các địa chỉ liên kết trên mạng

b. Các thuộc tính theo kiểu Kiểu Text Thuộc tính Field Size Format Ý nghĩa Số ký tự tối đa được phép nhập Các dạng thức của dữ liệu > Các ký tự nhập thành chữ in < Các ký tự nhập thành chữ thường Qui định mặt nạ nhập dữ liệu 0 Bắt buộc nhập các số từ 0 – 9 Ví dụ : Nhập : >LL000 9 Có thể nhập các số hoặc ký tự trắng  Bắt buộc L Bắt buộc nhập các chữ cái nhập 2 chữ cái ? Có thể nhập các chữ cái và 3 chư số, A Bắt buộc nhập các số và chữ cái trong đó 2 chữ & Bắt buộc nhập một ký tự bất kỳ cái thể hiện > Các ký tự theo sau đổi thành chữ in < Các ký tự theo sau đổi thành chữ thường bằng ký tự in. Tên field khi chuyển sang Datasheet View Giá trị mặc nhiên khi nhập liệu Biểu thức giới hạn giá trị nhập (RBTV cho field) Thông báo nhập sai giới hạn (sai RBTV) Chỉ rõ dữ liệu nhập có bắt buộc hay không Cho phép nhập chuỗi rỗng hay không Lập chỉ mục và có được phép trùng lắp hay không Trang 9

Input Mask

Caption Default Value Validation Rule Validation Text Required Allow Zero Length Indexes

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG
Thuộc tính Field Size

GIÁO TRÌNH MICROSOFT ACCESS 2003

Format

Decimal Place Caption Default Value Validation Rule Validation Text Required Indexes Thuộc tính Format

Kiểu Number Ý nghĩa Qui định phạm vi chứa số Byte Chứa số nguyên từ 0  255 Integer Chứa số nguyên từ -32768  32767 Long Integer Chứa số nguyên từ -2147483648  2147483647 Single Chứa số thực Double Chứa số thực lớn hơn Qui định dạng hiển thị dữ liệu General Number Dạng tổng quát như khi nhập Currency Dạng có ký hiệu tiền tệ Fixed Dạng có số số lẻ cố định Standard Dạng có dấu phân cách hàng ngàn Percent Dạng tính phần trăm Số số lẻ cố định Tên field khi chuyển sang Datasheet View Giá trị mặc nhiên khi nhập liệu Biểu thức giới hạn giá trị nhập vào (RBTV) Thông báo nhập sai giới hạn (sai RBTV) Chỉ rõ dữ liệu nhập vào có bắt buộc hay không Lập chỉ và có được phép trùng lắp dữ liệu hay không Kiểu Date/Time Ý nghĩa Qui định dạng hiển thị dữ liệu General Date Dạng tổng quát như khi nhập Long Date Monday, September 27, 2004 Medium Date 27 – September – 04 Short Date 27/09/04 Giống Text Chỉ định tên field khi chuyển sang Datasheet View Giá trị mặc nhiên khi nhập liệu Biểu thức giới hạn giá trị nhập vào (RBTV) Thông báo nhập sai giới hạn (sai RBTV) Chỉ rõ dữ liệu nhập vào có bắt buộc hay không Lập chỉ và có được phép trùng lắp dữ liệu hay không Kiểu Yes/No Ý nghĩa Qui định dạng hiển thị dữ liệu Yes/No Yes hoặc No (0 hoặc -1) Ture/False True hoặc False (0 hoặc -1) On/Off On hoặc Off (0 hoặc -1) Tên field khi chuyển sang Datasheet View Giá trị mặc nhiên khi nhập liệu Biểu thức giới hạn giá trị nhập vào (RBTV) Thông báo nhập sai giới hạn (sai RBTV) Chỉ rõ dữ liệu nhập vào có bắt buộc hay không Lập chỉ mục và có được phép trùng lắp dữ liệu hay không Trang 10

Input Mask Caption Default Value Validation Rule Validation Text Required Indexes Thuộc tính Format

Caption Default Value Validation Rule Validation Text Required Indexes

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG
2.3- Quan hệ giữa các Table a. Các loại quan hệ

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ Để hạn chế việc lưu trữ dữ liệu trùng lắp dẫn đến kích thước lưu trữ lớn và khó khăn trong việc bảo trì, ta thường chọn lọc và lưu trữ dữ liệu trên nhiều Table khác nhau. Tuy nhiên, khi đó giữa các Table này thường có sự liên hệ với nhau bằng cách trong Table này xuất hiện Field khóa chính của một Table khác. Field này được gọi là khóa ngoại. ▬ Mục tiêu của việc khai báo quan hệ là phục vụ cho việc liên kết thông tin. Đồng thời để tạo sự phụ thuộc của dữ liệu khi nhập. ▬ Có hai loại quan hệ thường gặp trong Access:  Table A có quan hệ một - một với Table B khi một giá trị trên Field quan hệ ở Table A chỉ xuất hiện một lần trên Field quan hệ ở Table B và ngược lại.  Table A có quan hệ một - nhiều với Table B khi một giá trị trên Field quan hệ ở Table A có thể xuất hiện ít nhất một lần trên Field quan hệ ở Table B. Ngược lại, với một giá trị trên Field quan hệ ở Table B chỉ xuất hiện một lần duy nhất trên Field quan hệ ở Table A. b. Tạo quan hệ ▬ Menu Tools  Relationship ▬ Chọn các Table tham gia tạo quan hệ từ cửa sổ Show Table (Manu Relationship  Show Table để mở cửa sổ Show Table). ▬ Giữa hai Table có quan hệ, kéo Field quan hệ đặt chồng lên nhau. ▬ Đánh dấu  vào ba tùy chọn trong hộp Edit Ralationship:  Enforce Referential Integrity: Dùng để ràng buộc giá trị nhập trên Field khóa ngoại phải phụ thuộc tồn tại vào giá trị trong Field khóa chính.  Cascade Update Related Fields: Nếu muốn khi sửa giá trị trên Field khóa chính thì giá trị trên Field khóa ngoại cũng thay đổi theo.  Cascade Delete Ralated Fields: Nếu muốn khi xóa giá trị trên Field khóa chính thì giá trị trên Field khóa ngoại cũng xóa theo. c. Hiệu chỉnh dây quan hệ ▬ Xóa dây quan hệ: nhấp phải vào dây quan hệ  Chọn Delete ▬ Hiệu chỉnh thông số cho dây quan hệ: nhấp phải vào dây quan hệChọn Edit Relationship ▬ Xóa bảng ra khỏi của sổ Relationship: nhấp chọn bảng  Bấm Delete Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 11

TRƯỜNG TCN KTCN HÙNG VƯƠNG
2.4- Nhập dữ liệu vào Table

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ Nhập dữ liệu vào table trong chế độ Datasheet. ▬ Thông thường là dữ liệu nhập theo hàng. ▬ Giá trị nhập vào Field quan hệ bên “một” có thể không có bên “nhiều”. Ngược lại, một giá trị nhập vào Field quan hệ bên “nhiều” bắt buộc phải tồn tại bên “một”. ▬ Chỉ có thể nhập Record mới ở cuối Table, không thể chèn một Record mới vào giữa Table. ▬ Có thể sử dụng các lệnh sau trong quá trình nhập liệu:  Menu Format  Font: Chọn phông chữ khi nhập liệu.  Menu Record  Sort  Sort Ascending/Sort Descending: Sắp xếp dữ liệu khi nhập.  Menu Edit  Delete Record: Xóa Record. a. Đối với các Field là khóa ngoại hoặc lồng khóa (bên nhiều), ta có thể tham chiếu dữ liệu từ Field của bên “một” để thuận lợi trong việc nhập liệu (tránh nhập dữ liệu chưa tồn tại bên “một”). Theo các bước sau:  Tại cửa sổ “Design Table”  Đặt con trỏ tại dòng Field cần tham chiếu  Field Properties  Thẻ Lookup  Display Control  Combo Box  Nhấp vào nút ba chấm trong mục Row Source  Chọn Table chứa Field bên “một” chứa dữ liệu tham chiếu và kéo Field xuống dòng Field  Đóng cửa sổ hiện hành  Yes b. Có thể tự tạo một danh sách các giá trị chọn lựa cho Field khi nhập liệu. Ví dụ: Field Donvitinh có thể tạo các giá trị nhập: m, kg, lít, hộp, chai, …  Tại cửa sổ “Design Table”  Đặt con trỏ trong Field cần tạo.  Field Properties  Thẻ Lookup  Display Control  Combo Box  Mục Row Source Type  Value List  Nhập danh sách cần tạo trong mục Row Source c. Nhập hình vào Field Hinh:  Đặt con trỏ tại ô cần chèn  Menu Insert  Objects  Chọn cách chèn hình:  Create New: Chèn hình từ thư viện chứa hình. Ví dụ như : Corel, Paint, Word Picture, … Create From File: Chèn hình từ File hình (bấm nút Browse để mở hộp thoại chọn File hình) Trang 12

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG
II. Giới thiệu các CSDL mẫu 1- CSDL quản lý bán hàng: Banhang.mdb

GIÁO TRÌNH MICROSOFT ACCESS 2003

Chương trình quản lý các hóa đơn bán hàng tại một cửa hàng bán các sản phẩm vật liệu xây dựng. Bao gồm các Table : ▬ Table Khachhang: Chứa các thông tin về khách hàng có quan hệ mua hàng với cửa hàng. ▬ Table Nhanvien: Chứa các thông tin về các nhân viên làm việc tại cửa hàng. ▬ Table Sanpham: Chứa các thông tin về sản phẩm được bày bán tại cửa hàng. ▬ Table Hoadon: Chứa các thông tin về các hóa đơn xuất hàng. ▬ Table Chitiet: Chứa các thông tin chi tiết về các hóa đơn xuất hàng. 2- CSDL quản lý học viên: Hocvien.mdb Chương trình quản lý các học viên đăng ký học các môn học ngắn hạn tại một trung tâm Tin học & Ngoại ngữ. Bao gồm các Table: ▬ Table Hocvien: Chứa các thông tin về học viên đăng ký học tại trung tâm. ▬ Table Ketqua: Chứa kết quả học tập của các học viên trong mỗi lớp. ▬ Table Lop: Chứa danh sách các lớp học Tin học & Ngoại ngữ. ▬ Table Phancong: Chứa danh sách phân công giáo viên giảng dạy cho các lớp. ▬ Table Giaovien: chứa các thông tin về giáo viên hợp đồng giảng dạy. 3- CSDL quản lý kho hàng: KhoHang.mdb

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 13

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

BÀI 03:

QUERY TRONG MICROSOFT ACCESS
I. GIỚI THIỆU QUERY:

Query là công cụ khái thác và xử lý dữ liệu, nó được dùng để trích chọn và nối kết các thông tin từ các Table. Có nhiều loại Query, nhưng Select Query là loại thông dụng nhất, nó bao gồm các chức năng chính :  Chọn các Field từ một hoặc nhiều Table.  Tạo ra các Field mới.  Tổng hợp dữ liệu trên các field. Kết quả của Query là một Table và nó có thể đáp ứng các nhu cầu tra cứu thông tin của người sử dụng và là cơ sở nguồn để tạo ra các Form và Report sau này. Chế độ thiết kế: Menu View  Design View Chế độ xem kết quả: Menu View  Datasheet View II. THIẾT KẾ SELECT QUERY 1. Thiết kế Query: Cửa sổ Database  Thẻ Query  New Hộp thoại New Query: Design View OK

 Cửa sổ Show Table ta thực hiện:
   Chọn Table tham gia trong danhsách. Bấm nút “Add”. Bấm nút “Close” khi nào đã chọn xong các Table tham gia.


     

Cửa số Design (Cửa sổ QBE): Thực hiện các mục sau: Dòng Field: Kéo các Field tham gia tạo Query từ Table xuống (hay Click kép). Dòng Table: Hiển thị tên Table tương ứng. Dòng Sort: Chọn cách sắp xếp khi có nhu cầu (Ascending: giảm dần; Descending: tăng dần). Thứ tự sắp xếp từ trái qua phải. Dòng Show: Xuất hiện hoặc không trong bảng kết quả (Datasheet). Dòng Criteria: Biểu thức điều kiện lọc dữ liệu cho Field. Dòng Or: Biểu thức điều kiện hoặc so với dòng Criteria. Trang 14

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

 

Chuyển qua chế độ Datasheet để kiểm tra kết quả Query. Menu File  Save để lưu.

Ví dụ 1: Cho biết Tên khách hàng, mã hóa đơn, ngày lập đơn, ngày nhận hàng.

Ví dụ 2: Cho biết Mã hóa đơn, ngày lập đơn, tên sản phẩm, số lượng, đơn giá.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 15

TRƯỜNG TCN KTCN HÙNG VƯƠNG
2. Các phép hỗ trợ khi thiết kế Query 2.1- Bảng các phép toán số học Phép toán ^ * / \ + mod () Phép Phép Phép Phép Phép Phép Phép Phép

GIÁO TRÌNH MICROSOFT ACCESS 2003

Ý nghĩa lũy thừa. nhân. chia. chia nguyên. cộng. trừ. chia dư. toán gộp.

2.2- Bảng các phép toán chuỗi Phép toán & Ý nghĩa Phép ghép chuỗi.

2.3- Bảng các phép toán so sánh Phép toán = <> > <= < >= So So So So So So sánh sánh sánh sánh sánh sánh Ý nghĩa bằng khác lớn hơn nhỏ hơn hoặc bằng nhỏ hơn lớn hơn hoặc bằng

2.4- Bảng các phép toán logic  Phép toán phủ định: NOT

A
True False  Phép toán và: AND

not A
False True

A
True True False False  Phép toán hoặc: OR

B
True False True False

A and B
True False False False

A
True True False False Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

B
True False True False

A or B
True True True False Trang 16

TRƯỜNG TCN KTCN HÙNG VƯƠNG
2.5- Phép đối sánh mẫu

GIÁO TRÌNH MICROSOFT ACCESS 2003

Cú pháp <Field> like <mẫu dữ liệu> ▬ ▬ So sánh giá trị của Field với <mẫu dữ liệu>. Nếu giống thì trả về giá trị True, ngược lại trả về False. Có thể sử dụng các ký tự đại diện sau để so sánh:    Ký tự *: đại diện cho một chuỗi ký tự. Ký tự ?: đại diện cho một ký tự. Ký tự #: đại diện cho một ký số.

Ví dụ: Tenkh like “Cong ty TNHH *”  Tìm các khách hàng có tên bắt đầu là “Cong ty TNHH”. Ví dụ: Holot like “Nguyen *”  Tìm các nhân viên có họ “Nguyen”. 2.6- Phép toán “Between … And …” Cú pháp <Field> between <giá trị 1> and <giá trị 2> ▬ Tìm giá trị Field nằm trong một phạm vi. Nếu tìm thấy sẽ cho giá trị True, ngược lại trả về False.

Ví dụ: Ngaylaphd between #01/01/02# and #31/12/02#  Tìm các hóa đơn lập trong năm 2002. 2.7- Phép toán “In” Cú pháp <Field> in(<giá trị 1>;<giá trị 2>; …) ▬ Tìm các giá trị của Field phù hợp với một trong các <giá trị n> trong ngoặc. Nếu tìm thấy thì trả về True, ngược lại trả về False.

Ví dụ: Thanhpho in(“Bien Hoa”;”Ha Noi”;”TpHCM”)  Tìm các khách hàng ở các thành phố: Bien Hoa, Ha Noi, TpHCM. Ví dụ: Month(Ngaylaphd) in(9;10)  Tìm các hóa đơn lập trong tháng 9 hoặc 10. 2.8- Phép toán “Is Null” và “Is not Null” Cú pháp <Field> is Null <Field> Is not Null ▬ Kiểm tra giá trị của Field có rỗng hay không.

Ví dụ: Dienthoaikh Is Null  Tìm các khách hàng chưa có điện thoại. Ví dụ: Dienthoaikh Is not Null  Tìm các khách hàng đã có điện thoại. Ví dụ: Ngaynhan Is Null  Tìm các hóa đơn chưa giao hàng. Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 17

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

3. Một số các hàm thường dùng trong Query

Hàm
1

Ý nghĩa

2

3

4

5

6

7

IIf(<điều kiện>;<giá trị 1>;<giá trị 2>) Kiểm tra điều kiện Ví dụ: IIf(ngaylaphd between #1/1/04# and #30/6/04#;”6 tháng đầu”;”6 tháng cuối”) Month(<ngày>) Trả về giá trị tháng Ví dụ: Month(#15/12/04#)  12 Year(<ngày>) Trả về giá trị năm Ví dụ: Year(#15/12/04#)  2004 Day(<ngày>) Trả về giá trị ngày Ví dụ: Day(#15/12/04#)  15 Datepart(“mã ngày tháng năm”;<ngày>) Trả về khoảng phần của ngày Ví dụ: Datepart(“m”;ngaylaphd)  Trả về các giá trị tháng trong ngày lập đơn (1 – 12) Datepart(“q”;ngaylaphd)  Trả về các giá trị quý trong ngày lập đơn (1 – 4) Datepart(“yyyy”;ngaylaphd)  Trả về các giá trị năm trong ngày lập đơn Val(<ký số>) Trả về giá trị số Ví dụ: Val(“12345”)  số 12345 Round(<số>;<cách làm tròn) Làm tròn số Ví dụ: Round(123.45;1)  123.5 4. Tạo Field mới trong Query Cú pháp <Tên Field mới>: <biểu thức> ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ Công thức tạo Field mới được nhập tại dòng Field trong cửa sổ QBE. Tên Field mới không có khoảng trắng và không dấu. Tên Field mới không được trùng với tên Field đã có. Biểu thức tạo Field mới thường có sự tham gia của các Field đã có và các Field tham gia này phải có mặt trong cửa sổ QBE. Các giá trị “hằng chuỗi” được đặt trong cặp dấu nháy kép (“…”), các giá trị “hằng ngày tháng” được đặt trong cặp dấu thăng (#...#). Trường hợp có hai Field trùng tên trên các Table nguồn thì cần phải chỉ rõ bằng cú pháp: <tên table>.<tên Field> Có thể dùng Field mới tạo ra ở cột đứng trước tham gia vào biểu thức tạo ra Field mới ở cột đứng sau. Có thể phóng lớn ô đang soạn thảo công thức bằng cách nhấn: Shift F2

Ví dụ 1: Cho biết Mã hóa đơn, tên sản phẩm, số lượng, đơn giá, thành tiền Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 18

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Thanhtien:Dongia*Soluong

Ví dụ 2: Cho biết Mã nhân viên, họ tên nhân viên, mã hóa đơn, thành tiền

5. Query có điều kiện 5.1- Điều kiện đơn hoặc kép thuộc về 1 Field ▬ Đặt điều kiện ngay tại ô Criteria của Field thông qua các phép toán đã biết.

Ví dụ: Cho biết các hóa đơn của khách hàng có mã số “kh005” đặt. Gồm: Mã hóa đơn, ngày lập đơn, ngày nhận hàng, mã sản phẩm, số lượng.

Ví dụ: Cho biết danh sách các đơn đặt hàng lập trong quý 1 năm 2004. Gồm: Tên khách hàng, mã hóa đơn, ngày lập đơn, ngày nhận hàng.

Between #1/1/04# and #31/3/04#

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 19

TRƯỜNG TCN KTCN HÙNG VƯƠNG
5.2- Điều kiện “Và” thuộc về nhiều Field ▬

GIÁO TRÌNH MICROSOFT ACCESS 2003

Đặt điều kiện tại các ô Criteria của các Field tương ứng nằm trên cùng dòng thông qua các phép toán đã biết.

Ví dụ: Cho biết các hóa đơn mà nhân viên có mã số 5 đã lập trong tháng 8 năm 2004. Gồm: Họ tên nhân viên, phái, mã hóa đơn, thành tiền.

Between #1/8/04# and #31/8/04#

5.3- Điều kiện “hoặc” thuộc về nhiều Field ▬ Đặt điều kiện tại các ô Criteria của các Field tương ứng nằm trên các dòng khác nhau thông qua các phép toán đã biết.

Ví dụ: Cho biết các hóa đơn lập hoặc giao hàng trong quý 2 năm 2004. Gồm: Mã hóa đơn, ngày lập đơn, ngày nhận hàng.

Between #1/4/04# and #30/6/04#

6. Tạo Query có khai báo thêm thuộc tính ▬ Ẩn các Record trùng nhau : Trong cửa sổ QBE  menu View  Properties  Trong cửa sổ “Properties”  Unique Values : Yes

Ví dụ: Cho biết danh sách các khách hàng đặt đơn trong tháng 1 năm 2004. Gồm: Mã khách hàng, tên khách hàng, điện thoại. Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 20

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Between #1/1/04# and #31/1/04#

Hiện các Record có giá trị thuộc một Field lớn nhất hoặc nhỏ nhất: Trong cửa sổ QBE  Tại Field cần hiện giá trị lớn nhất hoặc nhỏ nhất  Ô Sort: Descending hoặc Ascending  menu View  Properties  Trong cửa sổ “Properties”  Top Values: 1

Ví dụ: Cho biết sản phẩm có đơn giá cao nhất. Gồm: Mã sản phẩm, tên sản phẩm, đơn giá, đơn vị tính.

7. Tạo Query tham số ▬ Dạng Query điều kiện mà trong đó tại ô Criteria của các Field thay vì nhập các biểu thức điều kiện cụ thể, ta nhập thay thế bằng các thông báo nằm trong cặp dấu ngoặc vuông […]. Khi chạy Query, thay vì Query hiển thị các Record theo điều kiện cụ thể thì sẽ xuất hiện hộp thoại “Enter Parameter Query” để yêu cầu người sử dụng nhập vào các giá trị theo ý muốn để làm điều kiện cho Query.

Ví dụ: Khi muốn xem danh sách các khách hàng theo thành phố “Biên Hòa” ta tạo một Query và nhập điều kiện “Bien Hòa” tại ô Criteria của Field Thanhpho. Nếu muốn xem khách hàng theo thành phố “Hà Nội” ta tạo một Query và nhập điều kiện “Bien Hòa” tại ô Criteria của Field Thanhpho. ▬ Như vậy nếu có nhiều thành phố cần xem thì ta phải tạo nhiều Query tương ứng và các Query này lại có cùng dạng. Điều này không thuận lợi trong việc lưu trữ dữ liệu. Để thay thế cho điều này, ta tạo một Query như sau: Trang 21

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Câu thông báo : [Nhập tên thành phố cần xem]

Query này khi chạy sẽ xuất hiện hộp thoại “Enter Parameter Value” yêu cầu bạn nhập tên thành phố bạn cần xem. Sau khi bấm OK thì Query sẽ cho hiện lên danh sách các khách hàng theo nhu cầu.

8. Một số các thao tác khi thiết kế Query ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ Thêm Table vào cửa sổ thiết kế: Menu Query  Show Table Xóa Table khỏi cửa sổ thiết kế: Chọn Table  Phím Delete Sử dụng bộ tạo biểu thức để tạo các biểu thức điều kiện : công cụ Build Chọn một cột: Nhấp mouse ở vị trí đầu cột. Xóa cột: Chọn cột  Phím Delete Di chuyển cột: Chọn cột  Kéo mouse trong vùng chọn. Chèn cột: Đặt con trỏ tại cột bên phải  Menu Insert  Column Khai báo thuộc tính cho Field: Nhấp phải tại Field  Properties. Gồm một số thuộc tính:    Description: Nội dung diễn tả ý nghĩa Field. Format: Các dạng thức của dữ liệu. Caption: Nhãn của Field.

III. Các loại Query khác tạo bằng Wizard 1. Find Duplicates Query ▬ Loại Query tìm kiếm các Record chứa giá trị trùng nhau trên một hay nhiều Field nào đó. Query này được ứng dụng trong việc xác định các giá trị trên Field có lặp lại hay không ? Ví dụ: Cho biết những thành phố nào có từ 2 khách hàng trở lên. Gồm : Mã khách hàng, tên khách hàng, điện thoại, địa chỉ. ▬ Các bước tạo:   Cửa sổ “Database”  Thẻ Query  New Chọn Find Duplicates Query Wizard  OK Trang 22

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG
 Hộp thoại 1: Chọn Table|Query mà trên đó có Field chứa giá trị trùng nhau.

GIÁO TRÌNH MICROSOFT ACCESS 2003

Hộp thoại 2: Chọn Field chứa giá trị trùng.

Hộp thoại 3: Chọn các Field có trong Query.

Hộp thoại 4: Đặt tên cho Query.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 23

TRƯỜNG TCN KTCN HÙNG VƯƠNG
2. Find Unmatched Query ▬ ▬ ▬   

GIÁO TRÌNH MICROSOFT ACCESS 2003

Loại Query cho phép hiển thị các Record trong một bảng (bảng bên “một”) mà không có trong một bảng khác (bảng bên “nhiều”) Ví dụ: Tìm các khách hàng chưa đặt đơn hay tìm các sản phẩm chưa có đơn đặt hàng, … Các bước tạo: Cửa sổ “Database”  Thẻ Query  New Chọn Find Unmatched Query Wizard  OK Hộp thoại 1: Chọn Table bên “một”.

Hộp thoại 2: Chọn Table bên “nhiều”.

Hộp thoại 3: Hiển thị Field quan hệ trong 2 Table trên.

Hộp thoại 4: Chọn các Field xuất hiện trong bảng kết quả.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 24

TRƯỜNG TCN KTCN HÙNG VƯƠNG
 Hộp thoại 5: Đặt tên cho Query.

GIÁO TRÌNH MICROSOFT ACCESS 2003

IV. Total Query: 1. Tổng quan ▬ Dùng để nhóm các Record trên Table|Query giống nhau theo một tiêu chuẩn nào đó của một hay nhiều Field để từ đó có được các thông tin liên quan đến nhóm như : số Record trong nhóm, tổng giá trị của Field liên quan của nhóm, giá trị cao nhất của Field liên quan của nhóm, … Giá trị của từng hóa đơn : số sản phẩm của hóa đơn, tổng thành tiền của hóa đơn, trung bình thành tiền của các hóa đơn, … Thông tin về mỗi khách hàng: số hóa đơn đã đặt, tổng thành tiền phải trả, … Thông tin về mỗi sản phẩm: … Thông tin về mỗi nhân viên: … Thông tin về các hóa đơn: số sản phẩm trên đơn, thành tiền, … Các tiêu chuẩn thường dùng để tổng hợp: Ý nghĩa Nhóm các Record có giá giống nhau thành một. Tính tổng các giá trị trên cột của nhóm. Tính trung bình các giá trị trên cột của nhóm. Tìm giá trị cao nhất trên cột của nhóm. Tìm giá trị thấp nhất trên cột của nhóm. Đếm số Record trên cột của nhóm. Cho biết cột là biểu thức tính toán. Cho biết cột là một biểu thức điều kiện dùng để lọc Record trước khi nhóm.

Ví dụ:      ▬

Phương thức Group by Sum Avg Max Min Count Expression Where

2. Các bước tạo Total Query ▬ ▬ ▬ ▬ Bước 1: Cửa sổ Database  Thẻ Query  New  Design View Bước 2: Chọn các Table tham gia trong cửa sổ Show Table. Bước 3: Chọn các Field tham gia tạo Query. Bước 4: Menu View  Total  Xuất hiện thêm dòng Total trong cửa sổ Design. Trang 25

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Dòng Total là nơi để chọn các tiêu chuẩn cho Field

▬ ▬ ▬

Bước 5: Tại dòng Total  Chọn các tiêu chuẩn lập tổng nhóm (tiêu chuẩn mặc nhiên được chọn là Group by). Bước 6: Kiểm tra kết quả Query: Menu View  Datasheet View Bước 7: Lưu Query Có thể thực hiện việc tính tổng cộng trên tất cả các Record của một hoặc nhiều Table bằng cách khi thiết kế Query không chọn tiêu chuẩn Group by trong các cột có mặt trong lưới QBE. Ở chế độ Datasheet, Access cho hiển thị những tiêu đề phản ánh các kết quả đã thực hiện. Chẳng hạn, AvgOfThanhtien, SumOfThanhtien, MaxOfDongia, …. Nếu muốn, ta có thể đổi tên các tiêu đề này cho phù hợp. Nhưng Field mới tạo sẽ không được phép tham gia trong biểu thức tạo Field mới của cột đứng sau. Có thể truyền tham số từ bàn phím vào Total Query. Field được chọn tiêu chuẩn Where sẽ không được đánh dấu chọn ở dòng Show.

Một số lưu ý khi tạo Total Query: 

 

3. Một số các ví dụ Ví dụ 1: Cho biết số hóa đơn mà mỗi khách hàng đã đặt. Gồm: Mã khách hàng, tên khách hàng, số hóa đơn.

Sohd:Mahd

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 26

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Ví dụ 2: Cho biết tổng số tiền mà mỗi khách hàng đã trả cho tất cả các đơn đặt hàng. Gồm: Mã khách hàng, tên khách hàng, tổng thành tiền.

Thanhtien:dongia*soluong

Ví dụ 3: Muốn biết thông tin tổng hợp về khách hàng. Gồm: Mã khách hàng, tên khách hàng, số hóa đơn, tổng thành tiền của các hóa đơn. (Tạo một Select Query với sự tham gia của hai Total Query vừa tạo ở trên)

Kéo Field để tạo liên kết

Ví dụ 4: Cho biết thông tin về mỗi sản phẩm trong quý 3 năm 2004. Gồm: Mã sản phẩm, tên sản phẩm, số hóa đơn đã ghi cho sản phẩm, tổng thành tiền sản phẩm.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 27

TRƯỜNG TCN KTCN HÙNG VƯƠNG
V. Tổng hợp bằng Crosstab Query 1. Tổng quan ▬

GIÁO TRÌNH MICROSOFT ACCESS 2003

Có dạng tổng hợp dữ liệu như Total Query dựa trên việc lập nhóm của ít nhất là 2 Field và được trình bày dưới dạng bảng kết quả 2 chiều. Do đó sẽ dễ quan sát và rõ ràng hơn. Crosstab Query rất thông dụng trong việc sử dụng làm nguồn để tạo các Report hoặc Subform.

Ví dụ: Bảng tổng hợp thành tiền của mỗi khách hàng theo từng quý của năm 2004.

2. Các bước tạo Crosstab Query ▬ ▬ ▬ ▬ ▬ ▬ Bước 1: Cửa sổ Database  Thẻ Query  New  Design View Bước 2: Chọn các Table|Query tham gia tạo Query mới. Bước 3: Chọn các Field tham gia tạo Query. Bước 4: Menu View  Total  Xuất hiện dòng Total. Bước 5: Menu Query  Crosstab Query  Xuất hiện dòng Crosstab. Bước 6: Chọn các tiêu chuẩn:  Chọn Column Heading ở dòng Crosstab ứng với chọn Group By ở dòng Total của Field được dùng làm tiêu đề cột (chỉ được chọn một Column Heading).  Chọn Row Heading ở dòng Crosstab ứng với chọn Group By ở dòng Total của Field được dùng làm tiêu đề hàng (có thể chọn nhiều Row Heading nhưng có ít nhất một Group By trong các Row Heading này).  Chọn Value ở dòng Crosstab ứng với chọn một tiêu chuẩn tổng kết ở dòng Total (không phải là Group By) của Field được dùng để tổng kết dữ liệu (chỉ được chọn một Value).  Chọn Not Shown ở dòng Crosstab ứng với Field được chọn Where để lập điều kiện lựa chọn. ▬ Bước 7: Kiểm tra kết quả. Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 28

TRƯỜNG TCN KTCN HÙNG VƯƠNG
Một số lưu ý khi tạo Crosstab Query: ▬

GIÁO TRÌNH MICROSOFT ACCESS 2003

Nếu Crosstab Query được dùng để làm nguồn cho Report hoặc Subform thì cần phải chỉ định các tiêu đề cột cho bảng kết quả của Crosstab Query: Trong ví dụ trên, các tiêu đề cột “Quy1”, “Quy2”, “Quy3”, “Quy4” cần phải được khai báo như sau :  Bấm mouse tại vùng trống của cửa sổ Disgn Query  Chọn Properties  Trong mục Column Heading nhập: “Quy1”; “Quy2”; “Quy3”; “Quy4”

3. Một số các ví dụ Ví dụ 1: Giả sử muốn thiết lập một bảng biểu tổng hợp cho biết mỗi nhân viên của công ty đã bán mỗi mặt hàng được bao nhiêu tiền và tổng số tiền là bao nhiêu.

Bảng kết quả:

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 29

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Ví dụ 2: Để tìm hiểu xem mỗi khách hàng của công ty đã đặt bao nhiêu đơn đặt hàng trong mỗi tháng của năm 2004, đồng thời cho biết tổng số hóa đơn đã đặt hãy thiết kế một Crosstab Query như sau:

Bảng kết quả :

VI. Các Query hành động ▬ ▬ ▬ Các Query cho phép cập nhật và hiệu chỉnh dữ liệu đồng loạt một cách tự động trên các Record từ các Table trong CSDL. Các Query hành động có thể gây nên việc mất dữ liệu ngoài ý muốn, nên khi thực thi sẽ xuất hiện một thông báo yêu cầu xác việc thực thi Query. Để tránh mất dữ liệu khi thiết kế các Query hành động nên tạo một bản sao CSDL trước khi thực thi Query.

1. Make Table Query a. Giới thiệu ▬ Make Table Query cho phép trích ra những Record từ một hoặc nhiều Table theo những điều kiện được khai báo và sử dụng những Record này để tạo ra một Table mới. b. Ý nghĩa ▬ Thiết kế các báo cáo kết xuất những số liệu phát sinh tính từ một thời điểm nào đó hoặc tính đến một thời điểm nào đó. Ví dụ, muốn thiết kế một bảng báo cáo trình bày doanh số bán hàng trong 2 tháng cuối năm 2004. Thiết kế một Make Table Query tạo ra một Table mới với những Record được trích từ các Record hóa đơn bán trong 2 tháng cuối năm 2004 và sau đó dựa vào Table mới này để thiết kế báo cáo. Trang 30

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG
▬ ▬

GIÁO TRÌNH MICROSOFT ACCESS 2003

Tạo ra bản sao phòng hờ cho một Table có tầm quan trọng đặc biệt. Làm tăng tính hiệu quả của Form và Report khi chúng cần những dữ liệu nguồn từ nhiều Table. Việc tạo ra Make Table Query từ nhiều Table sau đó dùng nó làm nguồn dữ liệu cho Form hoặc Report sẽ làm cho tốc độ khai thác dữ liệu tăng lên đáng kể. Thế nhưng Make Table Query hoàn toàn bị động và chỉ được ghi nhận tại thời điểm chạy Query. c. Các bước tạo Make Table Query

▬ ▬ ▬ ▬

Bước 1 : Thực hiện việc tạo Query trong chế độ Design View. Bước 2: Chọn các Table và các Field cần thiết. Bước 3: Menu Query  Make Table Query Bước 4: Hộp thoại “Make Table”:  Table Name: Nhập tên Table mới.  Current Database: Table mới sẽ thuộc CSDL hiện hành.  Another Database: Table mới đặt trong một CSDL khác được khai báo trong hộp File Name.

▬ ▬

Bước 5: Kiểm tra kết quả Query: Menu View  Datasheet View Bước 6: Menu Query  Run để thực thi Query.

Chú ý: ▬ Sau khi chạy (Run) Make Table Query trong CSDL sẽ tồn tại thêm một Table mới, các Field trong Table mới được lấy từ những Table khác và có cùng các thuộc tính. Tuy nhiên, Table này không có Field khóa chính và không có sự liên hệ nào khác. Có thể mở Table mới này ở chế độ Design View để thêm khóa chính, thiết lập mối quan hệ hoặc khai báo thuộc tính cho những Field của Table. Chỉ thực thi (Run) Make Table Query khi nào thực sự muốn tạo một Table mới. 2. Delete Query: a. Giới thiệu ▬ ▬ Dùng để loại bỏ các Record ra khỏi Table theo một điều kiện nào đó. Đồng thời bảo đảm tính chính xác trong thao tác xóa bỏ. Trong phần lớn trường hợp, chỉ có thể xóa bỏ những Record trong một Table. b. Các bước tạo Delete Query ▬ ▬ ▬ Bước 1: Tạo Query trong chế độ Design. Bước 2: Chọn Table. Bước 3: Chọn Menu Query  Delete Trang 31

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG
▬ ▬ ▬ ▬ ▬

GIÁO TRÌNH MICROSOFT ACCESS 2003

Bước 4: Trong cửa sổ Design kéo dòng có biểu tượng dấu * của Table chứa các Record muốn xóa vào vùng lưới QBE (Ô Delete của Field này xuất hiện từ From). Bước 5: Chọn các Field dùng để đặt điều kiện xóa vào các cột tiếp theo (Ô Delete của các vùng này sẽ xuất hiện từ Where). Bước 6: Trong ô Criteria của các vùng có từ Where khai báo các điều kiện xóa. Bước 7: Chuyển sang chế độ Datasheet View để kiểm tra Query. Bước 8: Thực thi Query: Menu Query  Run 3. Append Query: a. Giới thiệu Append Query dùng để cập nhật thêm dữ liệu vào cuối một Table từ một Table khác. Mặt khác cũng có thể đưa thêm dữ liệu vào Table phụ thuộc vào một điều kiện nào đó. b. Các bước tạo Append Query

▬ ▬ ▬ ▬

Bước 1: Tạo Query trong chế độ Design. Bước 2: Chọn Table có dữ liệu muốn nối thêm vào Table khác. Bước 3: Chọn Menu Query  Append Query  Xuất hiện dòng Append to trong lưới QBE. Bước 4: Hộp thoại “Append”:  Table Name: Nhập tên Table đích nơi muốn thêm dữ liệu vào.  Current Database: Table đích nằm trong CSDL hiện hành.  Another Database: Table đích nằm trong một CSDL khác được khai báo trong hộp File Name.

▬ ▬ ▬ ▬

Bước 4: Chọn các Field có dữ liệu cần nối thêm vào lưới QBE (tên Field được so sánh trong các ô Append to). Bước 5: Thiết lập điều kiện lựa chọn tại các ô Criteria. Bước 6: Kiểm tra kết quả của Query trong chế độ Datasheet. Bước 7: Thực thi Query: Menu Query  Run 4. Update Query a. Giới thiệu Cho phép hiệu chỉnh và cập nhật có hệ thống dữ liệu của các Table đang tồn tại trong CSDL hiện hành. b. Các bước tạo Update Query

▬ ▬

Bước 1: Tạo Query trong chế độ Design View. Bước 2: Chọn Table tương ứng vào vùng lưới QBE. Trang 32

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG
▬ ▬ ▬ ▬ ▬ ▬

GIÁO TRÌNH MICROSOFT ACCESS 2003

Bước 3: Chọn Menu Query  Update Query  Xuất hiện dòng Update to trong lưới QBE. Bước 4: Đưa các Field muốn cập nhật và các Field để lập tiêu chuẩn cập nhật vào lưới QBE. Bước 5: Nhập tiêu chuẩn cập nhật vào các ô Criteria tương ứng. Bước 6: Nhập biểu thức có giá trị cần cập nhật vào các ô Update to tương ứng. Bước 7: Kiểm tra Query trong chế độ Datasheet View. Bước 8: Thực thi Query: Menu Query  Run *********************************************************

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 33

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

BÀI 04:

FORM WIZARD TRONG MICROSOFT ACCESS
I. Tổng quan:
▬ Form là đối tượng dùng để cập nhật hoặc trình bày dữ liệu trong các Query. Form có hình thức rất phong phú do đó thường được dùng để thiết kế các giao diện để cập nhật dữ liệu vào các Table (Gọi là Form có nguồn). ▬ Ngoài ra Form còn được dùng để tạo các vùng làm việc trung gian (hộp thoại) trong quá trình xử lý dữ liệu (Gọi là Form không có nguồn). ▬ Thiết kế Form theo hướng dẫn của Access (Form Wizard) là tạo ra Form có nguồn. ▬ Chế độ hiển thị Form: Menu View  Form View ▬ Chế độ thiết kế Form: Menu View  Design View

II. Form Wizard
1. Tạo Form đơn ▬ Loại Form có nguồn là một Table hoặc một Query với 4 dạng hiển thị:  Columnar: Dữ liệu hiển thị theo cột và tại mỗi thời điểm chỉ tồn tại duy nhất một Record.  Tabular: Dữ liệu hiển thị theo hàng và mỗi hàng là một Record.  Datasheet: Dữ liệu có dạng một bảng tính.  Justified: Dữ liệu sắp xếp liên tục từ trái qua phải và từ trên xuống dưới và tại mỗi thời điểm chỉ tồn tại duy nhất một Record. ▬ Các bước tạo Form đơn:  Tạo Query nguồn (nếu cần)  Cửa sổ Database  Thẻ Form  New  Cửa sổ New Form  Chọn Form Wizard và chọn nguồn trong hộp “Choose the table or query where the object’s data come from”  OK

Hộp thoại 1: Chọn các Field hiển thị trên Form từ “Available Field” qua “Selected Field” (Field không được đưa qua vần thuộc nguồn của Form).

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 34

TRƯỜNG TCN KTCN HÙNG VƯƠNG
 Hộp thoại 2: Chọn dạng hiển thị Form.

GIÁO TRÌNH MICROSOFT ACCESS 2003

Hộp thoại 3: Chọn loại nền cho Form.

Hộp thoại 4: Đặt tên cho Form (nên đặt không có khoảng trắng). Ví dụ 1: Mẫu Form dạng Columnar với nguồn là Table Nhanvien.

Ví dụ 2: Mẫu Form dạng Tabular với nguồn là Table Nhanvien.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 35

TRƯỜNG TCN KTCN HÙNG VƯƠNG
Ví dụ 3: Mẫu Form dạng Justified với nguồn là Table Nhanvien.

GIÁO TRÌNH MICROSOFT ACCESS 2003

2. Tạo Main – Sub Form ▬ Loại Form có nguồn là các Field được chọn từ các Table có quan hệ “một - nhiều”. Trong đó, Form hiển thị gồm hai vùng: vùng chứa các Field bên “một” và vùng chứa các Field bên “nhiều”. ▬ Các bước tạo Main – Sub Form:  Tạo Query nguồn cho Mainform và Subform (nếu cần).  Cửa sổ “Database”  Thẻ Form  New  Chọn Form Wizard  Chọn nguồn cho Mainform trong hộp “Choose the table or query where the object’s data come from”.  Hộp thoại 1: Chọn các Field hiển thị trong vùng Mainform đưa qua danh mục Selected Field. Sau đó, chọn nguồn Subform trong hộp Table|Query và chọn các Field hiển thị trong vùng Subform đưa qua danh mục Selected Field.

Hộp thoại 2: Hiển thị dạng Main – Sub Form với tùy chọn Form with Subform hoặc Link Form.

Hộp thoại 3: Chọn dạng Subform (Datasheet hoặc Tabular). Trang 36

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Hộp thoại 4: Chọn loại nền cho Form.

Hộp thoại 5: Đặt tên cho Mainform và Subform.

Ví dụ: Mẫu Main – Sub Form “Nhanvien – Hoadon”

3. Các thao tác trên Form: 3.1- Di chuyển giữa các Record ▬ Sử dụng thanh dịch chuyển Record ở cuối Form.
Chuyển về record đầu tiên (first record) Chuyển về record đứng trước (previous record) Record hiện hành Chuyển tới record đứng sau (next record) Chuyển tới record cuối cùng (last record) Cho phép nhập record mới (add new record)

3.2- Chỉnh sửa các đối tượng trên Form ▬ Chuyển qua chế độ Design View để chỉnh sửa. Dùng mouse chọn từng đối tượng để có thể chỉnh sửa bằng các thao tác như các đối tượng Drawing của Word. Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 37

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

BÀI 05:

REPORT WIZARD TRONG MICROSOFT ACCESS
I. Tổng quan
▬ Là đối tượng dùng để kết xuất dữ liệu trên Table|Query và có tác dụng rất mạnh về mặt in ấn. Do đó, cần phải chú ý về mặt mỹ thuật khi thiết kế. ▬ Ngoài ra, để có thể thiết kế được Report ta cần phải chú ý rằng máy tính phải được khai báo kết nối với một máy in. ▬ Chế độ thiết kế : Menu View  Design View ▬ Chế độ xem trên màn hình : Menu View  Print Preview

II. Report Wizard
▬ Cũng giống như Form, ta cũng có thể tạo Report thông qua trợ giúp của Access theo các bước sau:   Tạo Query nguồn cho Report (nếu cần). Cửa sổ “Database”  Thẻ Report  New  Chọn Report Wizard và chọn nguồn trong hộp “Choose the table or query where the object’s data comes from”

Hộp thoại 1: Đưa các Field hiển thị trong Report từ Available Field qua Selected Field.

Hộp thoại 2: Chọn Field lập nhóm cho Report.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 38

TRƯỜNG TCN KTCN HÙNG VƯƠNG
 Hộp thoại 3: Chọn Field sắp xếp (tùy chọn). Nếu có nhu cầu thống kê các giá trị số trên Report ta chọn nút Summary, sau đó chọn các phương thức : sum, avg, min, max.

GIÁO TRÌNH MICROSOFT ACCESS 2003

Hộp thoại 4: Chọn dạng hiển thị Report.

Hộp thoại 5: Chọn loại nền cho Report.

Hộp thoại 6: Đặt tên cho Report (nên đặt không có khoảng trắng).

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 39

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Ví dụ 1: Mẫu Report được lập nhóm theo tên khách hàng.

Ví dụ 2: Mẫu Report được lập nhóm theo tên khách hàng và mã hóa đơn.

III. Report Label Wizard
▬ Loại Report cho phép tạo ra các mẫu dạng thư mời giống như chức năng thư trộn trong Word. ▬ Người thiết kế cần phải xác định kích thước và nội dung của mỗi mẫu thư trước khi bắt tay vào thiết kế. ▬ Ví dụ: Giả sử cửa hàng cần có các thư mời để gởi cho các khách hàng của mình dự buổi tiệc nhân dịp tất niên tại một nhà hàng nào đó theo thời gian qui định. Nhân viên vi tính trong cửa hàng có thiết lập mẫu như sau in trên 1 cột của tờ giấy A4:

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 40

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

THIỆP MỜI
Để tạo điều kiện gắn bó và cám ơn sự ủng hộ của Quý khách hàng cho chúng tôi trong thời gian vừa qua. Nay nhân dịp cuối năm, cửa hàng chúng tôi trân trọng kính mời : Quý khách :………………………………… Số điện thoại :…………………………… Vui lòng bớt chút thời gian đến dự buổi tiệc rượu của chúng tôi được tổ chức tại : Nhà hàng ABCD Địa chỉ : 123 - Nguyễn Văn Thiện Vào lúc : 17h30 Thứ Bảy, 23 tháng 08 năm 2004 Sự hiện diện của Quý khách sẽ là niềm vinh hạnh vô cùng lớn lao cho cửa hàng chúng tôi. Trân trọng kính mời Ký tên

(Mẫu có kích thước: 9.5 x 15) ▬ Các bước tạo Report Label Wizard:    Cửa sổ “Database”  Thẻ Report  New Chọn Label Wizard và chọn nguồn trong hộp “Choose the table or query where the object’s data comes from”. Hộp thoại 1: Chọn khổ giấy có sẵn hoặc nhấp nút Customize để tự xác định khổ giấy (nên chọn đơn vị Metric).

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 41

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003  Hộp thoại 2: Chọn phông, kích thước, màu sắc, … cho nội dung thư mời.

Hộp thoại 3 : Soạn thảo nội dung thư mời. Tại các vị trí cần hiện giá trị của Field thì chọn Field từ danh mục Available Field.

Hộp thoại 4: Chọn Field sắp xếp.

Hộp thoại 5: Đặt tên cho Report.

▬ Lưu ý: Trong quá trình soạn thảo nội dung có thể không diện tích trong hộp thoại để soạn thảo thì ta tạm chấm dứt việc soạn thảo. Sau đó, ở hộp thoại 5 ta chọn tùy chọn “Modify the label design” để mở cửa sổ thiết kế và bổ sung theo các mẫu xuất hiện.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 42

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

BÀI 06:

THIẾT KẾ FORM TRONG MICROSOFT ACCESS
I. Tổng quan
1- Giới thiệu ▬ Có hai dạng Form chính:  Form có nguồn: Các Form cập nhật dữ liệu  Form giao diện: Các Form đóng vai trò là đối tượng trung gian để giao tiếp dữ liệu. ▬ Chế độ thiết kế: Menu View  Design View ▬ Chế độ hiển thị dữ liệu: Menu View  Form View ▬ Khi thiết kế Form cần chú ý đến việc thay đổi các thuộc tính cho Form cũng như cho các điều khiển xuất hiện trên Form. 2- Các bước thiết kế Form ▬ Bước 1: Cửa sổ “Database”  Thẻ Form  New ▬ Bước 2: Chọn Design View  OK ▬ Bước 3: Sử dụng thanh công cụ Toolboxs để thiết kế các điều khiển trên Form. Chú ý việc thay đổi các thuộc tính cho từng điều khiển. ▬ Bước 4: Kiểm tra Form: Menu View  Form View ▬ Bước 5: Lưu 3- Cửa sổ Design ▬ Form Header/Footer : Các điều khiển thiết kế trong vùng này sẽ xuất hiện một lần ở đầu hoặc cuối của Nhấp kép vào đây để mở bảng Form. Thường dùng để thuộc tính của Form tạo các nhãn cho Form. (Lệnh : Menu View  Form Header/Footer) ▬ Page Header/Footer: Các điều khiển thiết kế trong vùng này sẽ xuất hiện một lần ở đầu hoặc cuối trang in. (Lệnh: Menu View  Page Header/Footer) ▬ Detail: Chứa các điều khiển chính của Form.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 43

TRƯỜNG TCN KTCN HÙNG VƯƠNG
4- Một số thuộc tính của Form ▬ Mở bảng thuộc tính của Form ▬ Thẻ Form:

GIÁO TRÌNH MICROSOFT ACCESS 2003

 Caption: Tiêu đề của Form khi chuyển sang Form View. (nhập|để trống)  Scrollbars: Các thanh trượt ngang dọc. (neither|horizontal|vertical|both)  RecordSelectors: Ký hiệu xác định Record hiện hành. (yes|no)  NavigationButtons: Thanh chuyển dịch Record. (yes|no)  DividingLines: Đường gạch phân cách giữa các vùng trong Form. (yes|no)  Picture: Khai báo File hình làm hình nền cho Form.  AutoResize: Tự động điều chỉnh kích thước khi mở Form. (yes|no)  AutoCenter: Tự động canh Form giữa màn hình khi mở Form. (yes}no) ▬ Thẻ Data:  RecordSource: Chọn hoặc khai báo nguồn cho Form. (có thể chọn Table|Query có sẵn hoặc khai báo bằng câu lệnh SQL)

Caption

RecordSelec NavigationButtons

DividingLine s

5- Tổng quan về các điều khiển trên Form ▬ Dù là loại Form có nguồn hay không thì trên Form đều phải chứa các điều khiển. Các điều khiển này được tạo bằng các công cụ trên thanh công cụ: Menu View  Toolbox). ▬ Các điều khiển trên thanh công cụ có thể tạo ra bằng hai cách:  Sử dụng Wizard: nhấp mouse bật sáng công cụ 2 (Control Wizard).  Thiết kế bằng tay: nhấp mouse tắt công cụ 2 (Control Wizard). ▬ Mặt khác, khi thiết kế các điều khiển ta thường thay đổi các thuộc tính của chúng. Để mở hộp thuộc tính của điều khiển, ta nhấp phải vào biên của điều khiển và chọn Properties.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 44

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ Nhấp mouse vào biên của một điều khiển thì sẽ xuất hiện 8 nút bao quanh. Khi đó ta có thể:  Xóa: Bấm phím Delete.  Di chuyển: Kéo mouse (biểu tượng mouse có hình bàn tay).  Sao chép: Ctrl C ; Ctrl V  Thay đổi kích thước: Kéo mouse trên các nút.  Thay đổi phông, kích cơ chữ, màu sắc chữ, màu nền, … : Sử dụng các công cụ trên thanh công cụ Formatting.

II. Thiết kế Form
1- Textbox 1.1- Tổng quan ▬ Textbox là một điều khiển có hai thành phần: thành phần nhãn (Label) và thành phần nội dung (Textbox). Khi thiết kế nên tập trung vào thành phần Textbox, còn thành phần nhãn ta có xóa bỏ nếu không cần thiết.

Thành phần Label

Thành phần Textbox

▬ Có 3 dạng Textbox trên Form:  Dạng 1: Dùng để hiển thị dữ liệu trên Table|Query (Có nguồn).  Dạng 2: Dùng để tính toán.  Dạng 3: Dùng để nhập dữ liệu trao đổi từ bàn phím. 1.2- Các thuộc tính thường dùng ▬ Name: Tên của Textbox, được dùng để trao đổi dữ liệu trong các câu lệnh (nên đặt bắt đầu bằng 3 ký tự là txt…). ▬ Control Source: Tên Field làm nguồn hoặc công thức tạo ra giá trị trong Textbox. ▬ Format: Các định dạng cho dữ liệu trong Textbox. ▬ Default Value: Giá trị mặc nhiên khi mở Form. ▬ Visible: Xuất hiện hoặc không ở chế độ Form View (yes|no). ▬ Enabled: Hiện sáng hoặc mờ ở chế độ Form View (yes|no). ▬ Width: Chiều rộng của Textbox (inches). ▬ Height: Chiều cao của Textbox (inches). ▬ Back Color: Màu nền của Textbox. ▬ Fore Color: Màu chữ của Textbox. Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 45

TRƯỜNG TCN KTCN HÙNG VƯƠNG
1.3- Thiết kế Textbox

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ Thiết kế Textbox dạng 1: (Form phải được khai báo nguồn) Có 2 cách:  Chọn công cụ  Nhấp mouse vào vùng Form  Mở hộp Properties  Khai báo thuộc tính Control Source (bắt buộc) và các thuộc tính khác (nếu cần)  Chỉnh sửa phù hợp trên Form.  Vào Menu View  Field List  Kéo Field trên danh sách đặt vào vùng Form  Khai báo thêm các thuộc tính khác (nếu cần)  Chỉnh sửa. ▬ Thiết kế Textbox dạng 2: Nhập trực tiếp công thức bắt đầu bằng dấu bằng (=) vào Textbox trên Form hoặc nhập vào thuộc tính Control Source. ▬ Thiết kế Textbox dạng 3: Tạo Textbox trên Form (Unbound)  Khai báo thuộc tính Name (nên khai báo) và các thuộc tính khác. Ví dụ 1: Mẫu Form có nguồn là Table Khachhang được thiết kế với các Textbox có khai báo nguồn.

Ví dụ 2: Mẫu Form không nguồn với các Textbox dạng Unbound.

2- Bound Object Frame 2.1- Tổng quan ▬ Loại điều khiển cho phép chứa dữ liệu dạng hình ảnh trong các Field kiểu OLE Object. Đây là loại điều khiển luôn có nguồn. ▬ Có 2 thành phần: thành phần nhãn (Label) và thành phần nội dung (Frame).

Thành phần Label

Thành phần Frame

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 46

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

2.2- Các thuộc tính thường dùng ▬ Name: Tên của Frame. ▬ Control Source:Tên Field làm nguồn trong Frame (nên bắt đầu bằng 3 ký tự ole…) ▬ Size Mode: Các chế độ hiển thị hình ảnh trong Frame (Clip, Zoom, Stretch). ▬ Visible: Xuất hiện hoặc không ở chế độ Form View (yes|no). ▬ Enabled: Hiện sáng hoặc mờ ở chế độ Form View (yes|no). ▬ Width: Chiều rộng của Frame (inches). ▬ Height: Chiều cao của Frame (inches). ▬ Back Color: Màu nền của Frame. 2.3- Thiết kế Bound Object Frame ▬ Giống Textbox: Có thể sử dụng Field List hoặc thiết kế bằng cách khai báo thuộc tính Control Source. Ví dụ: Mẫu Form có nguồn là Table Nhanvien chứa điều khiển Bound Object Frame.

3- Label: ▬ Đây là điều khiển dạng nhãn, được dùng để tạo các dòng mô tả trên Form. Cần chú ý các thuộc tính sau: Visible, Enabled, Back Color, Fore Color, Caption, Width, Height, … 4- Option Group, Option Button, Checkbox, Toggle Button 4.1- Tổng quan

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 47

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ Đây là tập hợp 4 điều khiển tạo nên các nhóm tùy chọn trên Form. Trong đó, Option Group là điều khiển khung nhóm tùy chọn có chức năng quản lý các tùy chọn trong nhóm. Còn 3 điều khiển còn lại là các hình thức tùy chọn trong nhóm. ▬ Có 2 dạng tùy chọn:  Dạng 1: Chỉ được chọn 1 trong số các tùy chọn trong nhóm.  Dạng 2: Có thể chọn hoặc không chọn hoặc chọn nhiều tùy chọn trong nhóm. Trên thực tế, đây là dạng nhóm tùy chọn mà trong đó các tùy chọn được thiết kế rời sau đó bao chúng lại bằng điều khiển Option Group. ▬ Nhóm tùy chọn có thể được sử dụng cho các Field kiểu Yes/No với 2 tùy chọn ứng với 2 trường hợp của Field (trường hợp Form có nguồn). Hoặc có thể thiết kế chọn lựa các giá trị để xử lý trên các Form giao diện (trường hợp Form không nguồn).

Thành phần Label
Option Button Checkbox Toggle Button

Thành phần Option Group

Chú ý: Các điều khiển Option Button và Checkbox gồm 2 thành phần : thành phần tùy chọn (bên trái) và thành phần nhãn (bên phải). Còn điều khiển Toggle Button thì nhãn chính là nội dung ghi trên nút. 4.2- Các thuộc tính thường dùng a. Option Group ▬ Name: Tên của khung nhóm tùy chọn dùng để quản lý các tùy chọn trong nhóm (nên đặt bắt đầu bằng 3 ký tự fra…) ▬ Control Source: Tên Field làm nguồn cho Option Group. ▬ Default Value: Giá trị của tùy chọn được chọn mặc nhiên khi mở Form (giá trị số). ▬ Visible: Xuất hiện hoặc không ở chế độ Form View (yes|no). ▬ Enabled: Hiện sáng hoặc mờ ở chế độ Form View (yes|no). b. Các tùy chọn: Option Button, Checkbox, Toggle Button ▬ Nếu được thiết kế theo dạng 1:  Option Value: Thuộc tính có giá trị số phân biệt với các tùy chọn khác trong nhóm dùng để Option Group quản lý. ▬ Nếu được thiết kế theo dạng 2: (mỗi tùy chọn là độc lập, nghĩa là không do Option Group quản lý)  Name: Tên của tùy chọn (nên đặt theo mẫu: opt… ; tog… ; chk…).  Control Source: Tên Field kiểu Yes/No làm nguồn cho tùy chọn.  Default Value: Trạng thái mặc nhiên khi mở Form (true|false).  Visible: Xuất hiện hoặc không ở chế độ Form View (yes|no).  Enabled: Hiện sáng hoặc mờ ở chế độ Form View (yes|no). Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 48

TRƯỜNG TCN KTCN HÙNG VƯƠNG
4.3- Thiết kế Option Group a. Sử dụng Wizard để tạo nhóm tùy chọn dạng 1

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ Bước 1: Bật công cụ Control Wizard  Chọn công cụ Option Group và nhấp vào vùng Form  Xuất hiện hộp thoại 1.
▬ Bước 2: Nhập các nhãn cho các tùy chọn

trong nhóm  Next  Xuất hiện hộp thoại 2.

▬ Bước 3: Chọn tùy chọn mặc nhiên khi mở Form  Next  Xuất hiện hộp thoại 3.

▬ Bước 4: Thay đổi các giá trị cho các tùy chọn trong cột Values (nếu cần)  Next  Xuất hiện hộp thoại 4.

▬ Bước 5: Chọn loại tùy chọn và kiểu của khung nhóm  Next  Xuất hiện hộp thoại 5.

▬ Bước 6: Đặt nhãn cho khung  Finish.

Chú ý: Sau khi tạo xong nên khai báo thêm thuộc tính Name cho khung nhóm. b. Không sử dụng Wizard ▬ Sử dụng cách này để thiết kế nhóm tùy chọn dạng 2. Các bước như sau:  Bước 1: Tạo các tùy chọn trước. Khi báo các thuộc tính cho mỗi tùy chọn, nên khai báo thuộc tính Name và Default Value.  Bước 2: Tạo khung bao quanh các tùy chọn. Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 49

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Ví dụ 1: Mẫu Form có nguồn là Table Nhanvien chứa nhóm tùy chọn cho Field Phai.

Ví dụ 2: Mẫu Form giao diện với các nhóm tùy chọn.

5- Command Button 5.1- Tổng quan ▬ Loại điều khiển dùng để thực hiện một lệnh trên Form (gọi là nút lệnh) thông qua các sự kiện thông dụng như nhấp mouse, nhấp kép mouse, … ▬ Các lệnh được gán cho mỗi nút lệnh có thể là các Macro hay các mã lệnh VBA (code) tự tạo hoặc thông qua trình trợ giúp. 5.2- Các thuộc tính thường dùng ▬ Name: Tên của nút lệnh dùng trong các câu lệnh. ▬ Caption: Nhãn của nút lệnh. ▬ Picture: Hình ảnh thay thế cho nhãn. ▬ Visible: Xuất hiện hoặc không ở chế độ Form View. ▬ Enabled: Hiện sáng hoặc mờ ở chế độ Form View. Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 50

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

5.3- Thiết kế nút lệnh bằng Wizard ▬ Bước 1: Bật công cụ Control Wizard. ▬ Bước 2: Chọn công cụ và nhấp tại vùng Form  Xuất hiện hộp thoại 1. ▬ Bước 3: Chọn hành động cho nút lệnh  Next  Xuất hiện hộp thoại 2. (Tham khảo danh mục các hành động trong danh sách ngay bên dưới)

▬ Bước 4: Chọn nhãn cho nút lệnh (Text hoặc Picture)  Next  Xuất hiện hộp thoại 3.

▬ Bước 5: Đặt tên cho nút lệnh  Finish.

Danh mục các hành động cho nút lệnh
Categories Record Navigation Loại hành động cho phép nhảy con trỏ tới một Record nào đó. Actions Find Record : Tìm kiếm Record Find Next : Tìm tiếp Goto First Record : Nhảy tới Record đầu tiên Goto Last Record : Nhảy tới Record cuối cùng Goto Next Record : Nhảy tới Record kế tiếp Goto Previous Record : Nhảy tới Record ngay trước Add New Record : Thêm một Record mới Delete Record : Xóa Record hiện hành Save Record : Lưu Record hiện hành Undo Record : Phục hồi trạng thái cũ cho Record Apply Form Filter : Thực hiện lọc các Record Close Form : Đóng Form hiện hành Open Form : Mở một Form khác Preview Report : In báo cáo ra màn hình Print Report : In báo cáo ra máy in Quit Application : Thoát khỏi ứng dụng Run Application : Thi hành một ứng dụng khác Print Table : In một Table Run Macro : Thi hành một Macro Run Query : Thi hành một Query

Record Operations Loại hành động xử lý mẫu tin.

Form Operations Loại hành động xử lý Form. Report Operations Loại hành động xử lý báo cáo. Application Các hành động liên quan đến ứng dụng. Miscellaneous Các hành động khác.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 51

TRƯỜNG TCN KTCN HÙNG VƯƠNG
6- Combobox và Listbox 6.1- Tổng quan

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ Loại điều khiển chứa danh sách chọn lựa. Có hai loại danh sách chọn lựa:  Combobox: Loại này không chiếm diện tích trên Form nhưng phải nhấp mouse để nhìn thấy danh sách.  Listbox: Loại này chiếm diện tích trên Form nhưng danh sách chọn lựa trực quan hơn. ▬ Có thể tạo điều khiển này bằng Wizard hoặc bằng thủ công.
Combobox

Listbox

6.2- Các thuộc tính thường dùng ▬ Name: Tên của điều khiển dùng trong thao tác lệnh (nên đặt bắt đầu bằng 3 ký tự: cob… và lst…) ▬ Control Source: Tên Field làm nguồn cho điều khiển. ▬ Row Source Type: Loại danh sách chứa trong điều khiển.  Table|Query: Danh sách chọn lựa được lấy từ 1 Table|Query.  Value List: Danh sách chọn lựa được nhập trực tiếp. ▬ Row Source: Khai báo danh sách theo loại.  Nếu Row Source Type là Table|Query thì bấm vào nút ba chấm để khai báo danh sách từ cửa sổ Design Query.  Nếu Row Source Type là Value List thì nhập danh sách ngăn cách bằng dấu chấm phẩy. ▬ Column Count: Số cột danh sách trong điều khiển. ▬ Bound Column: Thứ tự cột chứa giá trị chọn lựa. ▬ Column Widths: Độ rộng các cột theo thứ tự ngăn cách bằng dấu chấm phẩy. ▬ Limit to List: Không được phép hoặc được phép nhập giá trị khác ngoài danh sách chọn lựa (yes|no). ▬ Visible: Xuất hiện hoặc không ở chế độ Form View. ▬ Enabled: Hiện sáng hoặc mờ ở chế độ Form View. 6.3- Thiết kế Combobox và Listbox a. Combobox chứa danh sách là dữ liệu trong các Field của Table|Query ▬ Bước 1: Bật công cụ Control Wizard. ▬ Bước 2: Chọn công cụ và nhấp vào vùng Form  Xuất hiện hộp thoại 1 Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 52

TRƯỜNG TCN KTCN HÙNG VƯƠNG
▬ Bước 3: Chọn “I want the combo box to look up …”  Next  Xuất hiện hộp thoại 2.

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ Bước 4: Chọn Table|Query có Field chứa danh sách  Next  Xuất hiện hộp thoại 3.

▬ Bước 5: Chọn Field chứa danh sách  Next  Xuất hiện hộp thoại 4.

▬ Bước 6: Chọn Field sắp xếp (nếu cần) NextXuất hiện hộp thoại 5.

▬ Bước 7: Đánh dấu check hoặc không tùy chọn “Hide key column” để ẩn hoặc hiện cột có Field là khóa của Table  Next  Xuất hiện hộp thoại 6.

▬ Bước 8: Chọn Field chứa danh sách hiển thị trong điều khiển khi chọn  Next  Xuất hiện hộp thoại 7.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 53

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ Bước 9: Đặt nhãn cho điều khiển  Finish.

Lưu ý: Nên khai báo thuộc tính Name cho điều khiển sau khi đã tạo xong. b. Combobox chứa danh sách là dữ liệu tự nhập ▬ Bước 1: Bật công cụ Control Wizard. ▬ Bước 2: Chọn công cụ và nhấp vào vùng Form  Xuất hiện hộp thoại 1 ▬ Bước 3: Chọn “I will type in the values …”  Next  Xuất hiện hộp thoại 2.

▬ Bước 4: Khai báo số cột và nhập dữ liệu cho các cột  Next  Xuất hiện hộp thoại 3.

▬ Bước 5: Tạo nhãn cho điều khiển  Finish.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 54

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Ví dụ: Mẫu Form với các điều khiển Combobox và Listbox

6.4- Truyền dữ liệu từ các cột của Combobox hoặc Listbox sang Texbox ▬ Để Texbox nhận dữ liệu từ một cột chỉ định của Combobox hoặc Listbox ta áp dụng công thức tại Textbox: =<Tên Combobox|Listbox>.Column(n)  Trong đó: n là số thứ tự cột và được bắt đầu từ 0. Ví dụ: Trong mẫu trên: Listbox có thuộc tính Name là lstchonnhanvien và Textbox lấy giá trị từ cột thứ 2 của Listbox, nêm công thức nhập là:

=lstchonnhanvien.column(1) III. Thiết kế Main-Sub Form:
1- Giới thiệu ▬ Main-Sub Form thường được dùng để hiển thị các thông tin chi tiết về một đối tượng cụ thể nào đó theo nhu cầu. Ví dụ : Xem thông tin hóa đơn về một khách hàng bất kỳ ; Xem thông tin hóa đơn về một nhân viên bất kỳ ; Xem thông tin chi tiết về một hóa đơn bất kỳ ; … ▬ Trên một Mainform ta có thể có nhiều Subform để hiển thị nội dung của nhiều Table|Query có mối quan hệ “một - nhiều”. Trong đó, Subform chỉ hiển thị các Record có liên quan đến Record trên Mainform. ▬ Ta có thể dùng Main-Sub Form để nhập liệu vào nhiều Table đồng thời có quan hệ “một - nhiều” với nhau. Ví dụ: Mẫu Main-Sub Form để xem thông tin hóa đơn theo khách hàng bất kỳ

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 55

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Chọn khách hàng tại đây

Xem thông tin hóa đơn trong Subform

2- Thiết kế Main-Sub Form 2.1- Các bước tổng quát để thiết kế Main-Sub Form ▬ Bước 1: Thiết kế một Form làm Subform. Lưu ý: nguồn của Subform phải chứa Field có quan hệ bên “nhiều” với điều khiển chọn lựa trên Mainform (Có thể sử dụng Autoform để tạo). ▬ Bước 2: Thiết kế Mainform với các điều khiển chọn lựa. Lưu ý: phải khai báo thuộc tính Name cho các điều khiển. ▬ Bước 3: Mở Mainform ở chế độ Design  Sử dụng công cụ SubForm|SubReport tạo một khung trên Mainform để chứa Subform  Mở bảng thuộc tính của khung Subform và khai báo các thuộc tính sau đây:  Name: Tên của khung.  Source Object: Tên Form dùng là Subform.  Link Child Field: Tên Field quan hệ trong Subform.  Link Master Field: Tên điều khiển chọn lựa trên Mainform. Chú ý: Nếu có nhiều mối quan hệ chọn lựa trên Mainform thì trong hai thuộc tính: Link Child Field và Link Master Field ta nhập các cặp quan quan hệ năng cách bằng dấu chấm phẩy. Ví dụ: Mẫu Form với hai điều khiển chọn lựa trên Mainform (mã nhân viên và quý).

Chọn mã nhân viên

Chọn quý

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 56

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

2.2- Tổng hợp trong Subform và hiển thị trên Mainform ▬ Có thể tổng hợp dữ liệu trên Subform bằng các phương thức: Sum, Count, Avg, … sau đó truyền dữ liệu này ra Mainform bằng các bước sau:  Bước 1: Mở Subform ở chế độ Design.  Bước 2: Hiển thị vùng Form Footer và thiết kế các Texbox tại vùng này với các công thức như : Sum(…), Count(…), Avg(…), …  Bước 3: Khai báo thuộc tính Name cho các Textbox trên.  Bước 4: Lưu và đóng Subform.  Bước 5: Mở Mainform ở chế độ Design.  Bước 6: Thiết kế các Textbox để nhận dữ liệu tổng hợp trong Subform.  Bước 7: Nhập công thức truyền dữ liệu từ Subform ra Mainform theo mẫu:

=<Tên khung Subform>.Form!<Tên Textbox truyền dữ liệu>
3.3- Truyền dữ liệu ▬ Tổng quát khi truyền dữ liệu từ Form quá các đối tượng khác như Report, Form hoặc Query ta có những cách sau đây:  Truyền từ Mainform:

Forms!<Tên Form>!<Tên điều khiển truyền dữ liệu>
 Truyền từ Subform:

Forms!<Tên Form>!<Tên khung Sub>.Form!<Tên điều khiển truyền dữ liệu>
Chú ý:  Có thể truyền dữ liệu vào một Textbox chứa trên Form hoặc Report.  Có thể truyền dữ liệu vào các ô Criteria của Query để làm điều kiện.
***************************************************************

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 57

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

BÀI 07:

THIẾT KẾ REPORT TRONG MICROSOFT ACCESS
I. Tổng quan
▬ Report Wizard hỗ trợ người sử dụng tạo nhanh các Report theo các kiểu chuẩn. Nhưng đôi khi, ta muốn thay đổi nội dung báo cáo hoặc chỉnh sửa theo nhu cầu riêng thì Report Wizard lại không thực hiện được. ▬ Nghiên cứu cách thiết kế Report cho phép ta tạo ra các Report theo đúng ý thích và thẩm mỹ của cá nhân. Vì vậy ta cần phải nắm được các nguyên tắc để thiết kế sao cho khi in ấn sẽ đạt được kết quả theo mong muốn. ▬ Các điều khiển sử dụng để thiết kế Report thông dụng nhất là Textbox và Label. ▬ Cần chú ý là để thiết kế được Report thì máy tính phải có khai báo một máy in. ▬ Có hai chế độ:  Chế độ thiết kế: Menu View  Design View  Chế độ xem: Menu View  Print Preview

II. Chuẩn bị
1- Chuẩn bị trang giấy ▬ Menu File  Page Setup  Xuất hiện hộp thoại Page Setup.  Thẻ Margin: Canh lề giấy (left, right, top, bottom).  Thẻ Page: Chọn khổ giấy (size), hướng giấy (orientation)  Thẻ Column: Chọn số cột trên trang giấy (number of column)

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 58

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

2- Giới thiệu cửa sổ thiết kế ▬ Report Header|Footer: Nội dung trong các vùng này xuất hiện một lần duy nhất ở đầu và cuối Report. Thường dùng để tạo các tiêu đề cho Report, logo công ty hoặc tạo các thống kê cho toàn bộ Report. ▬ Page Header|Footer: Nội dung trong các vùng này xuất hiện ở đầu và cuối mỗi trang Report. Thường dùng để tạo các tiêu đề cột, đánh số trang. ▬ Detail: Chứa nội dung của các cột dữ liệu. Chú ý: Tùy theo nhu cầu thiết kế mà ta có thể thêm hoặc bớt các vùng Header|Footer. Lệnh: Menu View  Report Header|Footer (Page Header|Footer).

3- Một số thuộc tính thường dùng của Report ▬ Caption: Tiêu đề của Report (nằm trên thanh tiêu đề). ▬ Auto Resize: Tự động điều chỉnh kích thước vừa khít với nội dung thiết kế khi xem ở chế độ Print Preview. ▬ Auto Center: Tự động canh giữa màn hình Report khi xem ở chế độ Print Preview. ▬ Record Source: Nguồn của Report.

III. Thiết kế Report
1- Các bước tổng quát ▬ Bước 1: Tạo nguồn cho Report (Có thể tạo nguồn cho Report bằng cách khai báo nguồn thông qua thuộc tính Record Source). ▬ Bước 2: Cửa sổ “Database” Thẻ Report  New  Xuất hiện cửa sổ New Report. ▬ Bước 3: Chọn Design View và chọn nguồn cho Report (nếu đã có nguồn) trong mục “Choose the table or query …”  OK  Xuất hiện cửa sổ thiết kế Report. ▬ Bước 4: Sử dụng thanh công cụ để thiết kế Report (có thể chọn menu View  Field List để mở bảng nguồn của Report và kéo thả khi thiết kế). ▬ Bước 5: Kiểm tra kết quả: menu View  Print Preview ▬ Bước 6: Lưu 2- Tạo nguồn cho Report bằng thuộc tính Record Source ▬ Mở bảng thuộc tính của Report ▬ Click nút ba chấm của thuộc tính Record Source  Xuất hiện của sổ Design Query ▬ Tạo Query nguồn Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 59

TRƯỜNG TCN KTCN HÙNG VƯƠNG
▬ Thực hiện một trong hai:

GIÁO TRÌNH MICROSOFT ACCESS 2003

 Nếu muốn Query nguồn tồn tại trong cửa sổ Database thì chọn lệnh Save để lưu  Đóng cửa sổ Design Query  Chọn Yes  Nếu không muốn Query nguồn tồn tại trong của sổ Database  Đóng cửa sổ Design Query  Chọn Yes (Lưu ý : trong trường hợp này tại thuộc tính Record Source xuất hiện một chuỗi lệnh được gọi là chuỗi lệnh SQL) 3- Các thuộc tính bổ sung cho Textbox ▬ Hide Duplicates: Ẩn hoặc không ẩn các giá trị trùng trong Field nguồn của Textbox (yes|no). ▬ Running Sum: Tạo dãy số thứ tự cho các Record trong nhóm hoặc cả Report (No, OverGroup, OverAll) ▬ Can Grow: Cho phép hoặc không nội dung trong Textbox tự động xuống hàng khi kích thước của chiều ngang không đủ lớn. 4- Sắp xếp và lập nhóm cho dữ liệu ▬ Đây là một trong những chức năng quan trọng trong Report nhằm tạo cho dữ liệu trong Report có cái nhìn khách quan và chính xác hơn. Đồng thời cho phép xuất hiện các vùng thống kê dữ liệu theo từng nhóm sao cho phù hợp tối đa tới nhiều nhu cầu của người dùng. ▬ Khi thiết kế Report người thiết kế phải quan sát mẫu hoặc phải hình dung Field có dữ liệu lập nhóm (thường là Field bên “một”). Sau khi khai báo Field lập nhóm thì trong cửa sổ sẽ xuất hiện thêm các vùng Group Header hoặc Group Footer tùy theo khai báo. ▬ Để tạo Field sắp xếp và lập nhóm ta làm theo các bước sau:  Bước 1: Menu View  Sorting and Grouping  Xuất hiện cửa sổ “Sorting and Grouping”.  Bước 2: Chọn Field sắp xếp và lập nhóm trong cột Field/Expression (Có thể chọn nhiều hàng ứng với nhiều Field để tạo nhiều cấp sắp xếp và lập nhóm).  Bước 3: Xác lập cách sắp xếp trong cột Sort Order.  Bước 4: (Chỉ thực hiện khi có lập nhóm) Khai báo Group Header và Group Footer để cho xuất hiện hoặc không các vùng tương ứng trên Report. Trong đó :  Group Header: Thường dùng để chứa Field nhóm và các nhãn cho dữ liệu trong nhóm.  Group Footer: Thường dùng để tạo các Textbox chứa các giá trị thống kê dữ liệu cho nhóm.  Bước 5: Ba thuộc tính còn lại: Group On, Group Interval và Keep Together có liên quan đến nội dung của dữ liệu lập nhóm (tham khảo ở phần dưới). Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 60

TRƯỜNG TCN KTCN HÙNG VƯƠNG
5- Các chức năng khác 5.1- Chèn hình trang trí cho Report ▬ Bước 1: Sử dụng công cụ Image. ▬ Bước 2: Kéo mouse trên vùng thiết kế để định vị trí và kích thước của hình ảnh. Thả mouse xuất hiện hộp thoại như bên cạnh ▬ Bước 3: Chọn hình ảnh trang trí  OK  Thay đổi thuộc tính cho điều khiển Image (Chủ yếu là chọn Stretch cho thuộc tính Size Mode) 5.2- Đánh số trang

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ Bước 1: Menu Insert  Page Numbers  Xuất hiện hộp thoại Page Number. ▬ Bước 2: Khai báo:  Page N: Chỉ xuất hiện số trang hiện hành.  Page N of M: Xuất hiện số trang hiện hành trên tổng số trang.  Top of Page [Header]: Số trang xuất hiện trên vùng Page Header.  Bottom of Page [Footer]: Số trang xuất hiện trên vùng Page Footer.  Alignment: Chọn vị trí canh lề cho số trang (left, center, right).  Số trang sẽ xuất hiện trong cửa sổ thiết kế dưới dạng một Textbox lập công thức. Ví dụ như : =Page & “/” & Pages 5.3- Lập nhóm theo nội dung dữ liệu ▬ Việc chỉ định phạm vi dữ liệu để lập nhóm có liên quan đế hai thuộc tính Group On và Group Interval trong hộp thoại “Sorting and Grouping”. Hãy quan sát bảng sau:
Field có dữ liệu kiểu Text Group on Group interval Each value 1 Prefix character n Field có dữ liệu kiểu Date/Time Group on Group interval Each value 1 Year Khai báo khoảng giá trị. Qtr Khai báo khoảng giá trị. … … Field có dữ liệu kiểu Number Group on Group interval Each value 1 Interval Khai báo khoảng giá trị. Ý nghĩa Nhóm các Record có giá trị bằng nhau. Nhóm các Record có n ký tự bên trái bằng nhau. Ý nghĩa Nhóm các Record có giá trị bằng nhau. Nhóm các Record có giá trị theo năm. Nhóm các Record có giá trị theo quý. … Ý nghĩa Nhóm các Record có giá trị bằng nhau. Nhóm các Record theo khoảng giá trị đã khai báo.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 61

TRƯỜNG TCN KTCN HÙNG VƯƠNG
5.4- Thống kê dữ liệu trên Report

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ Sử dụng các phương thức thống kê : Sum, Avg, Min, Max, Count, … trong các Textbox. ▬ Thống kê dữ liệu cho nhóm thường đặt tại vùng Group Footer. ▬ Thống kê dữ liệu cho Report thường đặt tại vùng Report Footer. Ví dụ: Muốn tính tổng thành tiền cho nhóm theo Tenkh, ta tạo một Textbox tại Tenkh Footer có dạng : =Sum(Thanhtien). Còn nếu muốn tính tổng thành tiền cho toàn bộ Report, ta tạo một Textbox tại vùng Report Footer có dạng: =Sum(Thanhtien). Ví dụ: Các mẫu Report: Mẫu Report không lập nhóm:

Mẫu Report lập nhóm theo Tenkh:

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 62

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Mẫu Report lập nhóm theo Tenkh, Nam, Thang:

*****************************************************************

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 63

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

BÀI 08:

THIẾT KẾ MACRO TRONG MICROSOFT ACCESS
I- Tổng quan
▬ Macro là đối tượng bao gồm một hoặc nhiều hành động, mỗi hành động dùng để thực hiện một công việc nào đó. Những hành động này đã được cài sẵn trong Access dưới dạng một danh sách nhằm tự động hóa quá trình xử lý công việc. ▬ Một Macro sau khi tạo sẽ được gán vào một sự kiện trên đối tượng và khi sự kiện xảy ra thì Macro sẽ thực thi. Các sự kiện của đối tượng nằm trong thẻ Event của hộp Properties. Ví dụ: Một Macro được gán vào sự kiện OnClick của một nút lệnh thì khi nhấp mouse vào nút lệnh thì Macro sẽ thi hành. ▬ Các công việc có thể sử dụng Macro:  Liên kết công việc giữa Form và Report.  Tìm kiếm hoặc lọc ra những thông tin cần tham khảo một cách tự động.  Cài đặt các thuộc tính cho Form, Report hoặc các điều khiển. Cũng như cài đặt một giá trị của điều khiển trong Form vào kết quả của phép tính toán hoặc vào giá trị của một bảng dữ liệu khác.  Tự động hóa việc nhập|xuất dữ liệu vào các Table.  Tạo ra một môi trường làm việc theo ý riêng. Chẳng hạn như điều chỉnh thanh thực đơn cho Form, nhóm các Query…

II- Tạo Macro
1- Tạo Macro thông qua sự kiện ▬ Mở hộp Properties của đối tượng  Chọn sự kiện  Nhấp vào nút ba chấm ▬ Chọn Macro Builder ▬ Đặt tên cho Macro  Xuất hiện cửa sổ Design Macro

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 64

TRƯỜNG TCN KTCN HÙNG VƯƠNG
▬ Các thành phần của cửa sổ Design:

GIÁO TRÌNH MICROSOFT ACCESS 2003

 Macro Name: Lệnh mở|đóng: Menu View  Macro Name. Được sử dụng trong việc tạo ra nhóm Macro.  Condition: Lệnh mở|đóng: Menu View  Condition. Được sử dụng cho các Macro có điều kiện.  Action: Thành phần cố định. Chứa các hành động cho Macro.  Comment: Nơi diễn giải nội dung cho hành động.  Action Argument: Các tham số cho hành động. ▬ Thực thi sự kiện trên đối tượng để chạy Macro. 2- Tạo Macro và gán vào sự kiện trên đối tượng ▬ Cửa sổ “Database”Thẻ MacroNew  Xuất hiện cửa sổ Design Macro như trên. ▬ Khai báo các hàng động trong Macro. ▬ Lưu Macro. ▬ Mở hộp Properties của đối tượng  Chọn sự kiện  Nhấp vào nút tam giác  Chọn tên Macro. ▬ Thực thi sự kiện để chạy Macro. 3- Xét mẫu ví dụ sau:

Yêu cầu: ▬ Thiết kế Form “Tìm khách hàng” sao cho khi nhập tên khách hàng hoặc tên đại diện cho khách hàng trong Textbox, sau đó nhấp nút “Tìm” sẽ mở Form “Thông tin khách hàng” để biết được các thông tin về khách đó. Thiết kế: ▬ Tạo một Macro gán vào sự kiện OnClick của nút “Tìm” với hành động OpenForm để mở Form “Thông tin khách hàng” theo điều kiện nhận được từ Textbox của Form “Tìm khách hàng”.

Action OpenForm

Argument Form Name : “ F_Thongtinkhachhang View : Form Where Conditon : Tenkh=Forms!F_Timkhachhang!txtTenkh
Trang 65

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

4- Các sự kiện và biến cố thường dùng 4.1- Các sự kiện trên đối tượng Biến cố BeforeUpdate AfterUpdate OnClick OnDblClick OnOpen OnEnter OnGotFocus OnExit OnLostFocus Ý nghĩa trước khi dữ liệu mới ghi vào thuộc tính Value của đối tượng. sau khi dữ liệu mới ghi vào thuộc tính Value của đối tượng. khi nhấp mouse trên đối tượng. khi nhấp kép mouse trên đối tượng. khi đối tượng được mở. trước khi đối tượng nhận focus. khi đối tượng nhận focus. trước khi đối tượng mất focus. sau khi đối tượng đã mất focus.

Xảy ra Xảy ra Xảy ra Xảy ra Xảy ra Xảy ra Xảy ra Xảy ra Xảy ra

4.2- Các hành động thường dùng Hành động ApplyFilter Ý nghĩa Các đối số Cho phép sàng lọc dữ liệu Filter Name: Tên của Query dùng để hiển thị khi xử lý dữ liệu. trích lọc dữ liệu nguồn đang xử lý. Where Condition: Điều kiện sàng lọc dữ liệu. Phát ra tiếng “bíp” (không có đối số) Đóng một đối tượng. Object Type: Loại đối tượng muốn đóng. Nếu để trống thì hiểu là đối tượng hiện hành. Object Name: Tên của đối tượng muốn đóng. Save: Có lưu lại khi đóng đối tượng không. Chuyển focus giữa các điều Control Name: Tên của đối tượng khiển trên Form. chuyển tới. Cho phép di chuyển con trỏ Object Type: Kiểu đối tượng trong Record trong Table|Query Table|Query hoặc Form. hoặc Form. Object Name: Tên của đối tượng. Record: Vị trí di chuyển là : trước, sau, đầu, cuối, thêm mới. Hiển thị một hộp thông báo Message: Nội dung của thông báo cần đến người dùng. hiển thị. Beep: Có phát ra tiềng "bíp" hay không. Type: Loại hộp thông báo. Title: Tiêu đề của hộp thông báo. Mở một Form. Form Name: Tên Form cần mở. View: Dạng trình bày Form. Filter Name: Tên của Query dùng để sàng lọc dữ liệu hiển thị trong Form. Where Condition: Điều kiện dùng để sàng lọc dữ liệu hiển thị trong Form. Trang 66

Beep Close

GotoControl GotoRecord

MsgBox

OpenForm

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG
OpenReport Mở một Report.

GIÁO TRÌNH MICROSOFT ACCESS 2003

Quit RunCommand ShowAllRecords SetValue

StopMacro

Report Name: Tên Report cần in. View : Chế độ mở. Filter Name : Tên của Query dùng để sàng lọc dữ liệu trong Report. Where Condition : Điều kiện sàng lọc dữ liệu hiển thị trong Report. Thoát khỏi Access. Options : Lưu đối tượng hay không ? (Prompt, SaveAll, Exit). Thực hiện một lệnh trên Command : Lệnh trên menu. menu của Access. Hiển thị tất cả các Record (không có đối số) trong Table|Query|Form. Gán giá trị cho một Field, Item : Tên của Field, điều khiển hoặc điều khiển hoặc thuộc tính. thuộc tính của điều khiển muốn gán giá trị. Expression : Biểu thức cần gán giá trị. Ngừng thi hành Macro. (không có đối số)

III- Macro đặc biệt
1- Macro có điều kiện ▬ Khi muốn các hành động trong Macro thi hành phụ thuộc vào một điều kiện nào đó ta thiết kế Macro có điều kiện bằng cách mở thêm cột Condition trong cửa sổ thiết kế. ▬ Các biểu thức điều nhập trên hàng có hành động cần thực hiện. Nếu hành động có cùng điều kiện thì nhập thay thế bằng dấu ba chấm. Ví dụ: Action MsgBox Beep StopMacro OpenForm Chú ý: Hàm IsNull(…) sẽ cho giá trị True nếu biểu thức trong ngoặc là Null. Ngược lại là False. Ví dụ: Xét mẫu Form sau đây: Yêu cầu: ▬ Khi chọn tùy chọn “Tất cả thành phố” thì Combobox mờ đi. Ngược lại, khi chọn tùy chọn “Chọn thành phố” thì Combobox sẽ sáng lên để cho phép chọn tên một thành phố trong nó. Thiết kế một Macro gán vào thuộc tính AfterUpdate của Option Group: Condition fraChon=1 fraChon=2 Action SetValue SetValue Argument Item : cobTp.Enabled Expression : No Item : cobTp.Enabled Expression : Yes Trang 67 Condition IsNull(Forms!F_Timkhachhang!txtTenkh) … …

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG
2- Macro nhóm

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ Trong một Form có thể có nhiều Macro, do đó sẽ phát sinh rất nhiều Macro tại cửa Database. Việc này gây khó khăn trong việc quản lý các Macro đối với người thiết kế. ▬ Để tập hợp các Macro trong một Form lại và lưu chung trong một Macro, ta gọi là Macro Group. Để tạo một Macro Group ta mở thêm cột Macro Name trong cửa Design. ▬ Trong cột Macro Name, ta ghi tên Macro con trong nhóm ở hàng chứa hành động đầu tiên.
Ví dụ :

Macro Name Dau Sau Truoc Cuoi Themmoi Xoa

Condition

Action GotoRecord GotoRecord GotoRecord GotoRecord GotoRecord SetWarning RunCommand

Not [NewRecord] [NewRecord]

MsgBox(“Đồng ý xóa”,1)=1 3- Macro AutoExec

▬ Đây là loại Macro được lưu với tên Autoexec, nó sẽ tự động chạy khi file mdb được mở ra. Ta có thể sử dụng Macro với các hành động để khởi tạo môi trường làm việc cho ứng dụng. Ví dụ như mở các Form giới thiệu chương trình, tắt các thanh công cụ, … ▬ Nếu không muốn chạy Macro Autoexec thì khi mở mdb ta giữ thêm phím Shift.

****************************************

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 68

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

BÀI 09:

THỬ TỤC XỬ LÝ SỰ KIỆN
I- Tổng quan
▬ Ngoài việc sử dụng Macro để xử lý các sự kiện trên các đối tượng Form|Report|Control ta có thể viết các mã lệnh để thay thế. Các mã lệnh này khi tạo ra sẽ nằm bên trong một thủ tục và ta gọi là thủ tục xử lý sự kiện (Event Procedure). ▬ Các thủ tục này được lưu theo đối tượng và cũng như Macro có thể có nhiều thủ tục trên Form|Report tạo nên một đơn thể lớp (Class Module) của Form|Report. ▬ Một thủ tục xử lý sự kiện có thể được tạo khi tạo các nút lệnh bằng Wizard. Ngoài ra các thủ tục xử lý sự kiện cho đa các đối tượng khác thường phải viết bằng tay.

II- Giới thiệu thủ tục xử lý sự kiện
1- Thủ tục Wizard ▬ Khi thực hiện nút lệnh “Đóng” của một Form bằng Wizard thì trên sự kiện OnClick của nút lệnh xuất hiện dòng “Event Procedure”. Nhấp mouse vào nút ba chấm sẽ xuất hiện cửa sổ sau:

Nhận xét: ▬ Một thủ tục luôn bắt đầu và kết thúc bằng 2 dòng: Private Sub <tên đối tượng>_<sự kiện>([các tham số]) … <thân thủ tục> End Sub ▬ Các dòng còn lại nằm giữa hai dòng trên chính là các lệnh trong thủ tục. Về nguyên tắc, mỗi lệnh phải nằm trên một dòng độc lập. ▬ Một thủ tục có thể có [các tham số] tùy theo và nó được dùng để chứa các thông tin trao đổi giữa hệ thống và người viết. ▬ Như vậy ta có thể tự viết ra các dòng lệnh hoặc sửa đổi các thủ tục Wizard như trên để xử lý các sự kiện theo đúng như cầu của riêng mình. Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 69

TRƯỜNG TCN KTCN HÙNG VƯƠNG
2- Tạo thủ tục xử lý sự kiện ▬ Chọn sự kiện của đối tượng.

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ Nhấp vào nút ba chấm  Chọn Code Builder  OK ▬ Xuất hiện 2 dòng thủ tục sự kiện chuẩn. ▬ Viết các lệnh trong thân thủ tục để hoàn thành thủ tục. ▬ Đóng cửa sổ code. ▬ Thực thi sự kiện. Ví dụ: Mẫu Form sau đây: ▬ Mở thủ tục AfterUpdate của Option Group ▬ Nhấp nút ba chấm  Chọn Code Builder ▬ Thủ tục được viết như sau:

Private fraChon_AfterUpdate() If fraChon = 1 Then cobTp.Enabled = False Else cobTp.Enabled = True End If End Sub III- Các qui tắc khi viết lệnh
1- Viết lệnh ▬ Một câu lệnh đơn chỉ viết trên một dòng. ▬ Để viết nhiều câu lệnh trên một dòng ta dùng dấu hai chấm (:) để ngăn cách. ▬ Để viết một lệnh trên nhiều dòng ta dùng dấu gạch dưới (_) ở vị trí ngắt. ▬ Dòng chú thích được bắt đầu bằng dấu nháy đơn (‘). 2- Lệnh gán ▬ Để thay đổi giá trị của thuộc tính đối tượng ta sử dụng lệnh gán theo cú pháp sau

<Đối tượng>.<Thuộc tính> = <Giá trị>
Ví dụ: ▬ Thay đổi chữ trong Textbox thành màu đỏ:

txtHienthi.ForeColor = 255
▬ Thay đổi màu nền trong Textbox thành màu vàng:

txtHienthi.BackColor = 65535
Ví dụ: Thiết kế mẫu Form theo yêu cầu sau: ▬ Khi nhấp nút “Hiển thị” thì trong Textbox sẽ hiện lời chào “Chào mừng các học viên …” (theo mẫu) có màu đỏ, được canh giữa và được khóa lại. ▬ Khi nhấp nút “Xóa” thì Textbox sẽ bị xóa trắng. ▬ Nút “Thoát” dùng để đóng Form. Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 70

TRƯỜNG TCN KTCN HÙNG VƯƠNG
Viết lệnh:

GIÁO TRÌNH MICROSOFT ACCESS 2003

Private Sub cmdHienthi_Click() ' Gan chuoi Me.txtLoichao.Value = "Chao mung cac hoc vien" & _ vbCrLf & "Truong KỸ THUẬT CÔNG NGHỆ HÙNG VƯƠNG" & _ vbCrLf & "Khoa Công Nghệ Thông Tin" ' Thay doi thuoc tinh Me.txtLoichao.ForeColor = 255 Me.txtLoichao.TextAlign = 2 Me.txtLoichao.Locked = True End Sub Private Sub cmdThoat_Click() DoCmd.Close , , acSaveYes End Sub Private Sub cmdXoa_Click() Me.txtLoichao.Value = Null End Sub 3- Thực hiện hành động trong thủ tục ▬ Access cung cấp đối tượng DoCmd chứa các phương thức có tên và đối số tùy chọn giống như các hành động trong Macro. Vì vậy, ta có thể sử dụng đối tượng này khi muốn thực hiện các hành động. ▬ Cú pháp tổng quát:

DoCmd.<hành động> [các đối số]
Trong đó:  <hành động> sẽ được chọn trong danh sách xuất hiện sau khi ta nhập dấu chấm.  [các đối số] ngăn cách bằng dấu phẩy và có thể sử dụng đối số mặc nhiên bằng cách đánh dấu phẩy và rồi để trống. Các đối số này sẽ xuất hiện khi ta đánh dấu phẩy. Các đối số là hằng chuẩn thường các ký tự đầu là ac…, vb…, … Còn các đối số không phải là hằng đều phải đặt trong cặp dấu nháy kép. Ví dụ về các hành:

DoCmd.OpenForm “F_Thongtinkhachhang”, , , “[Tenkh] Like ‘” & Forms!F_Timkhachhang!txtTenkh & “’”
 Cho phép mở Form “F_Thongtinkhachhang” ở chế độ Form View với điều kiện Tenkh trùng với giá trị nhập trong Textbox txtTenkh trong Form “F_Timkhachhang”.

DoCmd.Close acForm, “F_Timkhachhang”, acSaveYes
 Cho phép đóng Form “F_Timkhachhang” và có lưu cập nhật.

DoCmd.RunCommand accmdDeleteRecord
 Sử dụng lệnh xóa Record trên menu Edit

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 71

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

4- Thực hiện các phương thức trên đối tượng ▬ Phương thức của một đối tượng là một hành động được thực hiện trên đối tượng đó. Có thể sử dụng các phương của đối tượng bằng cú pháp:

<Tên đối tượng>.<Phương thức> [các đối số]
▬ Các phương thức thường dùng:  SetFocus: Chuyển focus đến đối tượng.  Requery: Chạy lại Query nguồn của Form|Combobox|Listbox  Refresh: Hiển thị dữ liệu mới nhất vừa sử đổi.  Undo: Phục hồi dữ liệu trên Form|Control. Ví dụ 1: Để chuyển focus đến nút “Xóa” sau khi nhấp nút “Hiển thị” ta viết thêm dòng sau đây trong thủ tục cmdHienthi_Click():

Me.cmdXoa.SetFocus
Ví dụ 2: Xét mẫu Form sau đây: Yêu cầu thiết kế: ▬ Hai Combobox đặt tại vùng Form Header chứa danh sách thành phố khách hàng và tên các khách hàng theo thành phố đó. Trong đó, Combobox chứa tên khách hàng không cho phép nhận focus khi mở Form. ▬ Các Textbox trong vùng Detail để hiển thị thông tin các khách hàng trong Table Khachhang và sẽ hiển thị đúng khách hàng theo sự chọn lực trong các Combobox. Đồng thời chúng cũng sẽ xuất hiện mờ khi khi mở Form. Yêu cầu nội dung: ▬ Khi chọn một thành phố trong Combobox 1 thì Combobox 2 sẽ sáng lên để cho phép chọn tên khách hàng ở thành phố đó. Trong khi đó các Textbox thông tin khách hàng vẫn chưa hiện sáng. ▬ Khi chọn một khách hàng trong Combobox 2 thì các Textbox sẽ hiện sáng, đồng thời chúng hiển thị đúng khách hàng vừa chọn và con trỏ bắt đầu nhảy vào Textbox “Tên khách hàng” để cho phép hiệu chỉnh (không cho phép hiệu chỉnh “Mã khách hàng”). Thiết kế: ▬ Thủ tục cho Combobox 1: Private Sub cobTp_AfterUpdate() ' Cho phép cobTenkh nhận focus Me.cobMakh.Enabled = True ' Chạy lại Query nguồn của cobTenkh Me.cobMakh.Requery ' Không cho các Control sau nhận focus Me.Makh.Enabled = False Me.Tenkh.Enabled = False Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 72

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Me.Diachikh.Enabled = False Me.Dienthoaikh.Enabled = False Me.Thanhpho.Enabled = False End Sub ▬ Thủ tục cho Combobox 2: Private Sub cobMakh_AfterUpdate() ' Lọc dữ liệu trên Form DoCmd.ApplyFilter , "[Makh] = '" & Me!cobMakh.Value & "'" ' Cho các Control sau nhận focus Me.Tenkh.Enabled = True Me.Diachikh.Enabled = True Me.Dienthoaikh.Enabled = True Me.Thanhpho.Enabled = True ' Chuyển focus đến Tenkh Me.Tenkh.SetFocus End Sub Chú ý: Đối tượng Me đại diện cho Form hiện hành. 5- Lệnh nhảy ▬ Khi gọi thực hiện các thủ tục, có khi tồn tại những dòng lệnh mà tại đó phát sinh lỗi. Những lỗi này có thể do:  Đối tượng ở trạng thái không chấp nhận lệnh.  Đối tượng không tồn tại. ▬ Và tùy tình huống mà ta dùng các lệnh nhảy sau đây để điều khiển việc thực thi các dòng lệnh trong thủ tục:

On Error Goto <Nhãn>
▬ Nhảy đến đoạn chương trình có <Nhãn> khi có lỗi xảy ra. <Nhãn> đặt tại dòng nơi cần nhảy tới theo sau là dấu hai chấm.

On Error Resume Next
▬ Thực hiện dòng lệnh đứng liền tiếp theo dòng lệnh sinh lỗi. Lệnh này thường được đặt trước dòng lệnh phát sinh lỗi.

IV- Cấu trúc điều kiện:
1- Tổng quan ▬ Đây là cấu trúc thông dụng trong khi viết lệnh, nó được dùng để thực hiện các lệnh tùy theo các điều kiện. 2- Các dạng If 2.1- Dạng 1

If <điều kiện> Then <lệnh>
 Kiểm tra <điều kiện> và thực hiện 1 lệnh tương ứng nếu <điều kiện> xảy ra (true). Nếu <điều kiện> không xảy ra (false) thủ tục sẽ bỏ qua dòng lệnh này. Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 73

TRƯỜNG TCN KTCN HÙNG VƯƠNG
2.2- Dạng 2

GIÁO TRÌNH MICROSOFT ACCESS 2003

If <điều kiện> Then <nhóm lệnh> End if
 Giống dạng 1 nhưng thực hiện nhiều lệnh trong thân If. 2.3- Dạng 3

If <điều kiện 1> Then <nhóm lệnh 1> ElseIf <điều kiện 2> Then <nhóm lệnh 2> …… Else <nhóm lệnh n> End If
 Kiểm tra nhiều <điều kiện …> và thực hiện các <nhóm lệnh …> tương ứng nếu <điều kiện …> xảy ra. Ngược lại, thực hiện <nhóm lệnh n>. 3- Ví dụ Xét mẫu Form sau: Yêu cầu: ▬ Khi chọn tùy chọn “Tất cả thành phố” thì Combobox sẽ mờ đi. Ngược lại, khi chọn tùy chọn “Chọn thành phố” thì Combobox sẽ sáng lên để cho phép chọn tên thành phố. ▬ Khi chọn tùy chọn “Tất cả thành phố”, nhấp nút “Xem” sẽ mở Report “RL_Thiepmoi” ra màn hình. Ngược lại, khi chọn tùy chọn “Chọn thành phố” đồng thời chọn một thành phố trong Combobox và nhấp nút “Xem” sẽ mở Report “RL_Thiepmoi” ra màn hình theo đúng thành phố vừa chọn. Thiết kế: ▬ Thủ tục đáp ứng yêu cầu trên: Private Sub fraChon_AfterUpdate() If fraChon = 1 Then cobtp.Enabled = False Else cobtp.Enabled = True End If End Sub

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 74

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Private Sub cmdXem_Click() If fraChon = 1 Then DoCmd.OpenReport "RL_Thiepmoi", acViewPreview ElseIf fraChon = 2 And IsNull(cobtp) Then MsgBox "Ban phai chon thanh pho", vbCritical Me.cobtp.SetFocus Else DoCmd.OpenReport "RL_Thiepmoi", acViewPreview, , "Thanhpho = '" & Me.cobtp & "'" End If End Sub

V- Cấu trúc chọn lựa Select … Case
1- Tổng quan ▬ Điều khiển việc thực hiện các lệnh dựa trên các giá trị của một biểu thức. 2- Cú pháp

Select Case <biểu thức> Case <giá trị 1> <nhóm lệnh 1> Case <giá trị 2> <nhóm lệnh 2> …… Case Else <nhóm lệnh n> End Select
 Khi <biểu thức> có <giá trị 1> thì thực hiện <nhóm lệnh 1>, khi <biểu thức> có <giá trị 2> thì thực hiện <nhóm lệnh 2>, …… Ngoài ra thực hiện <nhóm lệnh n> sau phát biểu Case Else. Lưu ý: <giá trị …> có thể có các dạng sau:  Một giá trị cùng kiểu với giá trị <biểu thức>.  Nhiều giá trị cách nhau dấu phẩy.  Miền giá trị: <cận đầu> To <cận cuối>  Biểu thức: Is <toán tử so sánh> <giá trị> 3- Ví dụ Xét mẫu Form sau: Yêu cầu: ▬ Nhập một số có 2 chữ số vào Textbox bên trái  Bấm enter  Dịch bằng chữ trong Textbox bên phải. ▬ Thủ tục như sau:

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 75

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

Private Sub txtSo_Exit() ‘ Khai báo biến chuỗi Dim t1 As String Dim t2 As String ‘ Khai báo biến số nguyên Dim chuc As Byte Dim donvi As Byte If Val(Me.txtSo)<10 or Val(Me.txtSo)>99 Then MsgBox “Ban nhap so khong dung pham vi”, vbCritical Me.txtSo.SetFocus Exit Sub Else chuc = Val(Me.txtSo) \ 10 ‘ Tach chu so hang chuc donvi = Val(Me.txtSo) mod 10 ‘ Tach chu so hang don vi Select Case chuc Case 1 : t1 = “Muoi” Case 2 : t1 = “Hai muoi” Case 3 : t1 = “Ba muoi” Case 4 : t1 = “Bon muoi” Case 5 : t1 = “Nam muoi” Case 6 : t1 = “Sau muoi” Case 7 : t1 = “Bay muoi” Case 8 : t1 = “Tam muoi” Case 9 : t1 = “Chin muoi” End Select Select Case donvi Case 0 : t2 = “” Case 1 : t2 = “mot” Case 2 : t2 = “hai” Case 3 : t2 = “ba” Case 4 : t2 = “bon” Case 5 : t2 = “lam” Case 6 : t2 = “sau” Case 7 : t2 = “bay” Case 8 : t2 = “tam” Case 9 : t2 = “chin” End Select End If Me.txtChu = t1 & Space(1) & t2 & Space(1) & “dong” End Sub

VI- Biến và khai báo biến
1- Tổng quan ▬ Biến là một vùng nhớ tạm được khai báo trong thủ tục để lưu trữ các giá trị trung gian trong khi xử lý. ▬ Biến phải được khai báo bằng một tên và thuộc về một kiểu dữ liệu nhất định. ▬ Tên biến bao gồm chữ cái, chữ số và dấu gạch dưới và phải bắt đầu bằng một chữ cái. Đồng thời tên biến không được đặt trùng với các từ khóa như: Case, If, Then, … Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 76

TRƯỜNG TCN KTCN HÙNG VƯƠNG
2- Kiểu của biến

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ Thông thường, mỗi biến phải được khai báo bằng một kiểu xác định nhằm tránh sự nhầm lẫn khi trao đổi giá trị cho biến. ▬ Bảng các kiểu thường dùng: Kiểu Byte Boolean Date Integer Long Single Double Currency String Variant Mô tả Số nguyên 1 byte Đúng|Sai Ngày tháng Số nguyên 2 byte. Số nguyên 4 byte. Số thực 4 byte. Số thực 8 byte. Số thực có dấu chấm cố định 8 byte. Chuỗi ký tự. Chuỗi, ngày, giờ, số. 3- Khai báo biến ▬ Cú pháp: Phạm vi 0  255 True(-1)|False(0) -32,768  32,767 -2,147,483,648  2,147,483,647

Dim <tên biến> As <kiểu>
▬ Biến khai báo trong thủ tục chỉ có phạm vi sử dụng trong thủ tục. Khi thủ tục kết thúc giá trị biến sẽ bị xóa. ▬ Biến khai báo trong Declaration của đơn thể sẽ có phạm vi sử dụng trong Form|Report. Khi đóng đối tượng giá trị của biến sẽ bị xóa.

******************************************

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 77

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

BÀI 10:

TẠO THỰC ĐƠN LỆNH TRONG ACCESS
I- Tổng quan
▬ Thanh thực đơn là nơi chứa các lệnh cho phép người dùng truy xuất tới các đối tượng trong ứng dụng mà không thông qua cửa sổ Database. Nghĩa là, ta có thể không cho cửa sổ Database xuất hiện khi khởi động ứng dụng. ▬ Có thể tạo thanh thực đơn bằng Macro Group, nhưng trong bài này giới thiệu cách tạo thực đơn lệnh của Access.

II- Các bước tạo thực đơn
1- Tạo hệ thống thực đơn ▬ Bước 1: Menu View  Toolbar  Customize  Hiện hộp thoại : Thẻ Toolbar

1- Chọn New để xuất hiện và đặt tên

2- Chọn Properties để xuất hiện và chọn Menu Bar trong hộp Type

Thanh thực đơn tạo mới xuất hiện

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 78

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ Bước 2: Thẻ Command: Chọn New Menu và kéo biểu tượng “New Menu” đặt vào thanh thực đơn (trên mẫu) sau đó nhấp vào Name để đặt tên cho thực đơn.

▬ Bước 3: Thẻ Command: Chọn các mục trong hộp Categories (AllQuery, AllReport, AllForm, AllMacro, …) để xuất hiện các đối tượng tương ứng trong ứng dụng. ▬ Bước 4: Kéo đối tượng đặt vào bên dưới thực đơn (theo mẫu).

▬ Bước 5: Thực hiện lại bước 4 cho các đối tượng trong cùng thực đơn.  Lập lại các bước 2,3,4,5 cho thực đơn tiếp theo. 2- Khai báo các thuộc tính khi khởi động ▬ Menu Tools  Start Up  Hiện hộp thoại : ▬ Bỏ tùy chọn Display Database Window để không cho khởi động cửa sổ Database khoi chạy file mdb. ▬ Chọn tên thực đơn vừa tạo trong hộp Menu Bar. ********************************************************************* Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 79

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

BÀI TẬP MICROSOFT ACCESS
BÀI THỰC HÀNH 01 (THUCHANH01.MDB)
A. Taïo caáu truùc caùc Table sau:

 Table DonVi
MaDV Text TenDV Text

Yeâu caàu: - MaDV: Goàm hai kyù töï soá vaø khoâng ñöôïc truøng. - TenDV: Toái ña 50 kyù töï coù daïng chöõ in vaø baét buoäc nhaäp.

 Table BangLuong
MaCB Text MaDV HoTen Phai NgaySinh MSNgach Bac NXLuong Text Text Yes/no Date/time Text Number Number Yeâu caàu: - MaCB : goàm 4 kyù töï soá vaø khoâng ñöïôïc truøng. - MaDV : töông töï field MaDV trong Table ñôn vò nhöng ñöôïc truøng. - HoTen : Toái ña 35 kyù töï coù daïng chöõ in vaø baét buoäc nhaäp. - GioiTinh : yes laø nam, no laø nöõ. - NgaySinh : Hieån thò daïng dd/mm/yyyy. - MSNgach : Goàm 3 kyù töï soá. - Bac : Baäc naèm trong ñoaïn töø 1 ñeán 10. - NXLuong : Naêm xeáp löông phaûi nhoû hôn hoaëc baèng 2001. - TapThe : yes thì ôû nhaø taäp theå. TapThe Yes/no

 Table NgachLuong
MSNgach HSLuong ChucDanh Text Number Text Yeâu caàu: - MSNgach : Goàm 3 kyù töï soá vaø khoâng ñöôïc truøng. - HSLuong : Cho pheùp nhaäp döõ lieäu daïng thaâp phaân (hai soá leû) - ChucDanh: Toái ña 30 kyù töï coù daïng chöõ in vaø baét buoäc nhaäp. B. Thieát laäp quan heä giöõa caùc table nhö maãu sau:

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 80

TRƯỜNG TCN KTCN HÙNG VƯƠNG
C. Nhaäp döõ lieäu cho caùc Table:

GIÁO TRÌNH MICROSOFT ACCESS 2003

 Table DonVi
MaDV 01 02 03 TenDV Phoøng Giaùm ñoác Phoøng kyõ thuaät Phoøng taøi vuï

 Table NgachLuong
MSNgach 001 002 003 HSLuong 4.50 3.65 3.10 ChucDanh Giaùm ñoác Tröôûng phoøng Nhaân vieân

 Table BangLuong
MaCB MaDV 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 01 02 03 03 02 02 03 03 01 03 HoTen Traàn Vaên Huøng Luong Vaên Hoaøng Vöông Huøng Vuõ Phan Thò Thu Vaân Leâ Thò Yeán Nöông Voõ Tuyeát Trinh Vöông Boäi Trang Hoà thò Thuûy Nguyeãn Vaên Tyù Löu Hoøa Bình GioiTinh Yes Yes Yes No No No No No Yes Yes NgaySinh MSNgach Bac NXLuong TapThe 14/02/1960 7 1995 No 001 19/05/1968 16/02/1972 15/01/1971 06/07/1973 24/04/1975 24/11/1970 29/12/1987 15/10/1979 01/02/1980

002 002 003 003 003 003 002 002 003

5 4 5 4 3 5 4 2 2

1996 1997 1995 1998 1999 1995 1998 1999 2000

No Yes Yes Yes No No Yes No Yes

D. Taïo caùc Query sau bằng ngôn ngữ SQL và QBE:

     

Q1: Lieät keâ danh saùch nhaân vieân ôû taäp theå (saép xeáp taêng theo hoï teân) Q2: Lieät keâ danh saùch nhaân vieân sinh sau naêm 1975 (saép xeáp giaûm theo hoï teân) Q3: Lieät keâ MaDV, TenDV, toång soá nhaân vieân thuoäc ñôn vò ñoù Q4: Thoáng keâ xem coù bao nhieâu phaùi nam, bao nhieâu phaùi nöõ. Q5: Thoáng keâ xem coù bao nhieâu nhaân vieân ôû taäp theå vaø khoâng ôû taäp theå..

Q6: Lieät keâ: MaCB, MaDV, HoTen, Luong, TienNha, TamUng, ThucLanh. Trong ñoù: -Luong: + Neáu Bac >=5 thì 180000*HSLuong + Neáu Bac >=3 thì 144000*HSLuong + Coøn laïi thì 120000*HSLuong -TienNha=0.05*Luong -TamUng: +Neáu MaDV laø “01”hoaëc coù Bac >=4 thì taïm öùng 30% cuûa Luong +Coøn laïi thì taïm öùng 10% cuûa Luong -ThucLanh:Luong-TienNha-TamUng. Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 81

TRƯỜNG TCN KTCN HÙNG VƯƠNG
 

GIÁO TRÌNH MICROSOFT ACCESS 2003

Q7: Lieät keâ: MaCB, MaDV, HoTen, Luong, TienNha, TamUng, ThucLanh coù löông treân 700000 vaø saép xeáp taêng theo ThucLanh Q8: Lieät keâ: MaDV, TenDV, Toång löông töøng ñôn vò.

BÀI THỰC HÀNH 02 (THUCHANH02.MDB)
A. Taïo caáu truùc caùc Table sau:

 Baûng DMLop
Teân vuøng tin MaLop Ban GVCN Yeâu Caàu: Kieåu döõ lieäu Text Text Text Kích Thöôùc 5 ? ? Ghi chuù Maõ Lôùp (khoaù) Phaân ban hoc Teân giaùo vieân chuû nhieäm

    Baûng HocSinh

MaLop : Khoâng truøng , baét buoäc phaûi nhaäp, nhaäp xong phaûi hieån thò daïng chöõ hoa BAN : Laø 1 chöõ caùi vaø chæ laø chöõ “A” hoaëc “B” GVNC : Daøi toái da laø 20 kyù töï .

Teân vuøng tin MaHS MaLop HoHS TenHS PhaiNam NamSinh Yeâu Caàu:

Kieåu döõ lieäu Text Text Text Text Yes/No Number

Kích Thöôùc 7 5 30 10

Ghi chuù Maõ soá Hoïc Sinh (khoaù) Maõ Lôùp Hoï Hoïc Sinh Teân Hoïc Sinh Phaùi Nam Laø Yes

    

MaHS : Khoâng truøng , baét buoäc phaûi nhaäp, nhaäp xong phaûi hieån thò daïng chöõ hoa MaLop : Phuø hôïp vôùi maõ lôùp trong table DMLOP , buoäc phaûi nhaäp (khoâng phaûi khoùa) HoHS,TenHS: Nhaäp xong phaûi hieån thò daïng chöõ hoa PhaiNam : Giaù trò maëc ñònh laø Yes, hieån thò daïng Check box NamSinh : Laø soá nguyeân vaø coù giaù trò <=1985

 Baûng Diem
Teân vuøng tin MaHS Toan Ly Van Anh Kieåu döõ lieäu Text Number Number Number Number Kích Thöôùc 7 ? ? ? ? Ghi chuù Maõ soá Hoïc Sinh (khoaù) Ñieåm moân Toaùn Ñieåm moân Lyù Ñieåm moân Vaên Ñieåm moân Anh

Yeâu Caàu: Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 82

TRƯỜNG TCN KTCN HÙNG VƯƠNG
 

GIÁO TRÌNH MICROSOFT ACCESS 2003

MaHS : khoâng truøng, baét buoäc phaûi nhaäp, nhaäp xong phaûi hieån thò daïng chöõ hoa trong cô sôû döõ lieäu. Toan, Ly, Anh, Van : laø soá thöïc coù giaù trò töø 0 tôùi 10, laáy 1 soá leû, giaù trò maëc ñònh laø 0

B. Thieát laäp quan heä giöõa caùc baûng trong cöûa soå Relationship nhö hình sau:

Anh

C. Thí sinh nhaäp döõ lieäu Töông öùng vôùi caùc table nhö sau: Table Lop TENLOP Ban GVCN 10A01 A Huyønh Taán 10A02 A Giang Nam 10A03 A Xuaân Ñoâng 10B01 B Tuyeát Ngoïc 10B02 B Uyeân Trinh MSHS 10A010 10A010 10A010 10A010 10A010 10B020 10B020 10B020 10B020 10B020 Table Diem Toan Ly Van 6 9 9 7 7 7 8 8 8 6 9 6 2 3 4 8 7 5 7 6 8 8.5 5.5 6.5 9 7 3 8 8 8 Anh 8 7 8 9 2 6 9 4 8 6

MSHS 10A0101 10A0102 10A0103 10A0104 10A0105 10A0106 10B0201 10B0202 10B0203 10B0204 10B0205

Table HocSinh MaLop Ho Ten 10A01 Löông Thò Anh 10A01 Lyù Huøng Anh 10A01 Nguyeãn Thò Dung 10A01 Phan Ñöùc Duõng 10A01 Nguyeãn Vaên Hoaø 10A01 Nguyeãn Hoàng Phöông 10B02 Huyønh Dung 10B02 Nguyeãn Hoàng Long 10B02 Leâ Ñaêng Long 10B02 Traàn Thò Bích 10B02 Ñoã Huöõ Troïng

NamSinh 1983 1980 1984 1983 1984 1985 1983 1984 1983 1984 1983

PhaiNam x x x

X X X

D. Taïo caùc Query sau bằng ngôn ngữ SQL và QBE:

 

Q1: Cho bieát thoâng tin veà caùc hoïc sinh hoïc lôùp 10A01. Q2: Cho bieát thoâng tin veà caùc hoïc sinh Nam, sinh tröôùc naêm 1985.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 83

TRƯỜNG TCN KTCN HÙNG VƯƠNG
  

GIÁO TRÌNH MICROSOFT ACCESS 2003

Q3: Cho bieát danh saùch caùc hoïc sinh coù ñieåm taát caû caùc moân treân 5, bao goàm: MSHS, HoTen HS, PhaiNam, TenLop, GVCN. Q4: Cho bieát danh saùch caùc hoïc sinh coù ñieåm Toaùn hoaëc ñieåm Lyù >=7. Q5: Taïo Query bao goàm caùc thoâng tin MAHS, MaLop, HoTen, NamSinh, PhaiNam, Toan, Ly, Hoa, Van, Toång Ñieåm vaø Xeáp Loaïi. Bieát raèng: - HoTen : Bao goàm Hoï noái vôùi Teân - Toång ñieåm : Neáu Ban laø “A” thì Toaùn * 2 + Lyù +Vaên + Anh coøn ban “B” thì Toaùn + Lyù +Vaên * 2 - Xeáp loaïi : ñaùnh giaù cho töøng hoï sinh nhö sau: +Gioûi : Neáu toång ñieåm >= 32 +Khaù : Neáu toång ñieåm >= 26 +Trung bình : Neáu toång ñieåm >= 20 Coøn laïi laø Hoûng Q6: Thoáng keâ xem moãi lôùp coù bao nhieâu hoïc sinh, Q7: Thoáng keâ xem coù bao nhieâu hoïc sinh gioæ, khaù, trung bình, hoûng,

 

BÀI THỰC HÀNH 03 (QUANLY.MDB)
A. Taïo caáu truùc caùc Table sau:

 GIAOVIEN (MS-GV, HO-GV, TEN-GV, #MS-KHOA, MS-CNK, LG-GV)  KHOA (MS-KHOA, TEN-KHOA, NGS-KHOA)  Kyù hieäu söû duïng:  MS-CNK: Maõ soá chuû nhieäm khoa  LG-GV: Löông giaùo vieân (ñôn vò tính 100000ñ)  NGS-KHOA: Ngaân saùch khoa (ñôn vò tính 1000000ñ)  Baûng töông öùng vôùi hai quan heä treân:
GIAOVIEN MS- GV T0 T4 T6 T7 T2 T3 T5 T1 T8 T9 KHOA HO-GV TRAN HOANG NGUYEN PHAM HO LE VU TRAN HUYNH HO TEN-GV VAN MANH THI NGA AN VAN MINH THU NGA MINH THONG NGOC THU HUU NHAN MS- KHOA D20 D20 D20 D15 D15 D15 D15 D25 D25 D32 MS-CNK T4 T4 T4 T2 T2 T2 T2 T1 T1 T9 NGS-KHOA 600 800 500 400 700 100 LG-GV 20 18 10 18 20 15 21 23 16 13

MS-KHOA D15 D20 D22 D25 D30 D32

TEN-KHOA CONG NGHE THONG TIN VAT LY TOAN HOC THONG KE DI TRUYEN MOI TRUONG

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 84

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

B. Haõy söû duïng ngoân ngöõ coù caáu truùc SQL vaø QBE taïo caùc truy vaán sau:

                      

QueryQ1: Haõy cho bieát teân cuûa caùc khoa coù trong CSDL QUANLY. QueryQ2: Haõy cho bieát maõ soá caùc khoa. QueryQ3: Haõy cho bieát HO GV; TEN GV cuûa caùc GIAOVIEN thuoäc khoa D25. QueryQ4: Haõy cho bieát HO&TEN caùc giaùo vieân,TENKHOA coù maõ soá khoa D15,D22,D32. QueryQ5: Haõy cho bieát HO&TEN giaùo vieân thuoäc khoa D20 coù löông lôùn hôn 1600000. QueryQ6: Haõy cho bieát MS-GV; HO-GV; TEN-GV cuûa caùc khoa D15 vaø D20 coù löông lôùn hôn 1500000 vaø beù hôn 2000000. QueryQ7: Haõy cho bieát MS-GV; HO-GV; TEN-GV cuûa caùc khoa D15 vaø D20 coù löông nhoû hôn 1500000 hoaëc lôùn hôn 2000000. QueryQ8: Haõy cho bieát MS-GV; HO-GV; TEN-GV cuûa khoa D15 coù löông lôùn hôn 1700000 nhöng khoâng phaûi laø chuû nhieäm khoa. QueryQ9: Haõy tìm HO & TEN caùc ñoàng nghieäp cuøng khoa giaùo vieân HO=“PHAM” & TEN=“AN”. QueryQ10: Haõy tìm caùc ñoàng nghieäp cuøng khoa cuûa GV coù HO= “TRAN” vaø TEN = “THONG” maø löông lôùn hôn giaùo vieân TRAN THONG. QueryQ11: Haõy tìm HO & TEN cuûa giaùo vieân cuøng ngaân saùch khoa hoïc cuûa khoa maø GV tröïc thuoäc cuûa nhöõng giaùo vieân coù löông lôùn hôn 2000000. QueryQ12: Haõy tìm caùc khoa khoâng coù giaùo vieân. QueryU1: Cheøn moät khoa môùi vaøo bảng KHOA coù noäi dung sau ñaây: {D36KINHTE 400{. QueryU2: Xoùa khoa coù maõ soá khoa D15. QueryU3: Haõy taêng ngaân saùch cuûa khoa coù MSKHOA = “D15” theâm 20000000. QueryU4: Haõy taêng löông cho taát caû GV cuûa khoa D7 theâm 10%. QueryF1: Haõy ñeám taát caû nhöõng ngöôøi höôûng löông coù trong CSDL QUANLY. QueryF2: Haõy tìm HO & TEN cuûa giaùo vieân coù löông lôùn nhaát. QueryF3: Haõy tìm toång soá khoa khaùc nhau coù trong thöïc theå GIAOVIEN. QueryF4: Haõy tìm tieàn löông trung bình cuûa moãi khoa. QueryF5: Haõy tìm tieàn löông trung bình tuaàn cuûa caùc khoa. QueryF6: Haõy tìm maõ soá KHOA vaø tieàn löông trung bình cuûa noù, tröø khoa coù maõ soá D15 QueryF7: Haõy tìm caùc khoa coù soá löôïng GV lôùn hôn 2 vaø khaùc khoa coù maõ soá D15

BÀI THỰC HÀNH 04 (QLSV.MDB)
A. Taïo caáu truùc caùc Table sau: Table DMMH (MaMH, TEN-MH) Table DMKHOA (MaKHOA, TEN-KHOA) Table SINHVIEN (MaSV, HoSV, TenSV, GioiTinh, Ngaysinh, Noisinh, Diachi, Quan, MaKHOA, Hocbong) Table KETQUA (MaSV, MaMH, DIEM)

   

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 85

TRƯỜNG TCN KTCN HÙNG VƯƠNG
B. Nhaäp döõ lieäu vaøo caùc baûng: Maõ SV
A01 A02 A03 A04 A05 A06 B01 B02 B03 C01 C02

GIÁO TRÌNH MICROSOFT ACCESS 2003

Hoï sinh vieân
Nguyeãn Thò Traàn Vaên Leâ Thò Baïch Traàn Baïch Traàn Thuùy Nguyeãn Vaên Traàn Thanh Traàn Ñaêng Ñaøo Thò Leâ Hoàng Nguyeãn Thò

Teân sv
Haûi Chính Chính Ñaèng Uyeân Chính Mai Khoa Hoa Chöông Giang

Phaùi
Nöõ Nam Nöõ Nam Nöõ Nam Nöõ Nam Nöõ Nam Nöõ

Ngaøy sinh
23/02/77 23/02/77 21/12/76 05/01/73 06/05/76 01/01/77 20/12/77 05/03/75 06/01/75 12/01/74 04/12/75

Nôi sinh
Saøi Goøn Saøi Goøn Haø Noäi Saøi Goøn An Giang Saøi Goøn Beán Tre Haø Noäi An Giang Traø Vinh Saøi Goøn

Ñòa chæ
12 Voõ Vaên Taàn 34 Nguyeãn Traõi 757 Pastuer 5 Leâ Lôïi 3 Huøng Vöông 05 Ng Vaên Cöø 26 HBT 135 Voõ T Saùu 12 Leâ Quang 35 Huøng Vöông 134 Leâ Duaån

Quaän
Q3 Q1 BC Q1 Q5 Q5 Q1 Q3 BT Q8 Q1

Maõ khoa
AV TH VL AV TH TR TH AV TH VL TR

Hoïc boång
100,000 120,000 100,000 150,000 120,000

120,000 140,000 200,000

Maõ khoa AV TH TR VL Maõ moân hoïc 01 02 03 04 05 06 07 08 09

Teân khoa ANH VAÊN TIN HOÏC TRIEÁT HOÏC VAÄT LYÙ Teân moân hoïc CÔ SÔÛ DÖÕ LIEÄU TRÍ TUEÄ NHAÂN TAÏO TRUYEÀN TIN ÑOÀ HOÏA VAÊN PHAÏM ÑAØM THOAÏI VAÄT LYÙ GNUYEÂN VAÄT LYÙ ÑÒA CAÀU TRIEÁT HOÏC ÑOÂNG

Maõ sinh vieân A01 A01 A01 A02 A02 A02 A03 A03 A04 A05 A05 B01 B01 B02 B02 B03

Maõ moân hoïc 01 02 03 01 02 03 04 01 03 01 02 04 03 01 02 02

Ñieåm 4.0 2.0 10.0 10.0 2.0 8.0 5.0 4.0 8.0 8.0 5.0 7.0 3.0 10.0 3.0 8.0

C. Haõy söû duïng ngoân ngöõ coù caáu truùc SQL vaø QBE taïo caùc truy vaán sau:

      

QueryQ1: Lieät keâ danh saùch sinh vieân goàm caùc field sau: MASV, HOSV, TENSV, NGAYSINH, DIACHI, PHAI, NOISINH, HOCBONG. QueryQ2: Töông töï Q1 nhöng saép xeáp taêng daàn theo HOCBONG QueryQ3: Töông töï Q1 nhöng saép xeáp taêng daàn theo MAKH, giaûm daàn theo NGAYSINH QueryQ4: Töông töï Q1 nhöng loïc nhöõng sinh vieân coù teân laø “Chính” QueryQ5: Töông töï Q1 nhöng loïc nhöõng sinh vieân coù teân baét ñaàu laø chöõ “H” QueryQ6: Töông töï Q1 nhöng loïc nhöõng sinh vieân coù teân baét ñaàu laø chöõ [B – M] QueryQ7: Töông töï Q1 nhöng loïc nhöõng sinh vieân coù hoï laø Nguyeãn hoaëc Leâ

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 86

TRƯỜNG TCN KTCN HÙNG VƯƠNG
            

GIÁO TRÌNH MICROSOFT ACCESS 2003

QueryQ8: Töông töï Q1 nhöng loïc nhöõng sinh vieân coù hoï loùt laø “Thò” QueryQ9: Lieät keâ caùc thoâng tin goàm caùc field sau: QueryQ10: Töông töï Q2 nhöng chæ hieån thò nhöõng sinh vieân coù hoïc boång QueryQ11: Töông töï Q2 nhöng chæ hieån thò nhöõng sinh vieân thuoäc khoa TH QueryQ12: Töông töï Q2 nhöng chæ hieån thò nhöõng sinh vieân thuoäc khoa AV & coù hoïc boång QueryQ13: Töông töï Q2 nhöng chæ hieån thò nhöõng sinh vieân thuoäc khoa TH hoaëc khoa AV QueryQ14: Töông töï Q2 nhöng chæ hieån thò nhöõng sinh vieân ôû Q1 hoaëc Q3 vaø coù hoïc boång QueryQ15: Töông töï Q2 nhöng chæ hieån thò nhöõng sinh vieân coù nôi sinh “Haø Noäi” vaø sinh thaùng 12 QueryQ16: Lieät keâ caùc thoâng tin goàm caùc field sau (TUOI ñöôïc tính naêm hieän haønh tröø naêm sinh): MASV, HOSV, TENSV, NGAYSINH, TUOI QueryQ17: Lieät keâ caùc thoâng tin goàm field sau: MASV, HOTENSV, NGAYSINH, NOISINH, PHAI, MAKHOA, TENKHOA, MAMH, TENMH, DIEM QueryQ18: Lieät keâ caùc thoâng tin goàm field sau: (HOCBONGPT baèng 10% HOCBONG) MASV, HOTENSV, MAKHOA, TENKHOA, HOCBONG, HOCBONGPT QueryQ19: Lieät keâ KETQUA laø “ÑAÏT” neáu DIEM>=5, ngöôïc laïi laø “KHOÂNGÑAÏT” goàm caùc Field sau: MASV, HOTENSV, PHAI, TENKHOA, TENMH, DIEM, KETQUA QueryQ20: Lieät keâ caùc thoâng tin goàm field sau: MASV, HOTENSV, SOMT, DIEMTB, KETQUA SOMT laø soá moân thi cuûa sinh vieân ñoù DIEMTB laø ñieåm trung bình cuûa sinh vieân ñoù KETQUA laø “Ñaäu” neáu DIEMTB >=5 vaø khoâng coù ñieåm < 2, ngöôïc laïi “Rôùt”

MASV, HOSV, TENSV, NGSINH, NOISINH, PHAI, DIACHI, MAKH, TENKH, HOCBONG

           

QueryQ21: Töông töï Q7 nhöng chæ hieån thò nhöõng sinh vieân coù keát quaû laø Ñaäu QueryQ22: Lieät keâ caùc thoâng tin cho bieát toång sinh vieân theo töøng khoa goàm caùc field sau: MAKHOA, TENKHOA, TONGSOSV QueryQ23: Lieät keâ thoâng tin cho bieát toång soá sinh vieân thi theo töøng moân hoïc goàm caùc field sau: MAMH, TENMH, SOSVTHI. QueryQ24: Lieät keâ caùc thoâng tin goàm field sau: MAKH, TENKHOA, TONGSVNAM QueryQ25: Lieät keâ caùc thoâng tin goàm field sau: MAKH, TENKHOA, TONGSVNU QueryQ26: Cho bieát moân hoïc chöa coù sinh vieân thi goàm caùc field sau: MAMH, TENMH QueryQ27: Cho bieát sinh vieân coù ñieåm cao nhaát goàm caùc field: MASV, HOTENSV, DIEM QueryQ28: Cho bieát moân hoïc nhieàu sinh vieân thi nhaát goàm: MAMH, TENMH, SOSVTHI QueryQ29: Cho bieát caùc SV khoa ANH VAÊN chöa thi goàm caùc field: MASV, HOTENSV. QueryQ30: Cho bieát khoa coù sinh vieân nhieàu nhaát goàm caùc field: MAKH, TENKH, SOSV QueryQ31: Taêng theâm hoïc boång cho caùc sinh vieân thuoäc khoa AV 10% QueryQ32: Taêng 1 ñieåm moân hoïc Ñoà hoïa nhöõng sinh vieân coù maõ soá baét ñaàu baèng chöõ “A”

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 87

TRƯỜNG TCN KTCN HÙNG VƯƠNG
    

GIÁO TRÌNH MICROSOFT ACCESS 2003

QueryQ33: Theâm khoa môùi vaøo Table DMKHOA goàm caùc thoâng tin “HV”, “Hoa vaên” QueryQ34: Theâm moät MH môùi vaøo Table DMMH goàm caùc thoâng tin “11”, “ÑH CN” QueryQ35: Xoùa sinh vieân coù maõ soá B03 trong Table KETQUA QueryQ36: Xoùa nhöõng sinh vieân thuoäc khoa Trieát hoïc trong Table SINHVIEN QueryQ37: Thoáng keâ sinh vieân theo phaùi theo daïng sau: Phaùi Nam Nöõ Toång soá 6 5 AV 2 1 TH 1 3 TR 2 VL 1 1

BÀI THỰC HÀNH 05
A- Tạo các Table cho CSDL Banhang.mdb  Table: Nhanvien Field name Manv Holot Ten Phai Ngaysinh Ngaynv Dienthoainv Hinhnv Data Type Number Text Text Yes/No Date/Time Date/Time Text Description Mã nhân viên Họ lót nhân viên Tên nhân viên Giới tính Ngày tháng năm sinh Ngày nhận việc Điện thoại liên lạc Field Properties Field Size: Byte Field Size: 25 Field Size: 8 Format: “Nam”;“Nữ” Display Control: TextBox

Field Size: 10 Input Mask: (999) 0000009

OLE Object Hình ảnh nhân viên

 Table: Khachhang Field name Makh Tenkh Dienthoaikh Diachikh Thanhpho Data Type Text Text Text Text Text Description Mã khách hàng Tên công ty Điện thoại khách hàng Địa chỉ khách hàng Thành phố Field Properties Field Size: 5 Field Size: 50 Field Size: 10 Input Mask: (999) 0000009 Field Size: 50 Field Size: 20

 Table: Sanpham Field name Masp Tensp Donvi Dongia Hinhsp Data Type Number Text Text Number Description Mã sản phẩm Tên sản phẩm Đơn vị tính Đơn giá bán Field Properties Field Size: Byte Format: 000 Field Size: 30 Field Size: 10 Field Size: Double Format: #,##0 $ Trang 88

OLE Object Hình sản phẩm

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

TRƯỜNG TCN KTCN HÙNG VƯƠNG
 Table: Hoadon Field name Mahd Makh Manv Ngaylaphd Ngaynhan Data Type Text Text Number Date/Time Date/Time Description Mã hóa đơn Mã khách hàng Mã nhân viên Ngày lập hóa đơn Ngày giao hàng

GIÁO TRÌNH MICROSOFT ACCESS 2003

Field Field Field Field

Properties Size : 8 Size : 5 Size : Byte

 Table : Chitiet Field name Mahd Masp Soluong Data Type Text Number Number Description Mã hóa đơn Mã sản phẩm Số lượng bán Field Properties Field Size : 8 Field Size : Byte Format : 000 Field Size : Integer

B- Nhập dữ liệu  Table: Nhanvien

 Table: Khachhang

 Table: Sanpham

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 89

TRƯỜNG TCN KTCN HÙNG VƯƠNG
 Table: Hoadon

GIÁO TRÌNH MICROSOFT ACCESS 2003

 Table: Chitiet

C- Tạo các Table cho CSDL Hocvien.mdb  Table: Hocvien
Field name Mahv Holothv Tenhv Phai Ngaysinhhv Noisinhhv Dienthoaihv Data Type Text Text Text Yes/No Date/Time Text Text Description Mã học viên Họ lót học viên Tên học viên Giới tính Ngày tháng năm sinh Nơi sinh Điện thoại liên lạc Field Properties Field Size : 8 Format : > Field Size : 30 Field Size : 8 Format : “Nam”;“Nữ” Display Control : TextBox Format : 20 Field Size : 10 Input Mask : (999) 0000009

 Table: Phancong
Field name Malop Magv Phutrach Data Type Text Number Text Description Mã lớp Mã giáo viên Phụ trách lý thuyết, thực hành Field Field Field Field Properties Size : 8 Format : > Size : Byte Size : 10

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 90

TRƯỜNG TCN KTCN HÙNG VƯƠNG
 Table: Lop
Field name Malop Tenlop Siso Hocphi Ngaykhaigiang Ngaybegiang SotietLT SotietTH Data Type Text Text Number Number Date/Time Date/Time Number Number Description Mã lớp

GIÁO TRÌNH MICROSOFT ACCESS 2003

Tên lớp Sỉ số ban đầu Học phí Ngày tháng năm khai giảng Ngày bế giảng Số tiết lý thuyết Số tiết thực hành

Field Properties Field Size : 8 Format : > Field Size : 50 Field Size : Byte Field Size : Single

Field Size : Byte Field Size : Byte

 Table: Giaovien
Field name Magv Holotgv Tengv Phai Ngaysinhgv Bangcap Dienthoaigv TiengioLT TiengioTH Data Type Number Text Text Yes/No Date/Time Text Text Number Number Description Mã giáo viên Họ lót giáo viên Tên giáo viên Giới tính Ngày tháng năm sinh Bằng cấp Điện thoại liên lạc Tiền giờ lý thuyết Tiền giờ thực hành Field Properties Field Size : Byte Field Size : 30 Field Size : 8 Format : “Nam”;“Nữ” Display Control : TextBox Format : 20 Field Size : 10 Input Mask : (999) 0000009 Field Size : Single Field Size : Single

 Table: Ketqua
Field name Mahv Malop Ngaythi DiemLT Data Type Text Text Date/Time Number Description Mã học viên Mã lớp Ngày tháng năm thi Điểm lý thuyết Field Properties Field Size : 8 Field Size : 8 Format : > Format : >

DiemTH

Number

Điểm thực hành

Format : Single Format : 0.0 Validation Rule : >=0 and <=10 Validation Text : “Bạn nhập điểm không đúng !!” Format : Single Format : 0.0 Validation Rule : >=0 and <=10 Validation Text : “Bạn nhập điểm không đúng !!”

D- Phần dữ liệu thử của CSDL Hocvien.mdb yêu cầu học viên tự nhập. E- Các câu hỏi Select Query cho CSDL Banhang.mdb
1- QS1 : Tạo Query gồm các Field : Họ lót nhân viên, tên nhân viên, mã hóa đơn, ngày lập hóa đơn. Sắp thứ tự theo tên nhân viên. 2- QS2 : Tạo Query gồm các Field : Mã hóa đơn, tên sản phẩm, đơn vị tính, số lượng, đơn giá, ngày lập hóa đơn, ngày nhận hàng. Sắp thứ tự theo mã hóa đơn. 3- QS3 : Tạo Query gồm các Field : Tên khách hàng, tên sản phẩm, đơn vị tính, số lượng, đơn giá.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 91

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

4- QS4 : Tạo Query gồm các Field : Mã hóa đơn, tên khách hàng, tên sản phẩm, họ lót nhân viên, tên nhân viên, ngày lập hóa đơn. Sắp xếp tăng dần theo ngày lập hóa đơn. 5- QS5 : Hiển thị danh sách các đơn đặt hàng được lập trong tháng 3 năm 2004. Gồm các Field : Mã hóa đơn, ngày lập hóa đơn, ngày nhận hàng, tên khách hàng và được sắp xếp tăng dần theo ngày lập hóa đơn. 6- QS6 : Hiển thị danh sách các đơn đặt hàng do nhân viên có mã số 5 lập. Gồm các Field : Họ lót nhân viên, tên nhân viên, mã hóa đơn, ngày lập hóa đơn, tên khách hàng. 7- QS7 : Hiển thị tên và địa chỉ những khách hàng đã mua hàng trong quý 2 năm 2004. Gồm các Field : Tên khách hàng, địa chỉ khách hàng, thành phố khách hàng, mã hóa đơn, ngày lập hóa đơn. 8- QS8 : Hiển thị danh sách các khách hàng ở Thành phố HCM hoặc Hà Nội. Gồm các Field : Tên khách hàng, địa chỉ khách hàng, thành phố khách hàng, điện thoại khách hàng. 9- QS9 : Hiển thị danh sách các đơn đặt hàng có ngày lập và ngày nhận cách nhau không quá 5 ngày. Gồm các Field : Mã hóa đơn, ngày lập hóa đơn, ngày nhận hàng. 10- QS10 : Hiển thị danh sách các khách hàng có tên khách hàng chứa chuỗi "TNHH". Gồm các Field : Mã khách hàng, tên khách hàng, địa chỉ khách hàng, thành phố khách hàng, điện thoại khách hàng. 11- QS11 : Hiển thị danh sách các đơn đặt hàng được lập trong 6 tháng đầu năm 2004. Gồm những Field sau : Mã hóa đơn, ngày lập hóa đơn, tên khách hàng, họ tên nhân viên lập đơn. Trong đó : ▬ Họ tên nhân viên được ghép từ họ lót và tên.

12- QS12 : Hiển thị danh sách các đơn đặt hàng lập trong tháng 9 hoặc 10 của các khách hàng dạng "TNHH". Gồm các Field : Mã hóa đơn, ngày lập hóa đơn, họ tên nhân viên lập đơn, tên sản phẩm, số lượng, đơn giá, thành tiền. ▬ ▬ Họ tên nhân viên được ghép từ họ lót và tên. Thành tiền : số lượng * đơn giá

13- QS13 : Hiển thị danh sách đơn đặt hàng có mã hóa đơn là 20040005. Gồm các Field : Mã hóa đơn, tên sản phẩm, số lượng, đơn giá, thành tiền. 14- QS14 : Hiển thị danh sách chi tiết về các đơn đặt hàng. Gồm các Field : Mã hóa đơn, tên sản phẩm, số ngày lập đơn, đơn giá, số lượng, thành tiền, tiền trả trước, tiền còn lại. Biết rằng : ▬ ▬ ▬ Thành tiền : đơn giá * số lượng Số ngày lập đơn là khoảng cách từ ngày lập đơn đến ngày nhận hàng. Tiền trả trước : Nếu số ngày lập đơn ít hơn 20 thì bằng 20% của thành tiền. Nếu số ngày lập đơn từ 20 đến 30 thì bằng 30% của thành tiền. Nếu số ngày lập đơn trên 30 thì bằng 40% của thành tiền. Tiền còn lại : thành tiền - tiền trả trước, nhưng giảm đi 5%. Khai báo thuộc tính “#,##0 $” cho các Field : Thành tiền, tiền trả trước, tiền còn lại.

▬ ▬

15- QS15 : Hiển thị danh sách chi tiết về các đơn đặt hàng. Gồm các Field : Mã hóa đơn, ngày lập hóa đơn, ngày nhận hàng, tên khách hàng, họ tên nhân viên, tên sản phẩm, đơn giá, số lượng, thành tiền, tổng tiền. Biết rằng: ▬ ▬  Thành tiền: đơn giá * số lượng Tổng tiền: thành tiền + tiền kho. Với tiền kho được tính như sau :

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 92

TRƯỜNG TCN KTCN HÙNG VƯƠNG
  

GIÁO TRÌNH MICROSOFT ACCESS 2003

Nếu thời gian từ ngày lập đơn đến ngày nhận hàng trong khoảng từ 20 đến 40 ngày thì không tính tiền kho. Nếu thời gian từ ngày lập đơn đến ngày nhận hàng nhỏ hơn 20 ngày thì giảm 2000 cho một ngày không lưu kho. Nếu thời gian từ ngày lập đơn đến ngày nhận hàng lớn hơn 40 ngày thì thêm 2000 cho một ngày lưu kho.

16- QS16 : Hiển thị danh sách các đơn đặt hàng. Gồm các Field: Mã hóa đơn, ngày lập hóa đơn, tên sản phẩm, thành tiền, thuế, huê hồng, thực thu. Biết rằng: ▬ ▬ ▬ ▬ Thành tiền : số lượng * đơn giá Thuế : 20% * thành tiền Huê hồng : 4% * thành tiền, với điều kiện số lượng từ 40 trở lên. Thực thu : thành tiền – huê hồng - thuế

17- QS17 : Hiển thị danh sách các mặt hàng đặt mua trong 6 tháng cuối năm 2004. Gồm các Field: Tên sản phẩm, mã hóa đơn, số lượng, đơn giá, đơn vị tính, thành tiền, quý. Biết rằng: ▬ ▬ Thành tiền : số lượng * đơn giá Quý : Ghi là "Quý 3" nếu ngày lập đơn từ đầu tháng 7 đến hết tháng 9 năm 2004. Ghi là "Quý 4" nếu ngày lập đơn từ đầu tháng 10 đến hết tháng 12 năm 2004.

18- QS18 : Hiển thị danh sách của những đơn đặt hàng đặt mua trong 6 tháng đầu năm 2004. Gồm các Field : Mã hóa đơn, tên sản phẩm, số lượng, đơn giá, thành tiền, giảm, cước phí, thanh toán. ▬ ▬ ▬ ▬ Thành tiền : số lượng * đơn giá Giảm : 10% * thành tiền, nếu số lượng trên 40 Cước phí : 15% * thành tiền, nếu từ ngày lập đơn đến ngày nhận hàng trên 20 ngày. Thanh toán : thành tiền - giảm + cước phí

19- QS19 : Hiển thị các hóa đơn chưa giao hàng. Gồm các Field sau : Mã hóa đơn, ngày lập hóa đơn, tên khách hàng, điện thoại khách hàng. 20- QS20 : Hiển thị tên sản phẩm có đơn giá bán thấp nhất. Gồm : Tên sản phẩm, đơn vị tính, đơn giá. 21- QS21 : Hiển thị danh sách các khách hàng chưa đặt đơn hàng. Gồm : Mã khách hàng, tên khách hàng, điện thoại khách hàng, địa chỉ khách hàng. 22- QS22 : Hiển thị danh sách các sản phẩm chưa có đơn đặt hàng. Gồm : Mã sản phẩm, tên sản phẩm, đơn vị tính, đơn giá. 23- QS23 : Hiển thị danh sách các hóa đơn của một nhân viên bất kỳ có mã nhập vào từ bàn phím. Các thông tin gồm : Hóa đơn nào ? Cho ai ? Ngày lập đơn ? Ngày nhận hàng ? Địa chỉ của khách hàng ? 24- QS24 : Hiển thị danh sách các sản phẩm đã bán theo mã sản phẩm nhập từ bàn phím. Thông tin gồm : Bán cho những hóa đơn nào ? Số lượng ? Đơn giá ? Tên khách hàng đặt mua ? Thành tiền ? 25- QS25 : Cho biết trong một khoảng thời gian bất kỳ nào đó, một khách hàng nào đó có mua hàng hay không ? Các thông tin cần xem : Mã khách hàng, tên khách hàng, ngày lập hóa đơn, ngày nhận hàng, họ tên nhân viên, tên sản phẩm.

F- Thực hành tạo các Form Wizard theo mẫu Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 93

TRƯỜNG TCN KTCN HÙNG VƯƠNG
Mẫu 1: F_mau1

GIÁO TRÌNH MICROSOFT ACCESS 2003

Mẫu 2: F_mau2

(Chỉnh sửa lại kích thước các đối tượng để có thể hiển thị đầy đủ nội dung)

Mẫu 3: F_mau3

Mẫu 4: FM_nhanvienhoadon

Mẫu 5: FM_hoadonchitiet

(Chỉnh sửa lại kích thước và vị trí các đối tượng đúng theo mẫu)

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 94

TRƯỜNG TCN KTCN HÙNG VƯƠNG GIÁO TRÌNH MICROSOFT ACCESS 2003 G- Thực hành tạo các Report Wizard theo mẫu
Mẫu 1: R_mau1

Mẫu 2: R_mau2

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 95

TRƯỜNG TCN KTCN HÙNG VƯƠNG Mẫu 3: R_mau3

GIÁO TRÌNH MICROSOFT ACCESS 2003

Mẫu 4: R_mau4

BÀI THỰC HÀNH 06
(Thực hiện trên CSDL HoaDon.mdb) A- Các câu hỏi Total Query 1- QT1: Thiết kế query tính trị giá của hóa đơn đặt mua hàng có mã hóa đơn nhập vào từ bàn phím. Biết rằng trị giá hàng hóa bằng tổng thành tiền của tất cả các sản phẩm trong hóa đơn, đồng thời cho biết số sản phẩm trong hóa đơn đó. Gồm các Field : mã hóa đơn, số sản phẩm, trị giá. 2- QT2 Thiết kế Query để cho biết trị giá của mỗi hóa đơn mà mỗi khách hàng đã đặt mua. Gồm các Field : tên khách hàng, mã hóa đơn, trị giá.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 96

TRƯỜNG TCN KTCN HÙNG VƯƠNG GIÁO TRÌNH MICROSOFT ACCESS 2003 3- QT3: Thiết kế Query để cho biết số hóa đơn và tổng thành tiền của mỗi khách hàng trong 6 tháng đầu năm 2004. Gồm các Field : tên khách hàng, số hóa đơn, tổng trị giá. (Sử dụng Query QT2 với Table Hoadon).
4- QT4: Thiết kế query để cho biết số hóa đơn và tổng trị giá của các hóa đơn có trị giá mỗi hóa đơn lớn hơn hoặc bằng 500000 mà mỗi khách hàng đã đặt mua hàng. Gồm : tên khách hàng, số hóa đơn, tổng trị giá. (Sử dụng Query QT2 với Table Hoadon). 5- QT5: Thiết kế Query cho biết số hóa đơn và tổng trị giá của các hóa đơn mà mỗi khách hàng đã mua hàng có tổng trị giá lớn hơn 8000000. Gồm : tên khách hàng, số hóa đơn, tổng trị giá. (Sử dụng Query QT2 với Table Hoadon). 6- QT6: Thiết kế query để cho biết ở mỗi thành phố có bao nhiêu khách hàng. 7- QT7: Thiết kế một query để cho biết tổng số hóa đơn và tổng doanh thu của mỗi quý trong năm 2004. 8- QT8: Thiết kế query để cho biết trị giá cao nhất ứng với mỗi sản phẩm ghi trên hóa đơn. Thông tin gồm : mã hóa đơn, tên sản phẩm, trị giá cao nhất. (Tạo một Total Query tính trị giá cao nhất ứng với mỗi sản phẩm. Sau đó tạo một Select Query với sự tham gia của Total Query trên và sử dụng Field trị giá cao nhất trong Total Query để đặt điều kiện cho Field trị giá trong Select Query). 9- QT9: Thiết kế query để cho biết mỗi nhân viên đã lập bao nhiêu hóa đơn và tổng số tiền của các hóa đơn đó. 10- QT10: Thiết kế query để thống kê số liệu cho từng sản phẩm. Các thông tin gồm:  Tổng số hóa đơn đã lập cho mỗi mặt hàng ?  Tổng số lượng đã bán ?  Tổng số tiền thu được ?  Tổng số tiền thu được trong từng khoảng thời gian : 6 tháng đầu năm 2004 và 6 tháng cuối năm 2004. B- Các câu hỏi Crosstab Query 1- QC1: Thiết kế Query cho biết tổng số tiền mua mỗi mặt hàng của mỗi khách hàng. 2- QC2: Thiết kế query cho biết tổng số tiền mua hàng của mỗi khách hàng trong mỗi tháng của năm 2004. (khai báo thuộc tính Column Heading) 3- QC3: Thiết kế query cho biết tổng số tiền mua hàng của mỗi khách hàng trong mỗi quý của năm 2004. 4- QC4: Thiết kế query cho biết tổng số tiền mua hàng của mỗi khách hàng trong 6 tháng đầu năm 2004. Đồng thời cho biết tổng số tiền mà mỗi khách hàng phải trả trong 6 tháng đó. 5- QC5: Thiết kế query cho biết tổng số hóa đơn mà mỗi nhân viên đã lập trong mỗi quý của năm 2004. Đồng thời cho biết tổng số hóa đơn mà nhân viên đó đã lập trong năm 2004. 6- QC6: Thiết kế query cho biết tổng trị giá thu được trong từng quý trong năm 2004 của mỗi khách hàng. Đồng thời cho biết tổng số tiền thu được và tổng số hóa đơn đã đặt trong năm. 7- QC7: Thiết kế query thống kê mỗi mặt hàng đã bán trong mỗi tháng của năm 2004. Gồm các thông tin: (khai báo thuộc tính Colum Heading) Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 97

TRƯỜNG TCN KTCN HÙNG VƯƠNG GIÁO TRÌNH MICROSOFT ACCESS 2003  Số hóa đơn đã lập cho mỗi mặt hàng theo mỗi tháng.  Tổng số tiền thu được mỗi sản phẩm.  Tổng số hóa đơn đã lập cho mỗi sản phẩm.
8- QC8: Thiết kế query để lên danh sách tổng kết về từng nhân viên, cho biết các hóa đơn mà nhân viên đó đã lập trong từng quý của năm 2004. Đồng thời cho biết tổng tiền của các hóa đơn đó và tổng số hóa đơn mà nhân viên đó đã lập. 9- RQC2: Sử dụng Query QC2 để tạo một Report Wizard và quan sát mẫu Report này. 10- RQC8: Hãy sử dụng Query QC8 để thiết kế Report Wizard. C- Các câu hỏi Query hành động 1- QM1: Tạo một Table gồm các cột : mã hóa đơn, mã khách hàng, ngày lập đơn, thành tiền chứa danh sách các hóa đơn trong tháng 4 và 5 năm 2004. 2- QM2: Tạo một Table chứa danh sách các nhân viên nữ với đầy đủ các thông tin cá nhân. 3- QM3: Tạo một Table chứa danh sách các sản phẩm có đơn vị tính là "kg" với các Field : mã sản phẩm, tên sản phẩm, đơn giá. 4- QM4: Tạo một Table chứa danh sách các hóa đơn có ngày giao hàng trong quý 3 năm 2004. 5- QD1: Thiết kế Query để xóa các hóa đơn tháng 4 năm 2004 của Table QM1. 6- QD2: Thiết kế Query để xóa các nữ nhân viên trong Table QM2 có tuổi lớn hơn 25. 7- QA1: Thiết kế Query lấy các sản phẩm có đơn vị tính là "viên" từ Table Sanpham để nối thêm vào Table QM3. 8- QA2: Thiết kế Query lấy thêm các hóa đơn giao hàng trong quý 1 năm 2004 từ Table Hoadon để nối thêm vào Table QM4. 9- QU1: Thiết kế Query để nâng đơn giá của các sản phẩm có đơn vị tính là "kg" trong Table Sanpham lên 15%. 10- QU2: Thiết kế Query để nâng đơn giá của các sản phẩm có đơn giá lớn hơn hoặc bằng 20000 lên 0,5%. D- Thiết kế các mẫu Form cơ bản 1- Mẫu 1: F_mau1 Yêu cầu: ▬ ▬ Các Texbox khai báo các thuộc tính Name và Default Value (null). Các Command Button không sử dụng Control Wizard và khai báo thuộc tính Name. (bấm Ctrl Enter để xuống dòng khi nhập nhãn cho Command Button). Chú ý các thuộc tính của Form.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 98

TRƯỜNG TCN KTCN HÙNG VƯƠNG 2- Mẫu 2 : F_mau2
Yêu cầu : ▬ ▬ Các Group “Level” và “Color” sử dụng Control Wizard và có khai báo thuộc Name. Group “Device” được phép chọn tùy ý nên thiết kế bằng thủ công và chú ý các thuộc tính Name và Default Value (false) cho mỗi tùy chọn. Chú ý các thuộc tính của Form.

GIÁO TRÌNH MICROSOFT ACCESS 2003

3- Mẫu 3 : F_mau3
Yêu cầu : ▬ ▬ Nguồn của Form Table Sanpham. là

Các Command Button được tạo bằng cách sử dụng Control Wizard. Chú ý các thuộc tính của Form.

4- Mẫu 4 : F_mau4
Yêu cầu : ▬ ▬ ▬ Nguồn của Form Nhanvien. là Table

Field Phai được thay đổi bằng Option Group. Các Command Button sử dụng Control Wizard với nhãn là các hình ảnh. Chú ý các thuộc tính của Form.

5- Mẫu 5 : F_mau5
Yêu cầu : ▬ Combobox “Chọn tên khách hàng” chứa danh sách tên các khách hàng trong Table Khachhang. Khai báo thuộc tính Name. Combobox “Chọn thành phố khách hàng” chứa danh sách tự tạo gồm 2 cột : tên thành phố và tên tỉnh tương ứng. Khai báo thuộc tính Name và Column Widths. Listbox khai báo danh sách gồm 2 cột theo mẫu. Sau đó truyền dữ liệu cột thứ hai qua Textbox. Khai báo các thuộc tính Name và Column Widths. Chú ý các thuộc tính của Form.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 99

TRƯỜNG TCN KTCN HÙNG VƯƠNG
6- Mẫu 6 : F_mau6
Yêu cầu : ▬ Form thiết kế gồm các Command Button sử dụng Control Wizard. Nhóm “Quản lý nhập xuất” để mở các Form : F_mau3 và F_mau4. Nhóm “Chức năng khác” để mở các Form : F_mau1, F_mau5 và F_mau2.

GIÁO TRÌNH MICROSOFT ACCESS 2003

▬ ▬ ▬

Nhóm “Báo cáo” để mở các Report : RQC2 và RQC8. Chú ý các thuộc tính của Form.

E- Các mẫu Main-Sub Form 1- Mẫu 1 : FM_mau1
Yêu cầu : ▬ Khi chọn mã khách từ Combobox “Chọn mã khách hàng để xem” sẽ hiện tên khách trong Textbox. Đồng thời hiện thông tin về các hóa đơn mà khách hàng đã đặt. Mặt khác, trên Form có phần thống kê tổng thành của các hóa đơn.

2- Mẫu 2 : FM_mau2
Yêu cầu : ▬ Khi chọn mã nhân viên trong Combobox “Chọn mã nhân viên” đồng thời với việc chọn một quý trong Option Group “Chọn quý của năm 2004” sẽ xuất hiện thông tin về các hóa đơn mà nhân viên đó đã lập. Đồng thời với việc chọn mã nhân viên sẽ xuất hiện họ tên nhân viên trong Textbox. Form có phần thống kê số hóa đơn và tổng số tiền của nhân viên được chọn. (Chú ý : Khai báo thuộc tính Format cho Textbox “Tổng số tiền”).

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 100

TRƯỜNG TCN KTCN HÙNG VƯƠNG
3- Mẫu 3 : FM_mau3
Yêu cầu : ▬

GIÁO TRÌNH MICROSOFT ACCESS 2003

Khi chọn một giá trị năm trong Combobox đồng thời với việc chọn một sản phẩm trong Listbox sẽ xuất hiện thông tin về trí giá trong từng quý của năm được chọn. (Chú ý : Nguồn của Subform là một Crosstab Query).

4- Mẫu 4 : FM_mau4
Yêu cầu : ▬ Khi chọn mã nhân viên từ hộp Combo sẽ xuất hiện các thông tin về hóa đơn mà nhân viên này đã lập trong khung “Các hóa đơn đã lập”. Ứng với mỗi Record trong khung “Các hóa đơn đã lập” khi được chọn sẽ xuất hiện hai thông tin trong 2 Textbox “Chi tiết của hóa đơn” và “Của khách hàng”. Đồng thời, khung ngay bên dưới 2 Textbox sẽ hiện các thông tin chi tiết về hóa đơn đã lập. Áp dụng các công thức truyền dữ liệu từ Subform ra Mainform.

5- Mẫu 5 : FM_mau5
Yêu cầu : ▬ Hãy tạo một Report Wizard có nguồn gồm các thông tin : tên sản phẩm, ngày lập đơn, ngày nhận hàng, số lượng, đơn giá, thành tiền. Nhập khoảng thời gian lập đơn vào 2 Textbox trên Form đồng thời với việc chọn một sản phẩm cần xem, khi bấm nút “Đồng ý” sẽ mở ra Report Wiazrd vừa tạo. Nút “Hủy bỏ” dùng để đóng Form. Áp dụng công thức truyền dữ liệu từ Mainform vào Query.

▬ ▬ ▬

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 101

TRƯỜNG TCN KTCN HÙNG VƯƠNG

GIÁO TRÌNH MICROSOFT ACCESS 2003

BÀI THỰC HÀNH 07
(Thực hiện trên CSDL HoaDon.mdb) A- Thiết kế các mẫu Report 1- Mẫu 1 : R_1

2- Mẫu 2 : R_2

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 102

TRƯỜNG TCN KTCN HÙNG VƯƠNG
3- Mẫu 3 : R_3

GIÁO TRÌNH MICROSOFT ACCESS 2003

4- Mẫu 4 : R_4

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 103

TRƯỜNG TCN KTCN HÙNG VƯƠNG
5- Mẫu 5 : R_5

GIÁO TRÌNH MICROSOFT ACCESS 2003

B- Các bài tập về Macro 1- Mẫu 1: F_mau7
Yêu cầu : ▬ Nút “Tất cả” được chọn mặc định và để hiển thị toàn bộ các khách hàng đã có. Chọn một trong các thành phố để xem danh sách các khách hàng theo thành phố đó. Nút “Đóng” dùng để đóng Form.

2- Mẫu 2 : F_mau8
Yêu cầu : ▬ Nút “Xem tất cả” áp dụng cho Group bên trái. Các tùy chọn tương ứng để mở các báo cáo : R_3, R_4, R_5.

Nút “Xem riêng” áp dụng cho Group bên phải. Khi chọn tùy chọn thì Combobox tương ứng sẽ bật sáng, lúc này bấm nút “Xem riêng” sẽ kiểm tra Combobox rỗng hay không để mở các Report tương ứng : R_3, R_4, R_5 theo giá trị đã chọn trong Combobox. ▬ ▬ Nút “Đóng” dùng để đóng Form.

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 104

TRƯỜNG TCN KTCN HÙNG VƯƠNG
3- Mẫu 3: F_mau9
Yêu cầu : ▬ Khi chọn tùy chọn “Tất cả thành phố” thì Combobox sẽ mờ đi và lúc này nếu bấm nút “Xem” sẽ mở Report : RL_Thiepmoi đã tạo trong phần Access1 (tham khảo mẫu bên dưới).

GIÁO TRÌNH MICROSOFT ACCESS 2003

Khi chọn tùy chọn “Chọn thành phố” thì Combobox sẽ bật sáng và lúc này nếu bấm nút “Xem” sẽ kiểm tra Combobox có rỗng hay không để mở Report “ RL_Thiepmoi theo tên thành phố đã chọn trong Combobox. Nút “Đóng” dùng để đóng Form.

Mẫu Report : RL_Thiepmoi

4- Mẫu 4: F_mau10
Yêu cầu: ▬ Thiểt kế mẫu Form theo đúng trạng thái chọn của tùy chọn khi Form hoạt động. Tùy chọn 1: Textbox có nền màu đỏ, chuỗi “Hello!!!Learning Access” màu vàng. Tùy chọn 2: Textbox có nền màu xanh dương,chuỗi “Welcom to Access !!!” màu trắng. Tùy chọn 3: Textbox có nền màu vàng, chuỗi “Begin with Access !!!” màu xanh lá. Tùy chọn 4: Textbox có nền màu xanh lá, chuỗi “End. Goodbye” màu xanh dương.

▬ ▬ ▬ ▬

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 105

TRƯỜNG TCN KTCN HÙNG VƯƠNG
5- Mẫu 5: F_mau11
Yêu cầu : ▬

GIÁO TRÌNH MICROSOFT ACCESS 2003

Khi chọn mục "Xem khách hàng chung" thì Combobox "Chọn mã khách hàng", Checkbox "In trên màn hình", Checkbox "In ra giấy" đồng thời không hiện sáng. Lúc này, nếu nhấp nút "Xem" sẽ mở Report : R_5 (Báo cáo hóa đơn theo khách hàng). Khi chọn mục "Xem khách hàng chi tiết" thì Combobox "Chọn mã khách hàng" sẽ hiện sáng đồng thời 2 checkbox "In trên màn hình" và "In ra giấy" sẽ không hiện sáng. Trong trường hợp này, nếu Combobox không được chọn sẽ xuất hiện thông báo yêu cầu chọn. Ngược lại nếu được chọn và khi nhấp nút "Xem" sẽ hiện Report : R_5 theo mã khách hàng vừa chọn trong Combobox. Khi chọn mục "Báo cáo doanh thu theo sản phấm" thì Combobox sẽ không hiện sáng, đồng thời 2 Checkbox "In trên màn hình" và "In ra giấy" sẽ hiện sáng. Nếu chọn một trong hai Checkbox sẽ mở Report : R_1 (Báo cáo doanh thu theo sản phẩm) theo đúng ý nghĩa của tùy chọn. Nếu cả hai không được chọn sẽ hiện thông báo yêu cầu chọn. Nếu chọn cả hai cũng sẽ xuất hiện Report : R_1 với cả hai ý nghĩa của tùy chọn.

C- Các bài tập về thủ tục xử lý sự kiện 1- Mẫu 1: F_code1
Yêu cầu : ▬ Cho phép nhập độ dài 3 cạnh của một tam giác (Có kiểm tra điều kiện để 3 giá trị nhập là 3 cạnh của một tam giác). Sau đó in ra các kết quả theo mẫu (Lưu ý : Kết quả in ra có màu xanh dương). Các công thức :    Diện tích tam giác : S  p(p  a)(p  b)(p  c) với p  Bán kính đường tròn ngoại tiếp : R  Bán kính đường tròn nội tiếp : r  abc 4S abc 2

S p

(Các hàm cần sử dụng : hàm Sqr(…) để tính căn bậc hai ; Hàm Round(…) để làm tròn ; Hàm Val(…) để đổi ra giá trị số.)

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 106

TRƯỜNG TCN KTCN HÙNG VƯƠNG 2- Mẫu 2: F_code2
Yêu cầu : ▬ Tùy thuộc vào việc chọn lựa tại Option Group mà ta có bài toán giải tương ứng. Sau khi nhập các hệ số cho bài toán, bấm nút “Kết quả” sẽ có kết quả hiện trong Textbox.

GIÁO TRÌNH MICROSOFT ACCESS 2003

Lưu ý : Kết quả có màu đỏ và phải xuất hiện các chuỗi mô tả. Ví dụ :

Phuong trinh có : Nghiem thu nhat la : x1 = 2.53 Nghiem thu hai la : x2 = 5.68
Hoặc: Hoặc: Phuong trinh co nghiem kep : x = 1.25 Phuong trinh vo nghiem !!!

3- Mẫu 3: F_code3
Yêu cầu : ▬ ▬ Khi nhập một số có 2 chữ số, bấm Enter, sẽ hiện chữ trong Textbox thứ hai. Kiểm tra trường hợp ô số không nhập thì sẽ hiện thông báo.

D- Tạo thực đơn
▬ Thực đơn “Nhập” gồm các lệnh :  Xuất|Nhập sản phẩm  Mở Form F_mau3 (Access2)  Xuất|Nhập nhân viên  Mở Form F_mau4 (Access2)     ▬ Thực đơn “Thống kê” gồm các lệnh : Thống kê hóa theo khách hàng  Mở Form FM_mau1 (Access2) Thống kê nhân viên  Mở Form FM_mau2 (Access2) Thống kê doanh số sản phẩm  Mở FM_mau3 (Access2) Thống kê hóa đơn theo thời gian  FM_mau5 (Access2)

Thực đơn “Báo cáo” gồm các lệnh :  Báo cáo sản phẩm  Mở Report R_1 (Access3)  Báo cáo doanh thu khách hàng  Mở Report R_2 (Access3) Thực đơn “Xử lý” gồm các lệnh : Báo cáo  Mở Form F_mau8 Thiệp mời  Mở Form F_mau9 Thực đơn “Tiện ích” gồm các lệnh : Tam giác  Mở Form F_code1 Giải phương trình  Mở Form F_code2

▬   ▬   

Đổi số ra chữ  Mở Form F_code3 ▬ Thực đơn “Hệ thống” gồm lệnh :  Thoát  Mở một Macro với phương thức Quit *****************CHÚC HỌC VIÊN THÀNH CÔNG*********************

Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG

Trang 107

Sign up to vote on this title
UsefulNot useful