Giáo trình Access toàn tập( Nghĩa Tân-Nghĩa Hưng-Nam Định)
Chia sẻ bởi Vũ Văn Chiến |
Ngày 19/03/2024 |
12
Chia sẻ tài liệu: Giáo trình Access toàn tập( Nghĩa Tân-Nghĩa Hưng-Nam Định) thuộc Công nghệ thông tin
Nội dung tài liệu:
1
HQTCSDL
Microsoft Access
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
thiết kế bài giảng
2
? Cơ sở dữ liệu( Database) ?
Là một tập hợp các dữ liệu có liên quan với nhau, chứa thông tin của một tổ chức nào đó( như thư viện, ngân hàng, tuyến bay, một công ty.) được lưu trữ trên bộ nhớ đáp ứng nhu cầu khai thác thông tin của nhiều người với nhiều mục đích khác nhau.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Cơ sở dữ liệu(Database)
Ví dụ: Để quản lý học sinh trong lớp học thì ta cần các thông tin sau:
STT Họ Tên Ngày Giới Đoàn Địa Điểm Điểm ... Điểm Điểm Điểm
sinh tính viên chỉ Lí Toán .. Sinh Tin Văn
1 Nguyễn Văn Minh 11-10-1991 nam có Nghĩa Thành 6 7 7 8 9
Lê Minh Châu 3-4-1991 nữ có Nghĩa Thành 7 8 7 8 9
Trần Thị Hà 5-6-1991 nữ không Nghĩa Bình 7 8 7 8 8
Phạm Thị Hương 10-3-1991 nữ có Nghĩa Thắng 6 5 7 6 5
........ .... .. .. ...... .. .. .. .. ..
........ ...... . . ...... .. .. .. .. ..
......... ..... . . ....... .. .. .. .. ..
3
? Chúng ta đã được làm quen với cơ sở dữ liệu như Foxpro, cơ sở dữ liệu quan hệ. Vậy hệ quản trị cơ sở dữ liệu ( Database Management System)?
Phần mềm cung cấp môi trường thuận lợi và hiệu quả để tạo lập, lưu trữ và khai thác thông tin của cơ sở dữ liệu được gọi là hệ quản trị cơ sở dữ liệu.
Hệ quản trị cơ sở dữ liệu Microsoft Access:
Là hệ quản trị cơ sở dữ liệu chạy trên môi trường Windows, trong đó có các công cụ hữu hiệu và tiện lợi để tự động sản sinh chương trình cho hầu hết các bài toán thường gặp trong quản lý, kế toán, thống kê.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Cơ sở dữ liệu(Database)- Hệ quản trị cơ sở dữ liệu(Database Management System)
Khi mở chương trình Access thì xuất hiện cửa sổ sau:
4
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
Truy vấn(Query)
Mẫu biểu(Form)
Báo biểu(Report)
Macro
Đơn thể( Module)
?Nếu muốn mở một CSDL đã có thì chọn trong danh sách rồi bấm OK.
Nếu muốn tạo một CSDL thì vào File chọn New chọn Blank Database rồi bấm Ok. Khi đó xuất hiện hội thoại cho phép ta đặt tên cho CSDL, ta đặt tên tại mục File name và chọn Create.
Nếu muốn tạo một CSDL mới theo những chủ đề có sẵn thì chọn Data Wizard rồi bấm Ok.
Làm việc với cơ sở dữ liệu Microsoft Access
Khi tạo xong CSDl ta có thể xây dựng các cửa sổ sau:
5
? Bảng trong Access:
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
Bảng
6
? Bảng trong Access:
Bảng (Table)có cấu trúc như một DBF của Foxpro được dùng để lưu trữ dữ liệu của cơ sở dữ liệu. Một cơ sở dữ liệu thường có nhiều bảng có quan hệ với nhau.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
Một bảng gồm có nhiều trường có các kiểu khác nhau như: Text, Number, Date - Time,..
Từ cửa Database chọn mục Table, trong đó chứa danh sách các bảng đã tồn tại và 3 nút lựa chọn: New, Open, Design.
Nút New dùng để tạo bảng mới
Nút Open dùng để mở nhập liệu cho bảng được chọn.
Nút Design dùng để xem sửa cấu trúc bảng được chọn.
Để tạo bảng mới ta chọn New-> chọn Design View chọn Ok.
Kết quả nhận được cửa sổ thiết kế bảng sau:
7
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
8
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
Tên bảng được Access giả định là Table1. Sau này ta có thể đổi tên cho có ý nghĩa hơn.
Cửa sổ bảng được chia ra làm 2 phần:
+ Phần trên gồm 3 cột: Field Name, Data Type và Description, dùng để khai báo các trường của bảng, mỗi trường khai báo trên một dòng.
+ Phần dưới để qui định các thuộc tính cho trường.
Tên trường (field Name): là một dãy không quá 64 ký tự bao gồm chữ cái chứ số và khoảng trống.
Kiểu dữ liệu (Data Type) gồm các kiểu sau:
Text Ký tự dài <= 255 Byte
Memo Ký tự dài<= 64000 Byte
Number Số nguyên, thực dài: 1,2,4, hoặc 8 Byte
Date-Time Ngày tháng giờ dài 8 Byte
Currentcy Tiền tệ dài 8 Byte
9
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
AutoNumber số dài 8 Byte
Yes- No Boolean 1 Bit
OLE Object Đối tượng nhúng kết 1 GigaByte hình ảnh nhị phân
Hyperlink Ký tự hoặc kết hợp giữa ký tự và số
Lookup Wizard cho phép chọn giá trị từ một bảng khác
? Thay đổi thiết kế, chỉnh sửa cấu trúc bảng:
3. Mô tả(Description): Để giảI thích cho rõ hơn một trường nào đó. Văn bản mô tả sẽ được hiển thị khi nhập số liệu cho các trường.
Xoá một hoặc nhiều trường: Chọn trường bấm phím Delete hoặc chọn Delete Row từ Menu Edit.
10
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
? Thuộc tính của trường :
- Điều khiển hình thức thể hiện dữ liệu.
- Nhập liệu theo mẫu.
- Kiểm tra dữ liệu, ngăn cản nhập sai.
- Tăng tốc độ tìm kiếm.
11
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
Field Size: Số ký tự của trường Text, hoặc kiểu của trường number.
Format : dạng hiển thị dữ liệu kiểu ngày và số.
DecimalPlaces : Số chữ số thập phân trong kiểu number và currency.
InputMask( Mặt lạ nhập) : Quy định khuôn dạng nhập liệu.
Caption : Đặt nhãn cho trường. Nhãn sẽ được hiển thị khi nhập liệu thay vì tên trường ( nhãn mặc định).
Default Value : Xác định giá trị mặc định của trường.
Validation Rule : Quy tắc dữ liệu hợp lệ. Dữ liệu phải thoả mãn quy tắc này mới được nhập.
Required: Không chấp nhận giá trị rỗng. Cần phải nhập một dữ liệu cho trường.
AllowZeroLength : Chấp nhận chuỗi rỗng trong trường Text, Memo.
Indexed : Tạo chỉ mục để tăng tốc độ tìm kiếm trên trường này.
12
Ví dụ: Ta có CSDL Tuyển sinh gồm 3 bảng sau.
- Bảng DSTS gồm các trường:
[HOTEN] kiểu Text
[SOBD] kiểu Integer
[NAMSINH] kiểu Date -Time
[TENTINH] kiểu Text.
Bảng BD_PHACH gồm các trường:
[SOBD] kiểu Integer
[PHACH] kiểu Integer.
Bảng PHACH_DIEM gồm các trường:
[PHACH] kiểu Integer.
[DTOAN] kiểu Double.
[DLY] kiểu Double.
[DHOA] kiểu Double.
Bảng(Table)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
13
Yêu cầu đặt ra trong công tác tuyển sinh là xây dựng một bảng tổng hợp từ 3 bảng trên. Giả sử bảng tổng hợp chỉ gồm có các thí sinh có tổng điểm lớn hoặc bằng điểm chuẩn >=18.
Ta xây dựng cơ sở dữ liệu từ 3 bảng trên và ta thấy chúng có quan hệ với nhau nhờ có cùng chung 1 số thuộc tính trong bảng. Bảng DSTS quan hệ với BD_PHACH nhờ SBD. Bảng BD_PHACH quan hệ với PHACH_DIEm nhờ phach.
HOTEN
SOBD
NAMSINH
TENTINH
SOBD
PHACH
PHACH
DTOAN
DLY
DHOA
Bảng(Table)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
14
?Truy vấn (Query):
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Truy vấn
15
?Truy vấn (Query):
Công cụ mạnh của Access dùng để tổng hợp, sắp xếp, tìm kiếm dữ liệu trên các bảng. Khi thực hiện truy vấn sẽ nhận được một tập hợp kết quả thể hiện trên màn hình dưới dạng bảng gọi là Dynaset. Dynaset chỉ là bảng kết quả trung gian không được ghi lên đĩa và nó bị xoá khi kết thúc truy vấn.
Giả sử đưa ra một bảng tổng hợp các thí sinh có tổng điểm lớn hơn hoặc bằng điểm chuẩn( giả sử điểm chuẩn là 16)
Ta phải xây dựng CSDL và lấy thông tin đưa ra từ 3 bảng trên vào truy vấn Query và đặt điều kiện tại trường TONGDIEM thêm vào tại mục Field là trường kết xuất. TONGDIEM:[DTOAN] + [DLY] + [DHOA]
Tại vùng Criteria >=16
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
16
Giả sử ta có cơ sở dữ liệu TSINH đã có các bảng:
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
-Bảng DSTS( danh sách thí sinh gồm các trường):
+[HOTEN]
+[SOBD]
+[NAMSINH]
+[TENTINH]
-Bảng BD_PHACH( báo danh phách gồm các trường):
+[SOBD]
+[PHACH]
-Bảng PH_DIEM(phách điểm gồm các trường):
+[PHACH]
+[DTOAN]
+[DLY]
+[DHOA]
17
Trường [TONGDIEM] là trường mới chính là tổng của các trường [DTOAN], [DLY], [DHOA]. Bảng tổng hợp chỉ gồm các thí sinh có tổng điểm lớn hơn hoặc bằng điểm chuẩn ( giả sử điểm chuẩn là 16 ).
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Để giảI quyết bài toán trên, ta xây dựng truy vấn [KET QUA TS] (kết quả tuyển sinh) theo trình tự sau:
1. Trong cửa sổ Database của CSDL TSINH, chọn mục Query, sau đó bấm nút New-> chọn Design View, Access sẽ mở hộp thoại Show Table có dạng sau:
18
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Ba nút bên trên có ý nghĩa như sau:
+ Nút Table để hiển thị danh sách các bảng
+ Nút Query hiển thị danh sách truy vấn
+ Nút Both để hiển thị cả bảng và truy vấn.
19
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Chọn các bảng DSTS, BD_PHACH và PH_DIEM, sau đó bấm nút Add. Cuối cùng bấm Close để đóng cửa sổ Show Table.
Kết quả nhận được cửa sổ Select Query gồm 2 phần. Phần trên hiện danh sách các bảng và truy vấn nguồn. Phần dưới được gọi là QBE( Query By Example) Chứa các trường của truy vấn cần xây dựng.
20
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
?Tạo mối quan hệ giữa các bảng:
Để ràng buộc toàn vẹn dữ liệu được thực hiện cần quy định 2 loại quan hệ:
+ 1 -> ? ( trường trong bảng chính là khoá chính)
+ 1 -> 1 ( cả 2 trường quan hệ đều là khoá chính)
+ Quan hệ một- một giữa bảng [DSTS] và bảng [BD_PHACH] theo trường quan hệ: [SBD].
Ta dùng chuột kéo trường [SBD] tự bảng [BD_PHACH] kéo sang trường [SBD] của bảng [DSTS]. Sau đó nháy phảI chuột tại đường thắng kết nối giữa 2 bảng và chọn Propeties. Khi đó xuất hiện bảng sau:
21
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ Quan hệ một- một giữa bảng [PH_DIEM] và bảng [BD_PHACH] theo trường quan hệ: [PHACH].
Ta dùng chuột kéo trường [PHACH] tự bảng [BD_PHACH] kéo sang trường [PHACH] của bảng [PH_DIEM]. Sau đó nháy phảI chuột tại đường thắng kết nối giữa 2 bảng và chọn Propeties. Khi đó xuất hiện bảng sau:
22
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Tại mục Field cuối cùng của truy vấn ta gõ thêm trường Tổng điểm: [DTOAN]+[DLY]+[DHOA].
Tại mục Criteria của trường Tổng điểm này ta cho >=16
23
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
?Định thứ tự sắp xếp:
- Mục đích là để cho bảng Kết quả Hiện ra theo thứ tự nào đó.
- Thao tác:
+ Bấm chuột vào mục Sort của trường cần sắp xếp
+ Chọn Ascending( tăng dần) hoặc Descending( giảm dần)
+ Nếu sắp xếp nhiều trường thì thứ tự ưu tiên từ trái sang phải
- Trong ví dụ này, ta chọn:
+ Trường [TENTINH], chiều Ascending
+ Trường [TONGDIEM], chiều Descending
24
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Lập tiêu chuẩn lựa chọn:
- Mục đích để chỉ hiển thị những thông tin cần quan tâm trong bảng kết quả, như chỉ hiển thị những thí sinh đỗ theo điểm chuẩn nào đó.
- Cách làm:
+ Gõ trực tiếp một biểu thức điều kiện vào ô Criteria của các trường cần đặt điều kiện.
+ Hoặc dùng cửa sổ xây dựng trường biểu thức hoặc cửa sổ Zoom. Để mở cửa sổ xây dựng biểu thức cho ô Criteria của trường nào, ta bấm phải chuột tại ô Criteria của trường, rồi chọn mục Build.
25
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
?Ta cũng có thể đưa vào điều kiện sau:
+ Tại trường [TENTINH]: "Hà Nội"
( Chỉ hiển thị những thí sinh ở Hà Nội}
+ Tại trường [NGAYSINH]
Between #1 ? 1 ? 70# and # 12 ? 31 ? 76
( Chỉ hiển thị những thí sinh có năm sinh từ năm 70 đến 76)
? Không thể hiện(ẩn ) một trường trong truy vấn
- Mục đích để chỉ hiện những trường cần quan tâm trong bảng Kết quả.
- Cách làm:
Bấm chuột tại ô ? trong hàng Show của trường cần ẩn để đưa về dạng rỗng ?. Nếu muốn bỏ ẩn ta bấm chuột tại ô này.
26
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Xây dựng các điều kiện trong truy vấn
1. Các phép toán
Khi xây dựng các biểu thức điều kiện, cho phép sử dụng các phép toán sau:
A ) So sánh:= <> > >= < <=
B ) Phép logic: AND OR NOT BETWEEN..AND..
C ) Dùng LIKE với các ký tự thế chân như: LIKE "CTY*"
D ) NULL NOT NULL
E ) IN
27
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Giải thích một số phép toán mới:
1. BETWEEN...AND..
Phép toán này dùng để biểu thị một khoảng giá trị. Ví dụ muốn tìm các thí sinh có số báo danh từ 100 đến 150, ta đưa vào ô Criteria của trường SBD điều kiện sau:
BETWEEN 100 AND 150
Điều kiện này có thể biểu diễn theo một cách khác như sau:
>= 100 AND <= 150
2. LIKE
Phép toán này dùng đối với các trường kiểu Text và Date- Time để tìm các giá trị theo một mẫu nào đó. Cách viết như sau:
LIKE Mẫu
28
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Mẫu là một chuỗi ký tự. Trong mẫu cho phép dùng các ký tự thế chân:
* Thay cho một dãy kỹ tự của trường kiểu Text hoặc một mục( ngày, tháng, năm,..) của trường Date- Time.
Ví dụ:
Để tìm các thí sinh có hộ khẩu tại các tỉnh có chữ đầu là " T" và chữ cuối là "H", ta đặt điều kiện vào ô Criteria của trường [TENTINH]:
LIKE "T*H"
Ví dụ:
Để tìm các thí sinh sinh vào tháng 8, ta đặt điều kiện vào ô Criteria của trường [NAMSINH]:
LIKE "*/08/*"
29
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
3. NULL và NOT NULL dùng để kiểm tra một trường đã có dữ liệu hay chưa.
Ví dụ:
- Để tìm thí sinh thiếu ngày sinh, ta đưa giá trị NULL vào ô Criteria của trường [NAMSINH]
- Để tìm thí sinh đã vào điểm toán, ta đưa giá trị NOT NULL vào ô Criteria của trường [DTOAN]
4. IN
- Phép toán này dừng để kiểm tra xem giá trị của một trường có nằm trong một tập hợp nào đó hay không. Cách viết như sau:
IN ( giá trị 1, giá trị 2,...giá trị n )
Ví dụ: Để tìm các thí sinh có số phách là một trong 3 gía trị: 12, 15, 35, ta đặt điều kiện sau vào ô Criteria của trường [PHACH]:
IN ( 12, 15, 35)
30
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Có thể so sánh 2 trường khác nhau. Ví dụ: Để tìm các thí sinh có điểm toán lớn hơn điểm lý, ta đặt điều kiện sau vào ô Criteria của trường [DTOAN]:
>[DLY]
5.Điều kiện phức tạp
Các điều kiện viết trên cùng dòng Criteria là các điều kiện đồng thời thoả mãn.
Ví dụ: Tìm các thí sinh quê ở Nam Định và có tổng điểm lớn hơn hoặc bằng 20 ta làm như sau:
Trên dòng Criteria:
- Đưa điều kiện Nam Định vào trường (cột) [TENTINH]
- Đưa điều kiện >=20 vào trường [TONGDIEM]
6. Or
Để xây dựng các biểu thức có một phép hoặc, thì ta phảI dùng thêm dòng Or trong cửa sổ thiết kế truy vấn. Khi đó các điều kiện trên dòng Criteria sẽ được kết hợp với các điều kiện trên dòng Or bằng phép hoặc.
31
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Ví dụ: Để tìm các thí sinh thoả mãn một trong hai điều kiện sau:
- Quê Nam Định và tổng điểm lớn hơn hoặc bằng 20
- Sinh trước năm 1982 và tổng điểm nhỏ hơn 18.
Ta làm như sau:
Trên dòng Criteria:
- Đưa điều kiện Nam Định vào trường [TENTINH]
- Đưa điều kiện >=20 vào trường [TONGIEM].
Trên dòng Or:
- Đưa điều kiện <#01/01/1982 vào trường [NAMSINH]
- Đưa điều kiện < 18 vào trường [TONGDIEM]
32
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
7. Các hàm xử lý ngày
+ Date() cho ngày máy đang dùng
+ Now() Cho kết quả là ngày và giờ máy đang dùng
+ Dateadd(đối1,n,date) Cho giá trị kiểu ngày bằng cách cộng thêm vào date n ngày hoặc tháng hoặc năm hoặc quí tuỳ theo đối 1.
đối 1 có thể nhận các giá trị sau:
"d" ngày
"m" tháng
"yyyy" năm
Ví dụ:
Dateadd("d",15,date()) cộng thêm 15 ngày so với ngày hiện tại.
Dateadd("m",-3,date()) trừ đI 3 tháng so với tháng hiện tại.
Dateadd("yyyy",-1,date()) trừ đI 1 năm so với năm hiện tại.
33
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ DatePart(đối1, date()) Cho một thành phần là ngày hoặc tháng, hoặc năm, hoặc quí từ một giá trị kiểu ngày(date) tuỳ theo đối 1.
Đối 1 có thể nhận các giá trị như trên.
Ví dụ:
Datepart("m",date()) cho tháng hiện tại
Datepart("q",date()) cho quí hiện tại
8. Các hàm xử lý chuỗi
+ Phép & dùng để ghép các chuỗi, cách viết như sau:
Chuỗi1& chuỗi2&..&chuỗin
Ví dụ: "HO" &" " & "TEN" cho chuỗi kết quả là "HO TEN"
+ Left(String,n) Cho chuỗi con của String gồm n ký tự bên trái
Ví dụ: Left("Ha Noi",2) cho kết quả là " Ha"
+ Right(String,n) Cho chuỗi con của String gồm n ký tự bên phải
Ví dụ: Right("Ha Noi",3) cho kết quả là " Noi"
34
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ Mid(String,Start,n) Cho chuỗi con của String bắt đầu từ vị trí Start gồm n ký tự
Ví dụ: Mid("Nguyen Thi Thanh Tam",8,5) cho kết quả là " Thanh"
+ Str(number) Đổi số sang chuỗi
Ví dụ: Srt(1999) cho kết quả là "1999"
? Chú ý:
Các hám trên được xử lý trên các trường là trường kết xuất ( đưa thêm vào 1 trường mới ). Ví dụ trường [HOTEN] ta cần trích tên thì tại trường kết xuất Field ta gõ
Tên: right(hoten,5)
35
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bài tập áp dụng:
Để quản lý điểm thi 3 môn Toán, Lý, Hoá của các em học sinh. Yêu cầu nhập các thông tin họ tên, ngày sinh, lớp, giới tính, khu vực.
Hãy thưởng điểm cho các em có khu vực như sau :
KV1 cộng thêm 2 điểm vào tổng điểm
KV2NT cộng thêm 1 điểm vào tổng điểm.
Sau đó thực hiện tính tổng điểm và trong đó có cả điểm thưởng.
9. Hàm Iif( nếu):
+Mẫu Lệnh: Iif(biểu thức điều kiện, giá trị1, giá trị 2)
+ Giải thích: Hàm này chỉ nhận 1 trong 2 giá trị trong biểu thức hàm Iif.
Nếu biểu thức điều kiện đúng thì nhận giá trị 1.
Ngược lại sai thì nhận giá trị 2
+ Các hàm Iif có thể lồng nhau như ví dụ dưới đây:
36
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Hình ảnh sau khi ta đã nhập xong dữ liệu cho bảng:
Hình ảnh sau khi ta đã xử lý hàm Iif lồng nhau:
Tại trường thêm vào Td của mục Field ta gõ Td:[Toan]+[Ly]+[Hoa]+Iif(Khuvuc
="KV1",2,Iif(Khuvuc="KV2NT",1,0))
37
? Các loại liên kết
Khi tạo truy vấn từ hai bảng/ truy vấn nguồn( gọi tắt là nguồn) thì kết quả truy vấn phụ thuộc vào kiểu quan hệ( liên kết) giữa hai nguồn. Có thể chia ra làm 3 trường hợp.
1. Không quan hệ:
Trên cửa sổ thiết kế truy vấn sẽ không thấy đường quan hệ giữa hai nguồn.
Trong trường hợp này mỗi bản ghi của nguồn thứ nhất sẽ kết hợp với mỗi bản ghi của nguồn thứ hai để tạo thành một bản ghi của truy vấn. Như vậy số bản ghi trong Dynaset sẽ bằng tích số các bản ghi trong hai nguồn.
Truy vấn (Query)
2. Liên kết nội(inner join)
Trong cửa sổ thiết kế truy vấn sẽ thấy một đường vô hướng nối giữa hai
nguồn.
Trong trường hợp này mỗi bản ghi của nguồn thứ nhất sẽ kết hợp với mỗi bản ghi của nguồn thứ hai để tạo thành một bản ghi của truy vấn. Hai bản ghi ở hai bảng- truy vấn nguồn gọi là tương ứng nếu chúng có cùng giá trị trên các trường quan hệ.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
38
Truy vấn (Query)
3. Liên kết ngoại
Trong liên kết ngoại có một nguồn chính và một nguồn phụ.
Trên cửa sổ thiết kế truy vấn sẽ thấy một đường định hướng đi từ nguồn chính sang nguồn phụ.
Nếu nguồn chính bên trái là liên kết trái ( Left join)
Nếu nguồn chính ở bên phải là liên kết phải ( Right)
Trong trường hợp này có mỗi bản ghi của nguồn chính sẽ rơi vào một trong hai trường hợp:
+ Có ít nhất một bản ghi tương ứng trong nguồn phụ, thì bản ghi đang xét của nguồn chính sẽ kết hợp với mỗi bản ghi trong nguồn phụ để tạo thành một bản ghi của truy vấn. Trường hợp này giống như liên kết nội.
+ Không có bản ghi tương ứng nào trong nguồn phụ, thì bản ghi đang xét của nguồn chính sẽ kết hợp với bản ghi rỗng của nguồn phụ để tạo một bản ghi của truy vấn.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
39
Truy vấn (Query)
Ví dụ:
Giả sử có 2 bảng:
Bảng [HDBH1] gồm 2 trường: [MAHANG], [SOLUONG]
Bảng [HDBH2] gồm 2 trường:[MAHAng],[SOLUONG].
Giả sử ta đã nhập dữ liệu vào như sau:
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
40
Truy vấn (Query)
* Không quan hệ
Trên cửa sổ thiết kế truy vấn sẽ không thấy đường quan hệ giữa hai nguồn.
Bảng kết quả của truy vấn gồm 8 hàng .
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
41
Truy vấn (Query)
* Liên kết nội
Trên cửa sổ thiết kế truy vấn sẽ thấy đường quan hệ giữa hai nguồn. Trường quan hệ là [MAHANG]
Kiểu liên kết là kiểu 1 trong cửa sổ Join Propeties ( Only include rows where the joined field from both tables are equal.
Bảng kết quả của truy vấn gồm 2 hàng .
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
42
Truy vấn (Query)
* Liên kết ngoại
Trên cửa sổ thiết kế truy vấn sẽ thấy đường quan hệ giữa hai nguồn. Trường quan hệ là [MAHANG], nguồn chính là bảng [HDBH1] nguồn phụ là [HDBH2]
Kiểu liên kết là kiểu 2 trong cửa sổ Join Propeties ( Include ALL records from `HDBH1` and only those records from `HDBH2` where the joined field are equal.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
43
Truy vấn (Query)
Bảng kết quả của truy vấn gồm 4 hàng .
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
44
Truy vấn (Query)
? Tính tổng trong truy vấn
Tiến hành phân nhóm các bản ghi, sau đó thực hiện các phép tính sau trên từng nhóm:
Sum: Tính tổng các giá trị trên trường kiểu Number
Avg: Tính giá trị trung bình của trường Number
Min: Tìm giá trị nhỏ nhất của trường Number
Max: Tìm giá trị lớn nhất của trường Number
Count: Đêm số gia trị khác rỗng của trường
First: Cho giá trị của trường ở mẫu tin đầu tiên trong nhóm
Last: Cho giá trị của trường ở mẫu tin cuối cùng trong nhóm.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
45
Truy vấn (Query)
? Tính tổng trong truy vấn
46
Truy vấn (Query)
? thứ tự làm việc của truy vấn tính tổng
+ Dựa vào điều kiện đặt lọc trong các trường để lọc ra các mẫu tin tham gia phân nhóm và tính toán.
+ Phân nhóm và sắp xếp các mẫu tin trong từng nhóm theo các trường phân nhóm( có giá trị Group by trên ô Total).
+ Thực hiện các phép tính theo từng nhóm trên các trường tính toán( có hàm Sum, count, avg, min, max, ..) trên ô Total.
? thao tác để tạo truy vấn tính tổng
+ Chọn bảng đưa vào truy vấn
+ Chọn mục ? của menu Query
+ Điều kiện tham gia phân nhóm và tính tổng:
. Có chữ Where trên ô Total
. Có biểu thức điều kiện trên ô Criteria
+ Tính toán ( chọn một hàm đặt vào ô Total).
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
47
Truy vấn (Query)
Ví dụ 1:
+ Tính tổng tất cả các loại mặt hàng, tính riêng từng loại của mục số lượng trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
48
Truy vấn (Query)
+ Tính từng loại của mục số lượng trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
49
Truy vấn (Query)
+ Kết quả từng loại của mục số lượng trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
50
Truy vấn (Query)
+ Tính tổng toàn bộ các mục số lượng trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
51
Truy vấn (Query)
+ Kết quả tổng toàn bộ các mục số lượng trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
52
Truy vấn (Query)
Ví dụ 2:
+ Đếm riêng từng loại mặt hàng hiện có trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
53
Truy vấn (Query)
Ví dụ 2:
+ Hình ảnh cần đếm riêng từng loại khi xây dựng truy vấn mặt hàng hiện có trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
54
Truy vấn (Query)
Ví dụ 2:
+ Kết quả đếm riêng từng loại khi xây dựng truy vấn mặt hàng hiện có trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
55
Truy vấn (Query)
Ví dụ 3:
+ Tính trung bình mặt hàng hiện có trong HDBH1 ( MA HANG, SOLUONG) theo cột số lượng.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
56
+ Hình ảnh cần tính trung bình khi xây dựng truy vấn mặt hàng hiện có trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
57
+ Kết quả tính trung bình khi xây dựng truy vấn mặt hàng hiện có trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
58
Truy vấn (Query)
? Nâng cấp truy vấn
+ Truy vấn thông số dùng trong các bài toán tìm kiếm
+ Truy vấn Crosstab dùng để tổng hợp phân tích dữ liệu theo các nhóm
+ Truy vấn dùng câu lệnh SQL dùng để hợp nhất các bảng dữ liệu
+ Truy vấn hành động dùng để: Tạo bảng dữ liệu mới và thêm, sửa, xoá các bản ghi trong một bảng đã tồn tại.
? Truy vấn thông số ( parameter query)
+ Giá trị trong các biểu thức điều kiện không cần định trước mà sẽ tự nhập vào mỗi khi truy vấn thực hiện
+ Cách tạo truy vấn thông số:
+ Khi tạo các biểu thức điều kiện, thay cho một giá trị cụ thể ta đưa vào một thông báo được bao trong hai dấu: [ ]. Một thông báo như vậy gọi là một thông số.
+ Dòng thông báo sẽ xuất hiện như một chỉ dẫn nhập liệu khi thực hiện truy vấn.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
59
Giả sử ta có cơ sở dữ liệu TSINH đã có các bảng:
-Bảng DSTS( danh sách thí sinh gồm các trường):
+[HOTEN]
+[SOBD]
+[NAMSINH]
+[TENTINH]
-Bảng BD_PHACH( báo danh phách gồm các trường):
+[SOBD]
+[PHACH]
-Bảng PH_DIEM(phách điểm gồm các trường):
+[PHACH]
+[DTOAN]
+[DLY]
+[DHOA]
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
60
Cần tạo truy vấn từ 3 bảng trên để tìm các thí sinh theo các điều kiện sau:
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
1. Tìm thí sinh có tên tỉnh có ký tự đầu là .. và ký tự cuối là ...
2. Tìm điểm Toán có giá trị được nhập vào từ bàn phím từ điểm ..đến điểm.
? Cách làm:
1. Đưa vào ô Criteria của trường [TENTINH] nội dung như sau:
Like [Nhóm ký tự đầu] &"*"&[Nhóm ký tự cuối]
2. Đưa vào ô Criteria của trường [DTOAN] nội dung như sau:
>= [Từ điểm] and <= [đến điểm]
61
Mẫu biểu (Form):
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Mẫu biểu
62
Mẫu biểu (Form):
? Thường dùng tổ chức cập nhật dữ liệu cho các bảng và thiết kế giao diện chương trình. Ta có thể nhập dữ liệu trực tiếp từ các bảng xong mẫu biểu sẽ cung cấp các khả năng nhập liệu tiện lợi hơn như: Nhận dữ liệu từ một danh sách, nhận các hình ảnh, nhập dữ liệu đồng thời trên nhiều bảng. Mẫu biểu còn có một khả năng quan trọng khác là tổ chức giao diện chương trình dưới dạng bảng các nút lệnh hay một hệ thống menu.
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
MÉu biÓu gåm c¸c « ®iÒu khiÓn thuéc c¸c lo¹i kh¸c nhau vµ cã c«ng dông kh¸c nhau:
+ Label ( nh·n): dïng ®Ó thÓ hiÖn c¸c dßng v¨n b¶n.
+ Object Frame ( Khung ®èi tîng): dïng ®Ó chøa c¸c h×nh ¶nh.
+ Text Box ( Hép v¨n b¶n): dïng ®Ó thÓ hiÖn gi¸ trÞ c¸c trêng, c¸c biÓu thøc hoÆc gi¸ trÞ gâ vµo tõ bµn phÝm.
63
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ Nguån d÷ liÖu ( nÕu cã) cña mÉu biÓu lµ mét b¶ng hay lµ mét truy vÊn. Khi cã nguån d÷ liÖu, mÉu biÓu thêng dïng ®Ó thÓ hiÖn vµ cËp nhËt d÷ liÖu cho c¸c trêng nguån.
+ MÉu biÓu kh«ng cã nguån d÷ liÖu thêng dïng ®Ó tæ chøc giao diÖn ch¬ng tr×nh
? Tạo Mẫu biểu tự động bằng wizard :
+ NÕu chØ dïng mÉu biÓu ®Ó thÓ hiÖn vµ cËp nhËt d÷ liÖu th× c¸ch nhanh nhÊt lµ dïng c«ng cô Wizard.
+ §Ó t¹o mÉu biÓu tù ®éng hoÆc b»ng Wizad ta lµm nh sau:
+ Më CSDL vÝ dô :TSINH.mdb
+ Nh¸y vµo Form
+ Nót New dïng ®Ó t¹o mÉu biÓu míi.
+ Nót Open dïng ®Ó më mÉu biÓu.
+ Nót Design dïng ®Ó më cöa sæ thiÕt kÕ mÉu biÓu.
64
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ H×nh ¶nh cöa sæ khi chän vµo mÉu biÓu:
65
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ §Ó t¹o míi mÉu biÓu ta nh¸y chuét vµo New. Khi ®ã xuÊt hiÖn cöa sæ New :
66
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ §Ó t¹o míi mÉu biÓu 1 c¸ch tù ®éng. Ta chän Form Wizard :
67
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ Lùa chän B¶ng hoÆc Query cho mÉu biÓu tù ®éng vµ chän OK :
68
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ Chän c¸c trêng ®a vµo mÉu biÓu tù ®éng vµ chän Next .
+ Chän 1 trong c¸c d¹ng mÉu biÓu cÇn hiÓn thÞ vµ chän Finish .
69
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Các loại điều khiển :
+ Khi thiÕt kÕ mÉu biÓu, thêng dïng c¸c lo¹i ®iÒu khiÓn sau:
- Hép v¨n b¶n( Text box)
- Nh·n ( Label)
- Hép lùa chän ( Combo box)
- Hép danh s¸ch( List box)
- Nót lÖnh ( Command Button)
- Nhãm lùa chän ( Option Group)
+ C¸ch dïng c¸c « ®iÒu khiÓn theo c¸c c¸ch sau:
- Bound ( Buéc vµo mét trêng nµo ®ã)
- UnBound ( Kh«ng buéc vµo mét trêng nµo ®ã)
- Calculated ( tÝnh to¸n)
70
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ ý nghÜa cña c¸c lo¹i ®iÒu khiÓn:
- §iÒu khiÓn buéc vµo mét trêng ( Bound): Dïng ®Ó truy xuÊt tíi trêng ®ã. C¸c gi¸ trÞ cËp nhËt cã thÓ: Picture,text…
- §iÒu khiÓn kh«ng buéc vµo mét trêng ( Unbound): Kh«ng liªn quan ®Õn trêng nµo c¶. C«ng dông:
NhËp d÷ liÖu tõ bµn phÝm.
Tr×nh bµy tiªu ®Ò.
Trang trÝ h×nh vÏ…
71
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Hép c«ng cô:
Aa (label) dùng để viết các dòng chữ.
ab (textbox) dùng để tạo các hộp chữ và có thể dùng điều khiển
tính toán. Ví dụ: Tổng điểm= [dtoan]+[dly]+[dhoa]
72
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Ta có thể chỉnh sửa lại biểu mẫu tự động bằng cách nháy chuột vào biểu mẫu cần sửa và chọn Design.
73
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Ta có thể tự tạo biểu mẫu theo ý thích: nháy Form chọn New - Design View- chọn bảng nguồn hoặc Query chọn Ok, sau đó gắp các trường đưa vào biểu mẫu và sử dụng các công cụ của Form để chỉnh sửa.
74
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Chỉnh sửa phông chữ, cỡ chữ,màu sắc, màu nền cho mẫu biểu.
* Nháy chuột phải Tại biểu mẫu chọn Propeties:
- Chọn màu nền ta chọn Back Color và chọn màu thích hợp từ biểu tượng..
- Chọn phông chữ tiếng việt ta chọn mục Font Name và chọn 1 phông thích hợp.
- Chọn cỡ chữ ta chọn Font Size và chọn 1 cỡ thích hợp từ dang sách.
75
Thiết kế giao diện chương trình ví dụ cần thiết kế giao diện chương trình như sau:
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
76
Ví dụ: Để quản lý bán hàng ta xây dựng 2 bảng HDBH1( mahang, tenhang,soluong), và bảng HDBH2 (mahang,tenhang,soluong).
Sau khi xây dựng cấu trúc cho bảng xong và lưu lại với tên bảng là HDNH1,HDBH2. Giả sử ta cần thiết kế giao diện chương trình như sau:
77
Tại mục Tìm kiếm tên hàng ta tạo Query và lưu lại với tên là Tìm kiếm tên hàng trong HDBH1 (timhanghdbh1).
78
Tại mục Command Buttom Nhập danh sách HDBH1 ta nháy phải chuột và chọn Propeties ? chọn Onclick..
Private Sub Command_ Click( )
Do Cmd.OpenTable "HDBH1"
End Sub
79
Tại mục Command Buttom Nhập danh sách HDBH2 ta nháy phải chuột và chọn Propeties ? chọn Onclick..
Private Sub Command_ Click( )
Do Cmd.OpenTable "HDBH2"
End Sub
80
Tại mục Command Buttom Tìm kiếm tên hàng ta nháy phải chuột và chọn Propeties ? chọn Onclick..
Private Sub Command_ Click( )
Do Cmd.OpenQuery "timhangHDBH1"
End Sub
81
Tại mục Command Buttom Kết thúc ta nháy phải chuột và chọn Propeties ? chọn Onclick..
Private Sub Command_ Click( )
Do Close
End Sub
82
Tại mục Command Buttom chèn ảnh ta nháy chuột vào công cụ Image và chọn ảnh có trong máy đưa vào.
83
?Báo biểu (Report):
Báo biểu(Report)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Báo biểu
84
?Báo biểu (Report):
Là công cụ tuyệt vời phục vụ cho việc in ấn, nó cho các khả năng:
In dữ liệu dưới dạng bảng.
In dữ liệu dưới dạng biểu
Sắp xếp dữ liệu trước khi in.
Báo biểu thường có khả năng in như sau:
In dưới dạng biểu như hoá đơn, thẻ dự thi, phiếu báo điểm, giấy mời,..
In dưới dạng như bảng lương, bảng danh sách cán bộ,..
Sắp xếp phân nhóm và thực hiện các phép toán( tổng, max, min, trung bình cộng, đếm..) trên mỗi nhóm.
Báo biểu(Report)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
85
Báo biểu(Report)
Ví dụ 1: Để in danh sách báo cho các thí sinh thi tuyển sinh vào các trường TC, CĐ, ĐH thì hội đồng tuyển sinh cần các thông tin quản lý như sau:
Bảng DSTHISINH( danh sách thí sinh) gồm các trường:
HOTEN kiểu Text
NSINH kiểu Date Time
SOBD kiểu Long
DONVI kiểu Text
TENDONVI kiểu Text
TENH kiểu Text
TENT kiểu Text
PTHI kiểu Integer
DDTHI kiểu Integer
Bảng DDTHI( địa điểm thi) gồm các trường:
DDTHI kiểu Integer
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
86
Báo biểu(Report)
DONG1 kiểu Text
DONG2 kiểu Text
( địa điểm thi được in trên hai dòng)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Yêu cầu thẻ dự thi in theo mẫu sau:
87
Bộ GD&ĐT Cộng hoà xã hội chủ nghĩa Việt Nam
Trg ĐH GTVT Độc lập- Tự do- Hạnh phúc
Thẻ dự thi Đại học năm 2010
Trường ĐH GTVT báo tin cho
Thí sinh: Trần Văn Tuấn
Ngày sinh: 11-11-1986 Số BD: GHA 1234
Hộ khẩu: Nghĩa Tân- Nghĩa Hưng- Nam Định
Đơn vị ĐKDT: 05 PTTH Nghĩa Hưng B
Đúng 7h 45 phút ngày 4-7-2010 có mặt tại PTHI 2
Địa điểm: Trường TH Lê Quý Đôn
Cuối đường Mạc Thị Bưởi
Để nghe phổ biến qui chế thi và lịch thi
HĐ Tuyển sinh
Trường ĐH GTVT
Báo biểu(Report)
ảnh
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
88
Tạo truy vấn ĐS IN THE từ hai bảng trên. Dùng trường DDTHI để tạo liên kết giữa hai bảng. Đưa vào truy vấn tất cả các trường của hai bảng trừ trường DDTHI.
Báo biểu(Report)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Tạo báo biểu IN THE DU THI lấy nguồn dữ liệu từ truy vấn DS IN THE. Báo biểu gồm các nhãn và các hộp văn bản buộc vào các trường của truy vấn nguồn. Ngoài ra có một hình chữ nhật để biểu thị khung ảnh. Báo biểu chỉ có một thành phần là thân báo biểu.
Để giải quyết vấn đề này ta làm như sau:
89
Bộ GD&ĐT Cộng hoà xã hội chủ nghĩa Việt Nam
Trg ĐH GTVT Độc lập- Tự do- Hạnh phúc
Thẻ dự thi Đại học năm 2010
Trường ĐH GTVT báo tin cho
Thí sinh:
Ngày sinh: Số BD:
Hộ khẩu: Nghĩa Tân- Nghĩa Hưng- Nam Định
Đơn vị ĐKDT:
Đúng 7h 45 phút ngày 4-7-2010 có mặt tại PTHI:
Địa điểm:
Để nghe phổ biến qui chế thi và lịch thi
HĐ Tuyển sinh
Trường ĐH GTVT
Báo biểu(Report)
ảnh
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
HOTEN
NSINH
SOBD
DONVI
PTHI
DONG1
DONG2
90
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Ví dụ 2:Để thống kê điểm môn Toán theo tổ từ bảng HOC_SINH trong cơ sở dữ liệu quản lý điểm ta làm như sau.
Để tạo nhanh báo cáo trên ta :
Dùng thuật sĩ tạo báo cáo;
Sửa đổi thiết kế báo cáo được tạo ra ở bước trên.
Báo biểu(Report)
91
HQTCSDL
Microsoft Access
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
thiết kế bài giảng
2
? Cơ sở dữ liệu( Database) ?
Là một tập hợp các dữ liệu có liên quan với nhau, chứa thông tin của một tổ chức nào đó( như thư viện, ngân hàng, tuyến bay, một công ty.) được lưu trữ trên bộ nhớ đáp ứng nhu cầu khai thác thông tin của nhiều người với nhiều mục đích khác nhau.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Cơ sở dữ liệu(Database)
Ví dụ: Để quản lý học sinh trong lớp học thì ta cần các thông tin sau:
STT Họ Tên Ngày Giới Đoàn Địa Điểm Điểm ... Điểm Điểm Điểm
sinh tính viên chỉ Lí Toán .. Sinh Tin Văn
1 Nguyễn Văn Minh 11-10-1991 nam có Nghĩa Thành 6 7 7 8 9
Lê Minh Châu 3-4-1991 nữ có Nghĩa Thành 7 8 7 8 9
Trần Thị Hà 5-6-1991 nữ không Nghĩa Bình 7 8 7 8 8
Phạm Thị Hương 10-3-1991 nữ có Nghĩa Thắng 6 5 7 6 5
........ .... .. .. ...... .. .. .. .. ..
........ ...... . . ...... .. .. .. .. ..
......... ..... . . ....... .. .. .. .. ..
3
? Chúng ta đã được làm quen với cơ sở dữ liệu như Foxpro, cơ sở dữ liệu quan hệ. Vậy hệ quản trị cơ sở dữ liệu ( Database Management System)?
Phần mềm cung cấp môi trường thuận lợi và hiệu quả để tạo lập, lưu trữ và khai thác thông tin của cơ sở dữ liệu được gọi là hệ quản trị cơ sở dữ liệu.
Hệ quản trị cơ sở dữ liệu Microsoft Access:
Là hệ quản trị cơ sở dữ liệu chạy trên môi trường Windows, trong đó có các công cụ hữu hiệu và tiện lợi để tự động sản sinh chương trình cho hầu hết các bài toán thường gặp trong quản lý, kế toán, thống kê.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Cơ sở dữ liệu(Database)- Hệ quản trị cơ sở dữ liệu(Database Management System)
Khi mở chương trình Access thì xuất hiện cửa sổ sau:
4
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
Truy vấn(Query)
Mẫu biểu(Form)
Báo biểu(Report)
Macro
Đơn thể( Module)
?Nếu muốn mở một CSDL đã có thì chọn trong danh sách rồi bấm OK.
Nếu muốn tạo một CSDL thì vào File chọn New chọn Blank Database rồi bấm Ok. Khi đó xuất hiện hội thoại cho phép ta đặt tên cho CSDL, ta đặt tên tại mục File name và chọn Create.
Nếu muốn tạo một CSDL mới theo những chủ đề có sẵn thì chọn Data Wizard rồi bấm Ok.
Làm việc với cơ sở dữ liệu Microsoft Access
Khi tạo xong CSDl ta có thể xây dựng các cửa sổ sau:
5
? Bảng trong Access:
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
Bảng
6
? Bảng trong Access:
Bảng (Table)có cấu trúc như một DBF của Foxpro được dùng để lưu trữ dữ liệu của cơ sở dữ liệu. Một cơ sở dữ liệu thường có nhiều bảng có quan hệ với nhau.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
Một bảng gồm có nhiều trường có các kiểu khác nhau như: Text, Number, Date - Time,..
Từ cửa Database chọn mục Table, trong đó chứa danh sách các bảng đã tồn tại và 3 nút lựa chọn: New, Open, Design.
Nút New dùng để tạo bảng mới
Nút Open dùng để mở nhập liệu cho bảng được chọn.
Nút Design dùng để xem sửa cấu trúc bảng được chọn.
Để tạo bảng mới ta chọn New-> chọn Design View chọn Ok.
Kết quả nhận được cửa sổ thiết kế bảng sau:
7
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
8
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
Tên bảng được Access giả định là Table1. Sau này ta có thể đổi tên cho có ý nghĩa hơn.
Cửa sổ bảng được chia ra làm 2 phần:
+ Phần trên gồm 3 cột: Field Name, Data Type và Description, dùng để khai báo các trường của bảng, mỗi trường khai báo trên một dòng.
+ Phần dưới để qui định các thuộc tính cho trường.
Tên trường (field Name): là một dãy không quá 64 ký tự bao gồm chữ cái chứ số và khoảng trống.
Kiểu dữ liệu (Data Type) gồm các kiểu sau:
Text Ký tự dài <= 255 Byte
Memo Ký tự dài<= 64000 Byte
Number Số nguyên, thực dài: 1,2,4, hoặc 8 Byte
Date-Time Ngày tháng giờ dài 8 Byte
Currentcy Tiền tệ dài 8 Byte
9
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
AutoNumber số dài 8 Byte
Yes- No Boolean 1 Bit
OLE Object Đối tượng nhúng kết 1 GigaByte hình ảnh nhị phân
Hyperlink Ký tự hoặc kết hợp giữa ký tự và số
Lookup Wizard cho phép chọn giá trị từ một bảng khác
? Thay đổi thiết kế, chỉnh sửa cấu trúc bảng:
3. Mô tả(Description): Để giảI thích cho rõ hơn một trường nào đó. Văn bản mô tả sẽ được hiển thị khi nhập số liệu cho các trường.
Xoá một hoặc nhiều trường: Chọn trường bấm phím Delete hoặc chọn Delete Row từ Menu Edit.
10
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
? Thuộc tính của trường :
- Điều khiển hình thức thể hiện dữ liệu.
- Nhập liệu theo mẫu.
- Kiểm tra dữ liệu, ngăn cản nhập sai.
- Tăng tốc độ tìm kiếm.
11
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bảng(Table)
Field Size: Số ký tự của trường Text, hoặc kiểu của trường number.
Format : dạng hiển thị dữ liệu kiểu ngày và số.
DecimalPlaces : Số chữ số thập phân trong kiểu number và currency.
InputMask( Mặt lạ nhập) : Quy định khuôn dạng nhập liệu.
Caption : Đặt nhãn cho trường. Nhãn sẽ được hiển thị khi nhập liệu thay vì tên trường ( nhãn mặc định).
Default Value : Xác định giá trị mặc định của trường.
Validation Rule : Quy tắc dữ liệu hợp lệ. Dữ liệu phải thoả mãn quy tắc này mới được nhập.
Required: Không chấp nhận giá trị rỗng. Cần phải nhập một dữ liệu cho trường.
AllowZeroLength : Chấp nhận chuỗi rỗng trong trường Text, Memo.
Indexed : Tạo chỉ mục để tăng tốc độ tìm kiếm trên trường này.
12
Ví dụ: Ta có CSDL Tuyển sinh gồm 3 bảng sau.
- Bảng DSTS gồm các trường:
[HOTEN] kiểu Text
[SOBD] kiểu Integer
[NAMSINH] kiểu Date -Time
[TENTINH] kiểu Text.
Bảng BD_PHACH gồm các trường:
[SOBD] kiểu Integer
[PHACH] kiểu Integer.
Bảng PHACH_DIEM gồm các trường:
[PHACH] kiểu Integer.
[DTOAN] kiểu Double.
[DLY] kiểu Double.
[DHOA] kiểu Double.
Bảng(Table)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
13
Yêu cầu đặt ra trong công tác tuyển sinh là xây dựng một bảng tổng hợp từ 3 bảng trên. Giả sử bảng tổng hợp chỉ gồm có các thí sinh có tổng điểm lớn hoặc bằng điểm chuẩn >=18.
Ta xây dựng cơ sở dữ liệu từ 3 bảng trên và ta thấy chúng có quan hệ với nhau nhờ có cùng chung 1 số thuộc tính trong bảng. Bảng DSTS quan hệ với BD_PHACH nhờ SBD. Bảng BD_PHACH quan hệ với PHACH_DIEm nhờ phach.
HOTEN
SOBD
NAMSINH
TENTINH
SOBD
PHACH
PHACH
DTOAN
DLY
DHOA
Bảng(Table)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
14
?Truy vấn (Query):
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Truy vấn
15
?Truy vấn (Query):
Công cụ mạnh của Access dùng để tổng hợp, sắp xếp, tìm kiếm dữ liệu trên các bảng. Khi thực hiện truy vấn sẽ nhận được một tập hợp kết quả thể hiện trên màn hình dưới dạng bảng gọi là Dynaset. Dynaset chỉ là bảng kết quả trung gian không được ghi lên đĩa và nó bị xoá khi kết thúc truy vấn.
Giả sử đưa ra một bảng tổng hợp các thí sinh có tổng điểm lớn hơn hoặc bằng điểm chuẩn( giả sử điểm chuẩn là 16)
Ta phải xây dựng CSDL và lấy thông tin đưa ra từ 3 bảng trên vào truy vấn Query và đặt điều kiện tại trường TONGDIEM thêm vào tại mục Field là trường kết xuất. TONGDIEM:[DTOAN] + [DLY] + [DHOA]
Tại vùng Criteria >=16
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
16
Giả sử ta có cơ sở dữ liệu TSINH đã có các bảng:
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
-Bảng DSTS( danh sách thí sinh gồm các trường):
+[HOTEN]
+[SOBD]
+[NAMSINH]
+[TENTINH]
-Bảng BD_PHACH( báo danh phách gồm các trường):
+[SOBD]
+[PHACH]
-Bảng PH_DIEM(phách điểm gồm các trường):
+[PHACH]
+[DTOAN]
+[DLY]
+[DHOA]
17
Trường [TONGDIEM] là trường mới chính là tổng của các trường [DTOAN], [DLY], [DHOA]. Bảng tổng hợp chỉ gồm các thí sinh có tổng điểm lớn hơn hoặc bằng điểm chuẩn ( giả sử điểm chuẩn là 16 ).
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Để giảI quyết bài toán trên, ta xây dựng truy vấn [KET QUA TS] (kết quả tuyển sinh) theo trình tự sau:
1. Trong cửa sổ Database của CSDL TSINH, chọn mục Query, sau đó bấm nút New-> chọn Design View, Access sẽ mở hộp thoại Show Table có dạng sau:
18
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Ba nút bên trên có ý nghĩa như sau:
+ Nút Table để hiển thị danh sách các bảng
+ Nút Query hiển thị danh sách truy vấn
+ Nút Both để hiển thị cả bảng và truy vấn.
19
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Chọn các bảng DSTS, BD_PHACH và PH_DIEM, sau đó bấm nút Add. Cuối cùng bấm Close để đóng cửa sổ Show Table.
Kết quả nhận được cửa sổ Select Query gồm 2 phần. Phần trên hiện danh sách các bảng và truy vấn nguồn. Phần dưới được gọi là QBE( Query By Example) Chứa các trường của truy vấn cần xây dựng.
20
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
?Tạo mối quan hệ giữa các bảng:
Để ràng buộc toàn vẹn dữ liệu được thực hiện cần quy định 2 loại quan hệ:
+ 1 -> ? ( trường trong bảng chính là khoá chính)
+ 1 -> 1 ( cả 2 trường quan hệ đều là khoá chính)
+ Quan hệ một- một giữa bảng [DSTS] và bảng [BD_PHACH] theo trường quan hệ: [SBD].
Ta dùng chuột kéo trường [SBD] tự bảng [BD_PHACH] kéo sang trường [SBD] của bảng [DSTS]. Sau đó nháy phảI chuột tại đường thắng kết nối giữa 2 bảng và chọn Propeties. Khi đó xuất hiện bảng sau:
21
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ Quan hệ một- một giữa bảng [PH_DIEM] và bảng [BD_PHACH] theo trường quan hệ: [PHACH].
Ta dùng chuột kéo trường [PHACH] tự bảng [BD_PHACH] kéo sang trường [PHACH] của bảng [PH_DIEM]. Sau đó nháy phảI chuột tại đường thắng kết nối giữa 2 bảng và chọn Propeties. Khi đó xuất hiện bảng sau:
22
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Tại mục Field cuối cùng của truy vấn ta gõ thêm trường Tổng điểm: [DTOAN]+[DLY]+[DHOA].
Tại mục Criteria của trường Tổng điểm này ta cho >=16
23
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
?Định thứ tự sắp xếp:
- Mục đích là để cho bảng Kết quả Hiện ra theo thứ tự nào đó.
- Thao tác:
+ Bấm chuột vào mục Sort của trường cần sắp xếp
+ Chọn Ascending( tăng dần) hoặc Descending( giảm dần)
+ Nếu sắp xếp nhiều trường thì thứ tự ưu tiên từ trái sang phải
- Trong ví dụ này, ta chọn:
+ Trường [TENTINH], chiều Ascending
+ Trường [TONGDIEM], chiều Descending
24
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Lập tiêu chuẩn lựa chọn:
- Mục đích để chỉ hiển thị những thông tin cần quan tâm trong bảng kết quả, như chỉ hiển thị những thí sinh đỗ theo điểm chuẩn nào đó.
- Cách làm:
+ Gõ trực tiếp một biểu thức điều kiện vào ô Criteria của các trường cần đặt điều kiện.
+ Hoặc dùng cửa sổ xây dựng trường biểu thức hoặc cửa sổ Zoom. Để mở cửa sổ xây dựng biểu thức cho ô Criteria của trường nào, ta bấm phải chuột tại ô Criteria của trường, rồi chọn mục Build.
25
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
?Ta cũng có thể đưa vào điều kiện sau:
+ Tại trường [TENTINH]: "Hà Nội"
( Chỉ hiển thị những thí sinh ở Hà Nội}
+ Tại trường [NGAYSINH]
Between #1 ? 1 ? 70# and # 12 ? 31 ? 76
( Chỉ hiển thị những thí sinh có năm sinh từ năm 70 đến 76)
? Không thể hiện(ẩn ) một trường trong truy vấn
- Mục đích để chỉ hiện những trường cần quan tâm trong bảng Kết quả.
- Cách làm:
Bấm chuột tại ô ? trong hàng Show của trường cần ẩn để đưa về dạng rỗng ?. Nếu muốn bỏ ẩn ta bấm chuột tại ô này.
26
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Xây dựng các điều kiện trong truy vấn
1. Các phép toán
Khi xây dựng các biểu thức điều kiện, cho phép sử dụng các phép toán sau:
A ) So sánh:= <> > >= < <=
B ) Phép logic: AND OR NOT BETWEEN..AND..
C ) Dùng LIKE với các ký tự thế chân như: LIKE "CTY*"
D ) NULL NOT NULL
E ) IN
27
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Giải thích một số phép toán mới:
1. BETWEEN...AND..
Phép toán này dùng để biểu thị một khoảng giá trị. Ví dụ muốn tìm các thí sinh có số báo danh từ 100 đến 150, ta đưa vào ô Criteria của trường SBD điều kiện sau:
BETWEEN 100 AND 150
Điều kiện này có thể biểu diễn theo một cách khác như sau:
>= 100 AND <= 150
2. LIKE
Phép toán này dùng đối với các trường kiểu Text và Date- Time để tìm các giá trị theo một mẫu nào đó. Cách viết như sau:
LIKE Mẫu
28
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Mẫu là một chuỗi ký tự. Trong mẫu cho phép dùng các ký tự thế chân:
* Thay cho một dãy kỹ tự của trường kiểu Text hoặc một mục( ngày, tháng, năm,..) của trường Date- Time.
Ví dụ:
Để tìm các thí sinh có hộ khẩu tại các tỉnh có chữ đầu là " T" và chữ cuối là "H", ta đặt điều kiện vào ô Criteria của trường [TENTINH]:
LIKE "T*H"
Ví dụ:
Để tìm các thí sinh sinh vào tháng 8, ta đặt điều kiện vào ô Criteria của trường [NAMSINH]:
LIKE "*/08/*"
29
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
3. NULL và NOT NULL dùng để kiểm tra một trường đã có dữ liệu hay chưa.
Ví dụ:
- Để tìm thí sinh thiếu ngày sinh, ta đưa giá trị NULL vào ô Criteria của trường [NAMSINH]
- Để tìm thí sinh đã vào điểm toán, ta đưa giá trị NOT NULL vào ô Criteria của trường [DTOAN]
4. IN
- Phép toán này dừng để kiểm tra xem giá trị của một trường có nằm trong một tập hợp nào đó hay không. Cách viết như sau:
IN ( giá trị 1, giá trị 2,...giá trị n )
Ví dụ: Để tìm các thí sinh có số phách là một trong 3 gía trị: 12, 15, 35, ta đặt điều kiện sau vào ô Criteria của trường [PHACH]:
IN ( 12, 15, 35)
30
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Có thể so sánh 2 trường khác nhau. Ví dụ: Để tìm các thí sinh có điểm toán lớn hơn điểm lý, ta đặt điều kiện sau vào ô Criteria của trường [DTOAN]:
>[DLY]
5.Điều kiện phức tạp
Các điều kiện viết trên cùng dòng Criteria là các điều kiện đồng thời thoả mãn.
Ví dụ: Tìm các thí sinh quê ở Nam Định và có tổng điểm lớn hơn hoặc bằng 20 ta làm như sau:
Trên dòng Criteria:
- Đưa điều kiện Nam Định vào trường (cột) [TENTINH]
- Đưa điều kiện >=20 vào trường [TONGDIEM]
6. Or
Để xây dựng các biểu thức có một phép hoặc, thì ta phảI dùng thêm dòng Or trong cửa sổ thiết kế truy vấn. Khi đó các điều kiện trên dòng Criteria sẽ được kết hợp với các điều kiện trên dòng Or bằng phép hoặc.
31
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Ví dụ: Để tìm các thí sinh thoả mãn một trong hai điều kiện sau:
- Quê Nam Định và tổng điểm lớn hơn hoặc bằng 20
- Sinh trước năm 1982 và tổng điểm nhỏ hơn 18.
Ta làm như sau:
Trên dòng Criteria:
- Đưa điều kiện Nam Định vào trường [TENTINH]
- Đưa điều kiện >=20 vào trường [TONGIEM].
Trên dòng Or:
- Đưa điều kiện <#01/01/1982 vào trường [NAMSINH]
- Đưa điều kiện < 18 vào trường [TONGDIEM]
32
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
7. Các hàm xử lý ngày
+ Date() cho ngày máy đang dùng
+ Now() Cho kết quả là ngày và giờ máy đang dùng
+ Dateadd(đối1,n,date) Cho giá trị kiểu ngày bằng cách cộng thêm vào date n ngày hoặc tháng hoặc năm hoặc quí tuỳ theo đối 1.
đối 1 có thể nhận các giá trị sau:
"d" ngày
"m" tháng
"yyyy" năm
Ví dụ:
Dateadd("d",15,date()) cộng thêm 15 ngày so với ngày hiện tại.
Dateadd("m",-3,date()) trừ đI 3 tháng so với tháng hiện tại.
Dateadd("yyyy",-1,date()) trừ đI 1 năm so với năm hiện tại.
33
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ DatePart(đối1, date()) Cho một thành phần là ngày hoặc tháng, hoặc năm, hoặc quí từ một giá trị kiểu ngày(date) tuỳ theo đối 1.
Đối 1 có thể nhận các giá trị như trên.
Ví dụ:
Datepart("m",date()) cho tháng hiện tại
Datepart("q",date()) cho quí hiện tại
8. Các hàm xử lý chuỗi
+ Phép & dùng để ghép các chuỗi, cách viết như sau:
Chuỗi1& chuỗi2&..&chuỗin
Ví dụ: "HO" &" " & "TEN" cho chuỗi kết quả là "HO TEN"
+ Left(String,n) Cho chuỗi con của String gồm n ký tự bên trái
Ví dụ: Left("Ha Noi",2) cho kết quả là " Ha"
+ Right(String,n) Cho chuỗi con của String gồm n ký tự bên phải
Ví dụ: Right("Ha Noi",3) cho kết quả là " Noi"
34
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ Mid(String,Start,n) Cho chuỗi con của String bắt đầu từ vị trí Start gồm n ký tự
Ví dụ: Mid("Nguyen Thi Thanh Tam",8,5) cho kết quả là " Thanh"
+ Str(number) Đổi số sang chuỗi
Ví dụ: Srt(1999) cho kết quả là "1999"
? Chú ý:
Các hám trên được xử lý trên các trường là trường kết xuất ( đưa thêm vào 1 trường mới ). Ví dụ trường [HOTEN] ta cần trích tên thì tại trường kết xuất Field ta gõ
Tên: right(hoten,5)
35
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Bài tập áp dụng:
Để quản lý điểm thi 3 môn Toán, Lý, Hoá của các em học sinh. Yêu cầu nhập các thông tin họ tên, ngày sinh, lớp, giới tính, khu vực.
Hãy thưởng điểm cho các em có khu vực như sau :
KV1 cộng thêm 2 điểm vào tổng điểm
KV2NT cộng thêm 1 điểm vào tổng điểm.
Sau đó thực hiện tính tổng điểm và trong đó có cả điểm thưởng.
9. Hàm Iif( nếu):
+Mẫu Lệnh: Iif(biểu thức điều kiện, giá trị1, giá trị 2)
+ Giải thích: Hàm này chỉ nhận 1 trong 2 giá trị trong biểu thức hàm Iif.
Nếu biểu thức điều kiện đúng thì nhận giá trị 1.
Ngược lại sai thì nhận giá trị 2
+ Các hàm Iif có thể lồng nhau như ví dụ dưới đây:
36
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Hình ảnh sau khi ta đã nhập xong dữ liệu cho bảng:
Hình ảnh sau khi ta đã xử lý hàm Iif lồng nhau:
Tại trường thêm vào Td của mục Field ta gõ Td:[Toan]+[Ly]+[Hoa]+Iif(Khuvuc
="KV1",2,Iif(Khuvuc="KV2NT",1,0))
37
? Các loại liên kết
Khi tạo truy vấn từ hai bảng/ truy vấn nguồn( gọi tắt là nguồn) thì kết quả truy vấn phụ thuộc vào kiểu quan hệ( liên kết) giữa hai nguồn. Có thể chia ra làm 3 trường hợp.
1. Không quan hệ:
Trên cửa sổ thiết kế truy vấn sẽ không thấy đường quan hệ giữa hai nguồn.
Trong trường hợp này mỗi bản ghi của nguồn thứ nhất sẽ kết hợp với mỗi bản ghi của nguồn thứ hai để tạo thành một bản ghi của truy vấn. Như vậy số bản ghi trong Dynaset sẽ bằng tích số các bản ghi trong hai nguồn.
Truy vấn (Query)
2. Liên kết nội(inner join)
Trong cửa sổ thiết kế truy vấn sẽ thấy một đường vô hướng nối giữa hai
nguồn.
Trong trường hợp này mỗi bản ghi của nguồn thứ nhất sẽ kết hợp với mỗi bản ghi của nguồn thứ hai để tạo thành một bản ghi của truy vấn. Hai bản ghi ở hai bảng- truy vấn nguồn gọi là tương ứng nếu chúng có cùng giá trị trên các trường quan hệ.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
38
Truy vấn (Query)
3. Liên kết ngoại
Trong liên kết ngoại có một nguồn chính và một nguồn phụ.
Trên cửa sổ thiết kế truy vấn sẽ thấy một đường định hướng đi từ nguồn chính sang nguồn phụ.
Nếu nguồn chính bên trái là liên kết trái ( Left join)
Nếu nguồn chính ở bên phải là liên kết phải ( Right)
Trong trường hợp này có mỗi bản ghi của nguồn chính sẽ rơi vào một trong hai trường hợp:
+ Có ít nhất một bản ghi tương ứng trong nguồn phụ, thì bản ghi đang xét của nguồn chính sẽ kết hợp với mỗi bản ghi trong nguồn phụ để tạo thành một bản ghi của truy vấn. Trường hợp này giống như liên kết nội.
+ Không có bản ghi tương ứng nào trong nguồn phụ, thì bản ghi đang xét của nguồn chính sẽ kết hợp với bản ghi rỗng của nguồn phụ để tạo một bản ghi của truy vấn.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
39
Truy vấn (Query)
Ví dụ:
Giả sử có 2 bảng:
Bảng [HDBH1] gồm 2 trường: [MAHANG], [SOLUONG]
Bảng [HDBH2] gồm 2 trường:[MAHAng],[SOLUONG].
Giả sử ta đã nhập dữ liệu vào như sau:
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
40
Truy vấn (Query)
* Không quan hệ
Trên cửa sổ thiết kế truy vấn sẽ không thấy đường quan hệ giữa hai nguồn.
Bảng kết quả của truy vấn gồm 8 hàng .
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
41
Truy vấn (Query)
* Liên kết nội
Trên cửa sổ thiết kế truy vấn sẽ thấy đường quan hệ giữa hai nguồn. Trường quan hệ là [MAHANG]
Kiểu liên kết là kiểu 1 trong cửa sổ Join Propeties ( Only include rows where the joined field from both tables are equal.
Bảng kết quả của truy vấn gồm 2 hàng .
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
42
Truy vấn (Query)
* Liên kết ngoại
Trên cửa sổ thiết kế truy vấn sẽ thấy đường quan hệ giữa hai nguồn. Trường quan hệ là [MAHANG], nguồn chính là bảng [HDBH1] nguồn phụ là [HDBH2]
Kiểu liên kết là kiểu 2 trong cửa sổ Join Propeties ( Include ALL records from `HDBH1` and only those records from `HDBH2` where the joined field are equal.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
43
Truy vấn (Query)
Bảng kết quả của truy vấn gồm 4 hàng .
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
44
Truy vấn (Query)
? Tính tổng trong truy vấn
Tiến hành phân nhóm các bản ghi, sau đó thực hiện các phép tính sau trên từng nhóm:
Sum: Tính tổng các giá trị trên trường kiểu Number
Avg: Tính giá trị trung bình của trường Number
Min: Tìm giá trị nhỏ nhất của trường Number
Max: Tìm giá trị lớn nhất của trường Number
Count: Đêm số gia trị khác rỗng của trường
First: Cho giá trị của trường ở mẫu tin đầu tiên trong nhóm
Last: Cho giá trị của trường ở mẫu tin cuối cùng trong nhóm.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
45
Truy vấn (Query)
? Tính tổng trong truy vấn
46
Truy vấn (Query)
? thứ tự làm việc của truy vấn tính tổng
+ Dựa vào điều kiện đặt lọc trong các trường để lọc ra các mẫu tin tham gia phân nhóm và tính toán.
+ Phân nhóm và sắp xếp các mẫu tin trong từng nhóm theo các trường phân nhóm( có giá trị Group by trên ô Total).
+ Thực hiện các phép tính theo từng nhóm trên các trường tính toán( có hàm Sum, count, avg, min, max, ..) trên ô Total.
? thao tác để tạo truy vấn tính tổng
+ Chọn bảng đưa vào truy vấn
+ Chọn mục ? của menu Query
+ Điều kiện tham gia phân nhóm và tính tổng:
. Có chữ Where trên ô Total
. Có biểu thức điều kiện trên ô Criteria
+ Tính toán ( chọn một hàm đặt vào ô Total).
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
47
Truy vấn (Query)
Ví dụ 1:
+ Tính tổng tất cả các loại mặt hàng, tính riêng từng loại của mục số lượng trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
48
Truy vấn (Query)
+ Tính từng loại của mục số lượng trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
49
Truy vấn (Query)
+ Kết quả từng loại của mục số lượng trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
50
Truy vấn (Query)
+ Tính tổng toàn bộ các mục số lượng trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
51
Truy vấn (Query)
+ Kết quả tổng toàn bộ các mục số lượng trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
52
Truy vấn (Query)
Ví dụ 2:
+ Đếm riêng từng loại mặt hàng hiện có trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
53
Truy vấn (Query)
Ví dụ 2:
+ Hình ảnh cần đếm riêng từng loại khi xây dựng truy vấn mặt hàng hiện có trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
54
Truy vấn (Query)
Ví dụ 2:
+ Kết quả đếm riêng từng loại khi xây dựng truy vấn mặt hàng hiện có trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
55
Truy vấn (Query)
Ví dụ 3:
+ Tính trung bình mặt hàng hiện có trong HDBH1 ( MA HANG, SOLUONG) theo cột số lượng.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
56
+ Hình ảnh cần tính trung bình khi xây dựng truy vấn mặt hàng hiện có trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
57
+ Kết quả tính trung bình khi xây dựng truy vấn mặt hàng hiện có trong HDBH1 ( MA HANG, SOLUONG)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
58
Truy vấn (Query)
? Nâng cấp truy vấn
+ Truy vấn thông số dùng trong các bài toán tìm kiếm
+ Truy vấn Crosstab dùng để tổng hợp phân tích dữ liệu theo các nhóm
+ Truy vấn dùng câu lệnh SQL dùng để hợp nhất các bảng dữ liệu
+ Truy vấn hành động dùng để: Tạo bảng dữ liệu mới và thêm, sửa, xoá các bản ghi trong một bảng đã tồn tại.
? Truy vấn thông số ( parameter query)
+ Giá trị trong các biểu thức điều kiện không cần định trước mà sẽ tự nhập vào mỗi khi truy vấn thực hiện
+ Cách tạo truy vấn thông số:
+ Khi tạo các biểu thức điều kiện, thay cho một giá trị cụ thể ta đưa vào một thông báo được bao trong hai dấu: [ ]. Một thông báo như vậy gọi là một thông số.
+ Dòng thông báo sẽ xuất hiện như một chỉ dẫn nhập liệu khi thực hiện truy vấn.
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
59
Giả sử ta có cơ sở dữ liệu TSINH đã có các bảng:
-Bảng DSTS( danh sách thí sinh gồm các trường):
+[HOTEN]
+[SOBD]
+[NAMSINH]
+[TENTINH]
-Bảng BD_PHACH( báo danh phách gồm các trường):
+[SOBD]
+[PHACH]
-Bảng PH_DIEM(phách điểm gồm các trường):
+[PHACH]
+[DTOAN]
+[DLY]
+[DHOA]
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
60
Cần tạo truy vấn từ 3 bảng trên để tìm các thí sinh theo các điều kiện sau:
Truy vấn (Query)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
1. Tìm thí sinh có tên tỉnh có ký tự đầu là .. và ký tự cuối là ...
2. Tìm điểm Toán có giá trị được nhập vào từ bàn phím từ điểm ..đến điểm.
? Cách làm:
1. Đưa vào ô Criteria của trường [TENTINH] nội dung như sau:
Like [Nhóm ký tự đầu] &"*"&[Nhóm ký tự cuối]
2. Đưa vào ô Criteria của trường [DTOAN] nội dung như sau:
>= [Từ điểm] and <= [đến điểm]
61
Mẫu biểu (Form):
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Mẫu biểu
62
Mẫu biểu (Form):
? Thường dùng tổ chức cập nhật dữ liệu cho các bảng và thiết kế giao diện chương trình. Ta có thể nhập dữ liệu trực tiếp từ các bảng xong mẫu biểu sẽ cung cấp các khả năng nhập liệu tiện lợi hơn như: Nhận dữ liệu từ một danh sách, nhận các hình ảnh, nhập dữ liệu đồng thời trên nhiều bảng. Mẫu biểu còn có một khả năng quan trọng khác là tổ chức giao diện chương trình dưới dạng bảng các nút lệnh hay một hệ thống menu.
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
MÉu biÓu gåm c¸c « ®iÒu khiÓn thuéc c¸c lo¹i kh¸c nhau vµ cã c«ng dông kh¸c nhau:
+ Label ( nh·n): dïng ®Ó thÓ hiÖn c¸c dßng v¨n b¶n.
+ Object Frame ( Khung ®èi tîng): dïng ®Ó chøa c¸c h×nh ¶nh.
+ Text Box ( Hép v¨n b¶n): dïng ®Ó thÓ hiÖn gi¸ trÞ c¸c trêng, c¸c biÓu thøc hoÆc gi¸ trÞ gâ vµo tõ bµn phÝm.
63
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ Nguån d÷ liÖu ( nÕu cã) cña mÉu biÓu lµ mét b¶ng hay lµ mét truy vÊn. Khi cã nguån d÷ liÖu, mÉu biÓu thêng dïng ®Ó thÓ hiÖn vµ cËp nhËt d÷ liÖu cho c¸c trêng nguån.
+ MÉu biÓu kh«ng cã nguån d÷ liÖu thêng dïng ®Ó tæ chøc giao diÖn ch¬ng tr×nh
? Tạo Mẫu biểu tự động bằng wizard :
+ NÕu chØ dïng mÉu biÓu ®Ó thÓ hiÖn vµ cËp nhËt d÷ liÖu th× c¸ch nhanh nhÊt lµ dïng c«ng cô Wizard.
+ §Ó t¹o mÉu biÓu tù ®éng hoÆc b»ng Wizad ta lµm nh sau:
+ Më CSDL vÝ dô :TSINH.mdb
+ Nh¸y vµo Form
+ Nót New dïng ®Ó t¹o mÉu biÓu míi.
+ Nót Open dïng ®Ó më mÉu biÓu.
+ Nót Design dïng ®Ó më cöa sæ thiÕt kÕ mÉu biÓu.
64
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ H×nh ¶nh cöa sæ khi chän vµo mÉu biÓu:
65
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ §Ó t¹o míi mÉu biÓu ta nh¸y chuét vµo New. Khi ®ã xuÊt hiÖn cöa sæ New :
66
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ §Ó t¹o míi mÉu biÓu 1 c¸ch tù ®éng. Ta chän Form Wizard :
67
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ Lùa chän B¶ng hoÆc Query cho mÉu biÓu tù ®éng vµ chän OK :
68
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ Chän c¸c trêng ®a vµo mÉu biÓu tù ®éng vµ chän Next .
+ Chän 1 trong c¸c d¹ng mÉu biÓu cÇn hiÓn thÞ vµ chän Finish .
69
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Các loại điều khiển :
+ Khi thiÕt kÕ mÉu biÓu, thêng dïng c¸c lo¹i ®iÒu khiÓn sau:
- Hép v¨n b¶n( Text box)
- Nh·n ( Label)
- Hép lùa chän ( Combo box)
- Hép danh s¸ch( List box)
- Nót lÖnh ( Command Button)
- Nhãm lùa chän ( Option Group)
+ C¸ch dïng c¸c « ®iÒu khiÓn theo c¸c c¸ch sau:
- Bound ( Buéc vµo mét trêng nµo ®ã)
- UnBound ( Kh«ng buéc vµo mét trêng nµo ®ã)
- Calculated ( tÝnh to¸n)
70
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
+ ý nghÜa cña c¸c lo¹i ®iÒu khiÓn:
- §iÒu khiÓn buéc vµo mét trêng ( Bound): Dïng ®Ó truy xuÊt tíi trêng ®ã. C¸c gi¸ trÞ cËp nhËt cã thÓ: Picture,text…
- §iÒu khiÓn kh«ng buéc vµo mét trêng ( Unbound): Kh«ng liªn quan ®Õn trêng nµo c¶. C«ng dông:
NhËp d÷ liÖu tõ bµn phÝm.
Tr×nh bµy tiªu ®Ò.
Trang trÝ h×nh vÏ…
71
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Hép c«ng cô:
Aa (label) dùng để viết các dòng chữ.
ab (textbox) dùng để tạo các hộp chữ và có thể dùng điều khiển
tính toán. Ví dụ: Tổng điểm= [dtoan]+[dly]+[dhoa]
72
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Ta có thể chỉnh sửa lại biểu mẫu tự động bằng cách nháy chuột vào biểu mẫu cần sửa và chọn Design.
73
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Ta có thể tự tạo biểu mẫu theo ý thích: nháy Form chọn New - Design View- chọn bảng nguồn hoặc Query chọn Ok, sau đó gắp các trường đưa vào biểu mẫu và sử dụng các công cụ của Form để chỉnh sửa.
74
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
? Chỉnh sửa phông chữ, cỡ chữ,màu sắc, màu nền cho mẫu biểu.
* Nháy chuột phải Tại biểu mẫu chọn Propeties:
- Chọn màu nền ta chọn Back Color và chọn màu thích hợp từ biểu tượng..
- Chọn phông chữ tiếng việt ta chọn mục Font Name và chọn 1 phông thích hợp.
- Chọn cỡ chữ ta chọn Font Size và chọn 1 cỡ thích hợp từ dang sách.
75
Thiết kế giao diện chương trình ví dụ cần thiết kế giao diện chương trình như sau:
Mẫu biểu( Form)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
76
Ví dụ: Để quản lý bán hàng ta xây dựng 2 bảng HDBH1( mahang, tenhang,soluong), và bảng HDBH2 (mahang,tenhang,soluong).
Sau khi xây dựng cấu trúc cho bảng xong và lưu lại với tên bảng là HDNH1,HDBH2. Giả sử ta cần thiết kế giao diện chương trình như sau:
77
Tại mục Tìm kiếm tên hàng ta tạo Query và lưu lại với tên là Tìm kiếm tên hàng trong HDBH1 (timhanghdbh1).
78
Tại mục Command Buttom Nhập danh sách HDBH1 ta nháy phải chuột và chọn Propeties ? chọn Onclick..
Private Sub Command_ Click( )
Do Cmd.OpenTable "HDBH1"
End Sub
79
Tại mục Command Buttom Nhập danh sách HDBH2 ta nháy phải chuột và chọn Propeties ? chọn Onclick..
Private Sub Command_ Click( )
Do Cmd.OpenTable "HDBH2"
End Sub
80
Tại mục Command Buttom Tìm kiếm tên hàng ta nháy phải chuột và chọn Propeties ? chọn Onclick..
Private Sub Command_ Click( )
Do Cmd.OpenQuery "timhangHDBH1"
End Sub
81
Tại mục Command Buttom Kết thúc ta nháy phải chuột và chọn Propeties ? chọn Onclick..
Private Sub Command_ Click( )
Do Close
End Sub
82
Tại mục Command Buttom chèn ảnh ta nháy chuột vào công cụ Image và chọn ảnh có trong máy đưa vào.
83
?Báo biểu (Report):
Báo biểu(Report)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Báo biểu
84
?Báo biểu (Report):
Là công cụ tuyệt vời phục vụ cho việc in ấn, nó cho các khả năng:
In dữ liệu dưới dạng bảng.
In dữ liệu dưới dạng biểu
Sắp xếp dữ liệu trước khi in.
Báo biểu thường có khả năng in như sau:
In dưới dạng biểu như hoá đơn, thẻ dự thi, phiếu báo điểm, giấy mời,..
In dưới dạng như bảng lương, bảng danh sách cán bộ,..
Sắp xếp phân nhóm và thực hiện các phép toán( tổng, max, min, trung bình cộng, đếm..) trên mỗi nhóm.
Báo biểu(Report)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
85
Báo biểu(Report)
Ví dụ 1: Để in danh sách báo cho các thí sinh thi tuyển sinh vào các trường TC, CĐ, ĐH thì hội đồng tuyển sinh cần các thông tin quản lý như sau:
Bảng DSTHISINH( danh sách thí sinh) gồm các trường:
HOTEN kiểu Text
NSINH kiểu Date Time
SOBD kiểu Long
DONVI kiểu Text
TENDONVI kiểu Text
TENH kiểu Text
TENT kiểu Text
PTHI kiểu Integer
DDTHI kiểu Integer
Bảng DDTHI( địa điểm thi) gồm các trường:
DDTHI kiểu Integer
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
86
Báo biểu(Report)
DONG1 kiểu Text
DONG2 kiểu Text
( địa điểm thi được in trên hai dòng)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Yêu cầu thẻ dự thi in theo mẫu sau:
87
Bộ GD&ĐT Cộng hoà xã hội chủ nghĩa Việt Nam
Trg ĐH GTVT Độc lập- Tự do- Hạnh phúc
Thẻ dự thi Đại học năm 2010
Trường ĐH GTVT báo tin cho
Thí sinh: Trần Văn Tuấn
Ngày sinh: 11-11-1986 Số BD: GHA 1234
Hộ khẩu: Nghĩa Tân- Nghĩa Hưng- Nam Định
Đơn vị ĐKDT: 05 PTTH Nghĩa Hưng B
Đúng 7h 45 phút ngày 4-7-2010 có mặt tại PTHI 2
Địa điểm: Trường TH Lê Quý Đôn
Cuối đường Mạc Thị Bưởi
Để nghe phổ biến qui chế thi và lịch thi
HĐ Tuyển sinh
Trường ĐH GTVT
Báo biểu(Report)
ảnh
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
88
Tạo truy vấn ĐS IN THE từ hai bảng trên. Dùng trường DDTHI để tạo liên kết giữa hai bảng. Đưa vào truy vấn tất cả các trường của hai bảng trừ trường DDTHI.
Báo biểu(Report)
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Tạo báo biểu IN THE DU THI lấy nguồn dữ liệu từ truy vấn DS IN THE. Báo biểu gồm các nhãn và các hộp văn bản buộc vào các trường của truy vấn nguồn. Ngoài ra có một hình chữ nhật để biểu thị khung ảnh. Báo biểu chỉ có một thành phần là thân báo biểu.
Để giải quyết vấn đề này ta làm như sau:
89
Bộ GD&ĐT Cộng hoà xã hội chủ nghĩa Việt Nam
Trg ĐH GTVT Độc lập- Tự do- Hạnh phúc
Thẻ dự thi Đại học năm 2010
Trường ĐH GTVT báo tin cho
Thí sinh:
Ngày sinh: Số BD:
Hộ khẩu: Nghĩa Tân- Nghĩa Hưng- Nam Định
Đơn vị ĐKDT:
Đúng 7h 45 phút ngày 4-7-2010 có mặt tại PTHI:
Địa điểm:
Để nghe phổ biến qui chế thi và lịch thi
HĐ Tuyển sinh
Trường ĐH GTVT
Báo biểu(Report)
ảnh
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
HOTEN
NSINH
SOBD
DONVI
PTHI
DONG1
DONG2
90
Giáo viên: Vũ Văn Chiến -Tin học Sao Mai- Nghĩa Tân- Nghĩa Hưng- Nam Định. Đt: 0127.704.6864
Ví dụ 2:Để thống kê điểm môn Toán theo tổ từ bảng HOC_SINH trong cơ sở dữ liệu quản lý điểm ta làm như sau.
Để tạo nhanh báo cáo trên ta :
Dùng thuật sĩ tạo báo cáo;
Sửa đổi thiết kế báo cáo được tạo ra ở bước trên.
Báo biểu(Report)
91
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Vũ Văn Chiến
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)