ườ

ệ ố

ạ ọ ng Đ i h c Nha Trang Tr ệ Khoa Công ngh  Thông tin ộ B  môn H  th ng Thông tin

Ọ Ứ

Ụ TIN H C  NG D NG  TRONG KINH TẾ

ủ ễ Nguy n Th y Đoan Trang trangdhnt@gmail.com

2013

1

ổ ờ Phân b  th i gian Tài li u h c t p ọ ậ

 Bài giảng Tin học Ứng dụng trong kinh tế, BM

Hệ thống Thông tin, Đại học Nha Trang, 2013. ệ

Tài li u tham kh o

 webmonhoc.ntu.edu.vn  trangdhnt.tk  Thư viện trường đại học Nha Trang  Các trang web khác trên Internet

22

2013

N i dung

Cơ sở dữ liệu theo mô hình dữ liệu quan hệ

1

Đại số quan hệ

2

Tổ chức cơ sở dữ liệu và thiết kế bảng (Table)

3

Thiết kế truy vấn (Query)

4

Thiết kế biểu mẫu nhập liệu (Form)

5

Thiết kế Báo cáo (Report)

6

33

2013

ơ ả

ệ Các khái ni m c  b n

ờ ạ

ư tên,

Là  nh ng  s   li u  r i  r c,  nh

 D   li u  (data):

ữ ủ

ố ệ ộ ạ c a m t khách hàng.

(database)

ữ ệ ỉ ố ệ ị đ a ch , s  đi n tho i   C  s  d  li u là gì?   ơ ở ữ ệ  Là một sưu tập của những dữ liệu có liên quan. Ví dụ: niên giám điện thoại, danh mục sách, … Các dữ liệu này có thể được lưu trên các thiết bị trữ tin khác nhau như sổ sách, băng đĩa từ, …  Các CSDL có thể có kích thước và độ phức khác

nhau.

 Một CSDL có thể được phát sinh và duy trì bằng

máy hoặc thủ công.

44

2013

ơ ả

ệ Các khái ni m c  b n

H   qu n

là  gì?

tr   CSDL

(DataBase

ị Management System ­ DBMS)  Hệ quản trị cơ sở dữ liệu là một tập những chương trình cho phép người sử dụng tạo ra và duy trì CSDL.

 Hệ QTCSDL là một phần mềm hệ thống cho phép định nghĩa, xây dựng và xử lý dữ liệu.

55

2013

ơ ả

ệ Các khái ni m c  b n

 Định nghĩa: Khai báo “bộ khung” dữ liệu cùng

với các mô tả chi tiết dữ liệu.

 Xây dựng: Lưu giữ dữ liệu lên các thiết bị lưu

trữ.

 Xử lý: truy vấn, cập nhật và phát sinh báo

cáo. ộ

M t  s   h   QTCSDL:  Foxpro,  Access,  SQL,

ệ MySQL, Oracle, DB2… ệ

H  CSDL = CSDL + H  QTCSDL

66

2013

ụ ề M t ví d  v  CSDL

KHACHHANG

VANCHUYEN

MSKH

TÊNKH TP

TP

PVC

HCM HN NT

01 02 03

An Hoà  Bình Trang

HCM HN NT NT

S1 S2 S3 S4

MATHANG

DATTHANG

MSMH

TÊNMH ĐG

MSKH

MSMH

SL

Táo  Cam Chanh

650 500 450

P1 P2 P3

S1 S1 S1 S2 S2 S3 S4

P1 P2 P3 P1 P3 P2 P2

300 200 400 100 300 200 210

77

2013

 Định nghĩa CSDL: chỉ định cấu trúc mỗi “bảng”, bao gồm các phần tử dữ liệu và kiểu dữ liệu tương ứng.

 Xây dựng CSDL: Đưa dữ liệu vào các “bảng” KHACHHANG, VANCHUYEN, MATHANG, DATHANG.

 Xử lý CSDL: Thực hiện những truy vấn và các phép cập nhật, chẳng hạn: “Khách hàng có tên là An đặt những mặt hàng nào”, “Tên những khách hàng đã đặt mặt hàng Cam”, “Tính thành tiền”…

88

2013

ề ặ V n đ  đ t ra:

 Có bao nhiêu bảng, tên gì?  Những bảng nào có quan hệ với nhau  Trong một bảng có bao nhiêu cột

Mục đích là để tránh trùng lắp, dư thừa dữ liệu, dữ liệu thiếu tính nhất quán.

99

(cid:0)

2013

Các khái ni m cệ

ơ b nả

ữ ệ  là  m t  h   hình  th c

Mô  hình  d   li u:

toán h c g m có 2 ph n:  Một hệ thống ký hiệu để mô tả dữ liệu.  Một tập hợp các phép toán thao tác trên

dữ liệu đã cho.

1010

2013

ữ ệ

Các mô hình d  li u

 Mô hình thực thể kết hợp (Entity Relationship

Model)

 Mô hình dữ liệu quan hệ (Relational Data

Model)

 Mô hình dữ liệu mạng (Network Data Model)  Mô hình dữ liệu phân cấp (Hierachical Data

Model)

 Mô hình hướng đối tượng (Object Orient

Model)

1111

2013

ể ế ợ

ữ ệ

Mô hình d  li u th c th ­k t h p

Do P.P.Chen đ  xu t năm 1976 ề Các khái ni m:ệ

 Thực thể (Entity)  Loại thực thể (Entity Type)  Thuộc tính (Entity Attribute)  Khóa (Entity Key)  Mối kết hợp (Entity Relationship)  Số ngôi của mối kết hợp (Degree)  Thuộc tính của mối kết hợp (Attribute)  Bản số (RelationShip Cardinal)

1212

2013

ữ ệ Mô hình d  li u quan h

ấ ế

ơ ở ế ậ

Do E.F.Codd đ  xu t năm 1970 ề Có  c   s   lý  thuy t  v ng  ch c:  khái  ni m  lý  ắ ữ ệ thuy t t p h p trên các quan h .

ợ ệ ượ

Các  khái  ni m:  thu c  tính  (Attribute),  quan  h   ệ c  đ  quan h  (Relation Schema),

(Relation), l b  (Tuple), khóa (Key).

1313

2013

ơ ả

Các khái ni m c  b n MHDLQH

ộ ượ

c đ  quan h  (Relation Schema)

Thu c tính (Attribute) Quan h  (Relation) ệ B  giá tr  (Tuple) ị L ệ ồ Th  hi n c a quan h ủ ể ệ Khóa (Key) Ph  thu c hàm(Functional Dependency) ộ ụ Ràng bu c toàn v n (Integrity ẹ ộ Constraint)

1414

2013

Thu c tính (Attribute)

Thu c tính: ộ

 là một tính chất riêng biệt của một đối tượng.  cần được lưu trữ trong CSDL để phục vụ cho

việc khai thác dữ liệu về đối tượng.

Ví d :ụ

 Loại thực thể MÔN-HỌC có một số thuộc tính

Mãmôn,Tên-môn, Số-Đv-Học-Trình.

 Loại thực thể HỌC-VIÊN có một số thuộc tính Mãkhoa,Mã-học-viên, Tên-học-viên, Ngày- sinh, Quêquán.

1515

2013

ư

Thu c tính (Attribute) Các đ c tr ng c a thu c tính:

ủ  Tên gọi (Name)  Kiểu dữ liệu (Data Type)  Miền giá trị (Domain)

1616

2013

Thu c tính (Attribute)

Tên thu c tính

 Có tính chất gợi nhớ  Đặt đúng quy định của hệ QTCSDL  Không nên đặt quá dài ế

ế

ầ ườ

ượ

ư ng  đ

N u  không  c n  l u  ý  đ n  ng   nghĩa  thì  tên  ữ ằ c  ký  hi u  b ng  các  ch   thu c  tính  th cái A, B, C, D, …, còn X, Y, Z, W,… dùng thay  cho 1 nhóm thu c tính.

1717

2013

Thu c tính (Attribute)

Ki u d  li u (Data Type): M i thu c tính đ u

ể ả

ữ ệ

ộ ấ ị

ữ ệ ể ộ ộ ph i thu c m t ki u d  li u nh t đ nh.  Kiểu văn bản  Kiểu số  Kiểu luận lý  Kiểu ngày giờ

1818

2013

Thu c tính (Attribute)

ộ ố ể

ữ ệ

M t s  ki u d  li u trong SQL Server:

1919

2013

Thu c tính (Attribute)

Mi n giá tr  (Domain): ị

 Mỗi thuộc tính chỉ chọn những giá trị trong

một tập hợp con của kiểu dữ liệu.

 Tập hợp các giá trị mà một thuộc tính A có thể

nhận được gọi là miền gi trị của A

Ký hi u: Dom(A), MGT(A) ệ Giá tr  NULL: ị

 Trong nhiều hệ QTCSDL, người ta đưa thêm vào miền giá trị của các thuộc tính một giá trị đặc biệt gọi là giá trị rỗng (NULL)

2020

2013

Quan h  (Relation)

ượ

c đ nh nghĩa trên:

M t quan h  R

ệ có n ngôi đ ộ  tập các thuộc tính U = {A1, A2,... An}  và một tân từ (quy tắc để xác định mối quan

hệ giữa các thuộc tính Ai) Ký hi u: R (A1, A2, ... An). ệ Ví d :ụ

 KHOA (Mã-khoa, Tên-khoa), là một quan hệ 2

ngôi.

 Tân từ: "Mỗi khoa có một tên gọi và một mã số duy nhất để phân biệt với tất cả các khoa khác của trường".

2121

2013

ị B  giá tr  (Tuple)

M t b  giá tr : ị

ộ ộ  là các thông tin của một đối tượng thuộc quan hệ.  còn được gọi là mẫu tin (Record),dòng (Row) V  m t hình th c, m t b  q là: ộ ộ ứ ề ặ  một vectơ gồm n thành phần  thuộc tập hợp con của tích Đề-các miền giá trị của

các thuộc tính thỏa mãn tân từ của quan hệ:

q = (a1,..., an)

(MGT(A1) x ... x MGT(An))

ị ủ

Ví d :ụ B  giá tr  c a quan h  KHOA: ộ q = (111,CNTT)

2222

2013

ượ

L

c đ  quan h  (Relation Schema)

L

ệ c đ  quan h :

ề ậ ệ

ế

đ n c u trúc t ng quát c a m t quan h ộ ả

ượ  là sự trừu tượng hóa của quan hệ  ở mức độ cấu trúc của một bảng hai chiều. Khi nh c đ n l ế ượ ắ ệ ứ c đ  quan h  t c là đ  c p  ộ ổ ấ ề ậ ớ i quan h  thì đó là m t b ng có

Khi đ  c p t

ộ ị

ụ ể ị ủ

ụ ể ồ

ệ ớ

ấ c u trúc c  th  ho c m t đ nh nghĩa c  th  trên  ộ ượ m t l

c đ  quan h  v i các b  giá tr  c a nó.

2323

2013

ể ệ

ủ Th  hi n c a quan h

ể ệ

Th  hi n (tình tr ng) c a quan h  R ạ

 ký hiệu bởi TR  là tập hợp các bộ giá trị của quan hệ R vào một thời

ệ ẽ

 T i nh ng th i đi m khác nhau thì quan h  s  có

điểm. ữ ạ ữ

ờ ể ệ nh ng th  hi n khác nhau. Ví d : Quan h  MÔN­H C Ọ

2424

2013

Các đ c tính c a quan h

ộ ượ

Trong m t l

c đ  quan h , có th  có nhi u thu c

ồ tính có cùng mi n. ề

ứ ự ủ

ượ

Th  t

c a các thu c tính thu c tính không đ

c

xét đ n.ế

c a  các  b   trong  quan  h n  không  đ

Th   t ứ ự ủ ế

ượ ố

c  xét  đ n,  trong  quan  h   không  có  hai  b   gi ng  nhau.

ị ủ

Giá  tr   c a  m i  thu c  tính  trong  m t  b   có  th   ể ị

ộ ị ỗ

ị ừ

ỗ  mi n giá tr  hay giá tr  r ng (null).

nh n giá tr  t

2525

2013

ủ ượ

Khóa (Key) Siêu khóa c a l

c đ  quan h  Q:

c đ  có ít nh t 1 siêu khóa và có th  có

1 l

 là tập hợp các thuộc tính có thể dùng làm cơ sở để phân biệt 2 bộ khác nhau tùy ý trong 1 quan hệ bất kỳ được định nghĩa trên lược đồ quan hệ Q. ượ ề

ồ nhi u siêu khóa.

Ví d :ụ

 SINHVIEN (MaSV, HoTen, NSinh, DC)  Siêu khóa: {MaSV}, {MaSV, HoTen},

{MaSV,NSinh},

2626

2013

Khóa (Key) Khóa ch  đ nh:

 Trong số những siêu khóa của 1 lược đồ quan hệ Q chọn ra những Siêu khóa “nhỏ nhất” gọi là khóa chỉ định (Khóa nội). ượ

1 l

ể c đ  có ít nh t 1 khóa ch  đ nh và có th   ề

ấ ỉ

có nhi u khóa ch  đ nh.

Ví d :ụ

 SINHVIEN (MaSV, HoTen, NSinh, DC) Khóa chỉ định: {MaSV}

2727

2013

Khóa (Key)

Khóa chính (Primary Key):

 Trong trường hợp lược đồ quan hệ Q có nhiều

khóa chỉ định.

 Khi cài đặt trên 1 hệ QTCSDL:

• user chọn 1 khóa chỉ định làm khóa chính • những khóa còn lại gọi là Khóa tương đương.

Chú ý:

 Thuộc tính có tham gia vào 1 khóa gọi là thuộc tính khóa, ngược lại – thuộc tính không khóa.

 Thuộc tính khóa không chứa giá trị NULL  Giá trị khóa không được phép trùng lặp (ràng

2828

2013

buộc về khoá).

Khóa (Key)

 Khóa ngo i (Foreign Key):  Giả sử có 2 quan hệ R, S.  Một tập thuộc tính K của R được gọi là khóa ngoại

của R nếu K là khóa nội (khóa chính) của S.

 Ví d :ụ

 Mã-khoa trong LỚP-HỌC là khóa ngoại vì nó là

khóa nội của quan hệ KHOA.

 Mã-lớp trong HỌC-VIÊN là khóa ngoại vì nó là

khóa nội của quan hệ LỚP-HỌC

 TP là khoá ngoại của KHACHHANG tham chiếu

đến VANCHUYEN

 KHACHHANG(MSKH, TÊNKH, TP)

2929

2013

ạ Khóa ngo i ­ Chú ý:

 Giá trị tại cột khóa ngoại có thể lấy giá trị từ bảng mà cột đó làm khóa chính hoặc bằng giá trị trống (null).

 Trong 1 lược đồ quan hệ, một thuộc tính có thể vừa tham gia vào khoá chính, vừa tham gia vào khóa ngoại.

 Khoá ngoại có thể tham chiếu đến khóa chính của cùng một lược đồ quan hệ. Ví dụ: NHANVIEN(MaNV, HoTen, MaNguoiPhuTrach)

 Có thể có nhiều khóa ngoại tham chiếu đến

cùng một khóa chính.

3030

2013

ữ ệ

ế

Liên k t các b ng d  li u

ế

ữ ệ

ộ ỹ

 Liên k t các b ng d  li u là m t k  thu t trong thi ả ượ

ữ ả

ế

ế ế t k   ớ ế ố CSDL quan h . Chúng là m i liên k t gi a 2 b ng v i  ụ ể ả ướ c  đ   đ m  b o  đ nhau  theo  thi c  m c  ụ ư đích l u tr  d  li u cho  ng d ng. ế ồ ạ

t  k   cho  tr ứ ể

i 2 ki u liên k t:

ả ệ ế ữ ữ ệ  Trong Access t n t  liên kết 1-1  liên kết 1-n (một-nhiều)

3131

2013

ế Liên k t 1­1

ỗ ả

ế ế ớ

ấ ớ

 Liên k t 1 – 1:  m i b n ghi c a b ng này s  liên  ả ủ ộ ả i m t b n ghi c a b ng kia và

k t v i duy nh t t i; ng

ượ ạ c l

ế

 Ví d  liên k t 1­1:

3232

2013

ế Liên k t 1­1

ả ữ ệ

ư

Mô t

d  li u 2 b ng này nh  sau:

3333

2013

ệ Các phép toán c p nh t trên quan h   Có 3 phép c p nh t c  b n trên quan h : thêm,  ậ ơ ả

xoá, s a.ử  Phép thêm (INSERT)  Phép xóa (DELETE)  Phép sửa (UPDATE) ử ụ ỗ

ầ ị

M i khi s  d ng các phép toán này, c n đ m b o  ràng các ràng bu c toàn v n không b  vi ph m.

3434

2013

ế Liên k t 1­n

 Liên k t 1­n

c

ề ế ớ

ả ủ ề

ả ẽ

ế ộ ỗ ả ườ

ủ ế ẽ ng c a b ng 1 s  có th  liên k t  ả ớ ượ v i m t ho c nhi u b n ghi c a b ng nhi u (n). Ng ả ạ i duy  i, m i b n ghi c a b ng nhi u s  liên k t t l ấ nh t 1 tr ụ

ỗ ườ : m i tr ề ặ ủ ng c a b ng 1. ế

ủ  Ví d  liên k t 1­n:

3535

2013

ế Liên k t 1­n

 Có th  tham kh o m i cha có th  có nhi u con qua 2

ể b ng sau:

3636

2013

ệ Các phép toán c p nh t trên quan h   Có 3 phép c p nh t c  b n trên quan h : thêm,  ậ ơ ả

xoá, s a.ử  Phép thêm (INSERT)  Phép xóa (DELETE)  Phép sửa (UPDATE) ử ụ ỗ

ầ ị

M i khi s  d ng các phép toán này, c n đ m b o  ràng các ràng bu c toàn v n không b  vi ph m.

3737

2013

Chú ý khi cài đ tặ

ườ ử ụ

ả i s  d ng ph i

! Các h  QTCSDL yêu c u ng

khai báo:

ữ ệ

không đ

­ khoá  chính,  bu c  ph i  nh p  d   li u  vào  và  ả ộ c trùng nhau. ả ồ ạ

ượ ­ khóa ngo i (ph i t n t ạ

ị ớ

­ Khóa  ngo i  có  th   trùng  tên  v i  khóa  chính  ả

ữ ệ

ư

i trong b ng mà nó làm  ả khoá chính và ph i cùng mi n giá tr  v i thu c  tính khoá chính đó) ể nh ng ki u d  li u ph i gi ng nhau.

3838

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

Khái ni m ràng bu c toàn v n (RBTV) ộ

 Các phép cập nhật trên CSDL không nên được thực hiện một cách tuỳ tiện, có thể đưa CSDL đến một tình trạng “xấu”, không còn phản ánh đúng thế giới thực mà nó đại diện.

 Các phép cập nhật trên CSDL phải tuân thủ theo một số qui tắc, ràng buộc nhất định. Các quy tắc, ràng buộc này được gọi là Ràng buộc toàn vẹn (Intergrity constraints)

 Ví dụ: Mức lương nhân viên không vượt quá

mức lương trưởng phòng

3939

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

Xu t x  RBTV: ấ ứ

 Các quy tắc, quy luật, luật… trong quản lý  Bản thân mô hình dữ liệu

4040

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n  Các đ c tr ng c a RBTV ư ặ  Nội dung  Bối cảnh  Bảng tầm ảnh hưởng

4141

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

N i dung:

ộ  Nội dung của RBTV có thể được phát biểu bằng ngôn ngữ tự nhiên hoặc một ngôn ngữ hình thức (Phép tính quan hệ, Đại số quan hệ, mã giả, …)

 Ngôn ngữ tự nhiên: Dễ hiểu nhưng không chặt

chẽ, logic.

 Ngôn ngữ hình thức: Chặt chẽ, cô đọng nhưng

đôi lúc khó hiểu.

 Ví dụ: Đơn giá của một mặt hàng phải là số dương  Điều kiện trên có thể phát biểu lại bằng ngôn ngữ hình

thức như sau:

4242

2013

 (cid:0)

p (cid:0)

MATHANG, p.ĐG > 0

ẹ (Integrity Constraint)

Ràng bu c toàn v n

B i c nh ố ả  Bối cảnh của một RBTV là tập các quan hệ mà khi thực hiện cập nhật có khả năng làm cho RBTV đó bị vi phạm.

4343

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

ầ ả

ưở

B ng t m  nh h

ng

Ri Thêm Xóa S a ử

Quan h  1 ệ + + +

Quan h  n ệ ­ ­ +A(*)

ể ạ

ấ ấ ạ

4444

ử ộ  D u + : Có th  gây nên vi ph m RBTV  D u ­  : Không th  gây ra vi ph m RBTV ể  (*): gây nên vi ph m RBTV khi s a trên thu c tính A. ạ

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

Phân lo i RBTV: Có 2 nhóm RBTV:

 Nhóm RBTV trên một Lược đồ quan hệ  Nhóm RBTV trên nhiều Lược đồ quan hệ

4545

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

RBTV mi n giá tr  :  ề ị

ạ ị Ràng bu c lo i này qui đ nh  ể

ậ . các giá tr  mà m t thu c tính có th  nh n

Ví d :ụ

 DOM(NAM) = {1, 2, 3, 4}  DOM(XEPLOAI) = {‘GIOI’, ‘KHA’, ‘TRUNGBINH’, ‘YEU’}

4646

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

ộ ụ

ặ ặ

. RBTV liên b  ­ ộ ràng bu c v  khoá ự ồ ạ i  : S  t n t ộ ự ồ ạ ộ ủ ề ộ i  c a  m t  ho c  nhi u  b   ph   thu c  vào  s   t n  t cùng quan hệ. ộ ề ộ ủ c a m t ho c nhi u b  khác trong  Ví d :ụ

SINHVIEN: t1 (cid:0)

t1[MASV] (cid:0)

t1, t2 (cid:0)

t2 (cid:0)

t2[MASV]

 SINHVIEN(MASV, HOTENSV, GIOITINH, NAMSINH)  R1: “Hai bộ khác nhau sẽ khác nhau tại giá trị khóa”  (cid:0)  Bảng tầm ảnh hưởng:

R1 Thêm Xóa S aử

+ MASV

4747

SINHVIEN + ­

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

Chú ý:

 Ràng buộc về khóa (khoá chính) là một trường hợp đặc biệt và khá phổ biến của RBTV liên bộ.  Ràng buộc về khóa (key constraint): 2 bộ khác nhau trong cùng một quan hệ phải có giá trị tại khoá khác nhau.

4848

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

ữ Là  ràng  bu c  gi a  các  thu c  tính

 RBTV  liên  thu c  tính:  ệ trong cùng m t quan h .

 Ví d :  ụ

 BIENLAI(MAKH, MALH, MAHV, SOBL, DIEM, KETQUA,

XEPLOAI, TIENNOP)

 R2: Với mọi ghi danh, kết quả cuối khóa là “đậu” nếu điểm từ 5 trở lên, ngược lại là “không đậu” (ràng buộc giữa KETQUA và DIEM) BIENLAI, (t[DIEM] (cid:0)

 (cid:0) 5 (cid:0) t[KETQUA] = “đậu”) (cid:0) (t[DIEM] < 5 (cid:0) t (cid:0)

t[KETQUA] = “không đậu”)

R2

Thêm

Xóa

S aử

+DIEM, KETQUA

­

 Bảng tầm ảnh hưởng:

(*) ở thời điểm thêm một bộ vào BIENLAI, giá trị bộ đó tại DIEM và KETQUA đều trống.

4949

BIENLAI ­(*)

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

Ví d :ụ  KHOAHOC(MAKH, TENKH, BD, KT)

KHOAHOC, t[KT] – t[BD] (cid:0)

t (cid:0)

 R3: Mỗi khóa học kéo dài ít nhất là 3 tháng.  (cid:0) 90 (ngày)  Bảng tầm ảnh hưởng:

R3 Thêm Xóa S aử

+

+KT, BD

KHOAHOC

5050

­

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

ràng bu c khoá ngo i:

RBTV tham chi u ­ ế ộ

ộ ế

ị ủ ộ ả

i tr

ạ  Giá  ủ ế tr   c a  m t  b   tham  chi u  đ n    khoá  chính  c a  ả ồ ạ ướ   ị m t b ng khác thì tr  khoá chính ph i t n t c.

 Ví d : ụ

 R4: Mọi đơn đặt hàng phải là đặt những mặt hàng trong danh mục

các mặt hàng của công ty.

t (cid:0) s (cid:0) DATHANG, (cid:0)

MATHANG: s[MSMH] = t[MSMH]) MATHANG[MSMH])

R4

Thêm

Xóa

S aử

DATHANG

­

 (cid:0)  (viết tắt: DATHANG[MSMH] (cid:0)  Bảng tầm ảnh hưởng:  R4Thêm Xóa Sửa DATHANG+-+MSMHMATHANG-++MSMH

MATHANG

+

+ +MSMH

5151

­ +MSMH

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

Chú ý:

 Trong 1 lược đồ quan hệ, một thuộc tính có thể vừa tham gia vào khoá chính, vừa tham gia vào khóa ngoại.

 Khoá ngoại có thể tham chiếu đến khóa chính

của cùng một lược đồ quan hệ.

5252

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

? Xác đ nh khoá ngo i cho các b ng trong csdl trong bài  ế

ả ế

ẽ th c hành (ch  rõ tham chi u đ n b ng nào ­ v )

??Thêm vào b ng HANGHOA (hàng hóa)  có kh  năng vi

ph m RBTV không?

ở ả  b ng LOAIHH (lo i hàng hóa)? ả

?? Xoá 1 dòng  ???S a trong b ng LOAIHH?

5353

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

ế

ạ !!! Ph i khai báo khoá ngo i (ràng bu c tham chi u)

ể ệ

n u h  QTCSDL cho phép đ  h  QTCSDL t ki m tra.

ố ế

V i  h   QTCSDL  Access  ta  khai  báo  m i  k t

ế ể ớ ợ

:

h p (Relationship)

5454

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

ậ ạ

ố ớ ể ­ Đ  tránh nh p sai, đ i v i các thu c tính khóa  ạ ngo i,  khi  t o  c u  trúc  cho  Table  ta  khai  báo  Lookup:

5555

2013

ẹ (Integrity Constraint)

Ràng bu c toàn v n

ơ

ư

?  Mu n  thêm  m t  hóa  đ n  bán  cho  m t  khách  ả hàng  m i  (ch a  có  trong  b ng  khách  hàng)  ph i  làm sao?

ứ ự

??Hãy  đ   xu t  th   t ề

nh p  cho  các  b ng  trong

ứ ự

ữ ệ

ấ bài th c hành? ậ

???  Nh n  xét  v   th   t

nh p  d   li u  cho  các

b ng?ả

5656

2013

Bài t pậ

TP HCM

TP HCM

ế ế ế

ế

t thông tin các khách hàng  t tên các khách hàng  t thông tin các khách hàng không  ố ủ ấ ả t tên và thành ph  c a t

TP HCM t c  các khách

ế

ơ

ơ

t tên và đ n giá c a các m t hàng có đ n giá

1. Cho bi 2. Cho bi 3. Cho bi 4. Hãy cho bi hàng. 5. Cho bi ơ ớ l n h n 450 ố ế 6. Hãy cho bi t các thành ph  có quan h  kinh doanh  ượ c ch a nh ng dòng trùng nhau) (không đ

5757

2013

Bài t pậ

t  mã  s   khách  hàng  đ t  m t  hàng  có

ế

ế 8.  Cho  bi ố mã s  là P1. 9.  Cho  bi

t  mã  s   và  tên  khách  hàng  đ t  m t

hàng có mã s  là P1.

10.  Cho  bi

t  mã  s   và  tên  khách  hàng  đ t  m t

ế hàng có tên là Táo

ế

11. Cho bi

ơ

nh ng m t hàng có đ n giá >300 ặ

ế

t tên và thành ph  các khách hàng đ t  ặ t các khách hàng v a đ t m t hàng  ặ

12. Cho bi ừ

P1 v a đ t m t hàng P2

5858

2013

Ph n 2. H  QTCSDL Microsoft Access

ơ ở ữ ệ

ế ế ả

1. T  ch c c  s  d  li u và thi

t k  b ng (Table)

ế ế

2. Thi

ấ t k  truy v n (Query)

ế ế ể

3. Thi

t k  bi u m u nh p li u (Form)

ế ế

4. Thi

t k  Báo cáo (Report).

5959

2013

ơ ả

Các thao tác c  b n

i thi u Access;

ở ộ

ạ ệ

ở ệ

ồ ạ i;

 Gi ệ  Cách kh i đ ng;  T o t p Access m i; ớ  M  t p Access đã t n t  Thoát kh i Access.

6060

2013

ở ộ

Cách kh i đ ng  T  Start Screen (Windows 8)

6161

2013

ạ ệ

ớ T o t p Access m i

6262

2013

ạ ệ

ớ T o t p Access m i

Chọn n i l u t

ơ ư ập tin c  sơ ở dữ

liệu

Tên tập tin c  sơ ở dữ liệu

6363

2013

Gi

ệ i thi u

ở ộ

 T p Access có ph n m  r ng *.MDB   Các thành ph n chính trên m t t p: ứ

ộ ệ ả

ơ

ơ

ữ ệ

ữ ệ ấ

ượ

c

ế ế t k ;

ơ

ơ

ế ế t k ;

ượ ụ ự

ơ

ư ệ

ươ

ng

ứ ụ ự

­ Tables: n i ch a toàn b  các b ng d  li u; ộ ­ Queries: n i ch a toàn b  các truy v n d  li u đã đ thi ẫ ­ Forms: n i ch a các m u giao di n ph n m m; c thi ­ Reports: n i ch a các m u báo cáo đã đ ­ Macro: n i ch a các Macro l nh ph c v  d  án; ơ ­  Modules:  n i  ch a  các  khai  báo,  các  th   vi n  ch ụ trình con ph c v  d  án.

6464

2013

2.1. C uấ  trúc logic c aủ  m tộ  Table

tế  kế Table – Chế độ Design view

2.2. Thi 2.3. Chế độ Datasheet

tế  l pậ  quan hệ gi aữ  các Table

2.4. Thi 2.5. Nh pậ  dữ li uệ 2.6. M tộ  số thao tác xử lý dữ li uệ  trên b ngả 2.7. Qui trình xây d ngự  CSDL Access 2.8. Sao chép, xóa, đ iổ  tên Table

6565

2013

C u trúc logic c a m t Table

ấ ủ

ữ ệ

 B ng d  li u (Tables) là m t ph n quan tr ng nh t c a  ộ

ầ ứ

ọ ữ ữ ệ CSDL, là n i l u tr  d  li u cho  ng d ng.

ơ ư ữ ệ

 M t b ng d  li u trên Access bao g m các thành ph n:

ộ ả  Tên bảng  các trường  dữ liệu  trường khoá  tập hợp các thuộc tính cần thiết cho mỗi trường dữ liệu  tập hợp các bản ghi.

6666

2013

ữ ệ

Datasheet (nh p, xem, s a d  li u):

Tên bảng

Mỗi cột là một trường (Field)

Mỗi dòng là một bản ghi (Record)

Bản ghi đặc biệt cuối cùng gọi là EOF

6767

2013

ế ế ấ

Design view (đang thi

t k  c u trúc):

Trường khóa (Primary key)

6868

Tập hợp các thuộc tính của trường dữ liệu

2013

Tên b ngả

ườ

ượ

ng  đ

ặ c  đ t

ự ặ

đ c

 M i  b ng  có  m t  tên  g i.  Tên  b ng  th ả ấ sau khi t o xong c u trúc c a b ng. ử ụ ữ ế

 Không  nên  s   d ng  d u  cách  (Space),  các  ký  t ấ ệ t có d u trong tên b ng.

t ho c ch  ti ng Vi

bi

6969

2013

ườ

ữ ệ ng d  li u (Field) ủ ữ ệ

ng  ng  v i  m t

ứ ng d  li u hay còn g i là thu c tính.

ả ọ ộ

M i  c t  d   li u  c a  b ng  s   t ẽ ươ ộ ọ

ữ ệ

Tr ỗ ộ ườ tr M i  tr ỗ ườ

ậ ụ

ợ ư

ữ ệ ng  d   li u  có  m t  tên  g i  và  t p  h p  các  ữ ệ ng d  li u đó ví d  nh : ki u  ạ

ộ ữ ệ

thu c tính miêu t d  li u, mi n giá tr , đ nh d ng, …

ử ụ

ữ ế

ả ườ  tr ị ị Không nên s  d ng d u cách (Space), các ký t ấ t có d u trong tên

t ho c ch  ti ng Vi

ặ đ c bi ườ tr

ệ ng.

7070

2013

ữ ệ

Ki u d  li u ể

ư

ể ữ ệ Ki u d  li u

Đ  l nộ ớ

TT

L u tr ..

ụ ể

ố ố ự

Number

Tu  thu c ki u c  th

1

S : s  th c, s  nguyên theo nhi u  ki uể

ự ộ

ượ

Autonumber

4 bytes

S  nguyên t

đ ng đ

ố c đánh s .

2

Text

tu  thu c đ  dài xâu

Xâu ký tự

3

Yes/No

1 byte

Ki u logic

4

ư

Date/Time

8 bytes

L u tr  ngày, gi

5

ữ ữ ệ

ề ệ

ư

Currentcy

Sing

L u tr  d  li u kèm ký hi u ti n t

6

7 Memo

ị ộ tu  thu c giá tr

ki u ghi nh

ư

ế

Hyperlink

L u tr  các siêu liên k t (hyperlink)

8

ộ tu  thu c đ  dài xâu

ữ ệ

OLE

ộ tu  thu c d  li u

9

ả Âm thanh, hình  nh, đ  ho , …  (Objects)

7171

2013

B n ghi (Record)

ượ

M i  dòng  d   li u  c a  b ng  đ ữ ệ

c  g i  là  1  b n

ỗ ghi.

ỗ ả

b n ghi nào, ng

ườ i

ỏ ả dùng có th  s a đ

M i b ng có m t con tr  b n ghi.  ỏ ả ộ Con tr  b n ghi đang n m  ằ ở ả ả ữ ệ ể ử c d  li u b n ghi đó.  ố ả

ượ ắ

ỗ ả

ệ t, b n ghi tr ng cu i cùng c a m i b ng  ọ

Đ c bi ặ ượ

c g i EOF.

đ

7272

2013

ế ế

ế ộ

Thi

t k  Table – Ch  đ  Design view

ở ộ

ướ

ế ế ấ

 B c 1: Kh i đ ng trình thi

t k  c u trúc b ng

ế ộ  ch  đ

Design View:

Tables/New/Design View OK

Ho c nh n

7373

2013

ế ế

ế ộ

Thi

t k  Table – Ch  đ  Design view

ế ế ấ

 H p tho i thi

ộ ả t k  c u trúc m t b ng xu t hi n:

7474

2013

ế ế

ế ộ

Thi

t k  Table – Ch  đ  Design view

ườ

ữ ệ

 B c 2:  ướ

ng d  li u:

Đ nh nghĩa các tr ườ

ữ ệ

ng d  li u ữ ệ ặ

(có ho c không)  ộ

ườ

ế

ng (n u

+ Filed Name: Gõ tên tr ể ọ + Data Type: Ch n ki u d  li u  + Description: mô t + Field Propperties: khai báo các thu c tính c a tr c n)ầ

• Khai báo thẻ General. • Nếu là thuộc tính khóa ngoại, khai báo thẻ

Loopkup.

7575

2013

ế ế

ế ộ

Thi

t k  Table – Ch  đ  Design view

Chọn kiểu dữ liệu (hoặc nhấn ký tự đầu)

7676

Gõ tên trường

2013

ế ộ

ế ế

t k  Table – Ch  đ  Design view

Thi  B c 3.  ướ  Chọn các trường muốn thiết lập khoá bằng cách: dùng chuột kết hợp giữ phím Shift đánh dấu đầu dòng các trường muốn thiết lập khoá;

ế ậ ả Thi t l p khóa chính cho b ng:

 Edit | Primary key để thiết lập thuộc tính khoá cho các trường vừa chọn. (hay nhấn nút Primary key trên thanh công cụ) i c u trúc b ng (Ctrl  S) và đ t tên cho b ng

ư ạ ấ ướ ặ ả ả  OK  B c 4. L u l

ứ ấ ả ự ặ ệ ặ Chú ý: Tên b ng không nên ch a d u cách, các ký t đ c bi t khác ho c

7777

ữ ệ ấ ch  Vi t có d u.

2013

Khai báo Field Propperties:

Field size:

 Để thiết lập kích thước dữ liệu. Chỉ áp dụng cho

các trường có kiểu dữ liệu Number và Text.  Đối với các trường kiểu số, Field size cho biết

trường đó nhận giá trị loại số nào.

7878

2013

Field size:

 Để thiết lập kích thước dữ liệu. Chỉ áp dụng cho

các trường có kiểu dữ liệu Number và Text.  Đối với các trường kiểu số, Field size cho biết

trường đó nhận giá trị loại số nào.

 Đối với các trường kiểu Text, thuộc tính này cho biết chiều dài tối đa của xâu ký tự. Ví dụ: Với trường Hoten thì Field size khoảng 30.

7979

2013

TT  1  2  3  4  5  6

ạ ố Lo i s   Byte  Integer  Long Integer  Single  Double  Decimal

Đ  l nộ ớ ố s  nguyên 2 byte ố s  nguyên 4 byte ố s  nguyên 6 byte ố ự s  th c 8 byte ố ự s  th c 12 byte ố ự s  th c 16 byte

8080

2013

 Format

 Để thiết lập định dạng dữ liệu khi hiển thị. Thuộc tính này áp dụng cho hầu hết các kiểu dữ liệu trừ kiểu: Memo, OLE, Yes/No.

 Đối với các trường kiểu số, Field size cho biết trường đó

nhận giá trị loại số nào.

 Đối với các trường kiểu Text, thuộc tính này cho biết

chiều dài tối đa của xâu ký tự.

• Ví dụ1: Với trường Hoten thì Field size khoảng 30. • Ví dụ2: Để định dạng ký tự nhập vào trở thành chữ hoa, ta sử

8181

dụng dấu >.

2013

Input Mark

 Thiết lập mặt nạ nhập dữ liệu cho các trường

(ràng buộc dữ liệu nhập vào). Kiểu này có thể áp dụng cho các loại trường kiểu Text, Number, Datetime, Currency. • Ví dụ1: 00: chỉ cho phép nhập 2 ký tự kiểu số. • Ví dụ2: LL00: chỉ cho phép nhập 2 ký tự kiểu chữ và 2

ký tự kiểu số.

• Ví dụ 3: “KH” 00: 4 ký tự: 2 ký tự đầu là KH, 2 ký tự

sau là 2 con số.

8282

2013

Default Value

 Thiết lập giá trị ngầm định cho trường mỗi khi

thêm mới một bản ghi.

 Ví dụ:

• Mỗi khi thêm một bản ghi mới, ta muốn giá trị trường Số lượng tự động là 1 thì phải thiết lập thuộc tính Default Value của trường này là 1.

8383

2013

Caption

 Thiết lập tiêu đề cột cho trường này khi hiển thị. Tên trường không nên chứa dấu cách và chữ Việt có dấu, nhưng Caption của các trường thì nên gõ bằng tiếng Việt có dấu sao cho dễ đọc và nhận biết. Đặc biệt giá trị thuộc tính Caption nếu có sẽ được sử dụng làm tiêu đề cho các trường tương ứng mỗi khi sử dụng công cụ Form Wizard hay Report Wizard sau này- sẽ rất tiện lợi.

8484

2013

Validation Rule

 Thiết lập điều kiện kiểm tra tính đúng đắn của dữ

liệu khi được nhập vào. • Ví dụ1: trường NgaySinh của học sinh phải nhập vào những ngày >= 1/1/1980 chẳng hạn. Khi đó ở thuộc tính Validation Rule của trường Ngaysinh hãy gõ vào >=#1/1/1980#

• Ví dụ 2: Trường MaMH có chiều dài đúng 4 ký tự, 2 ký

tự đầu là BC ta gõ: LIKE “MH??”

8585

2013

Required

 Để yêu cầu phải nhập dữ liệu cho trường này (nếu thiết lập Yes) khi bắt đầu một bản ghi mới hoặc không nếu thiết lập No.

8686

2013

Khai báo Loopkup:

ườ

 Khai báo cho tr ộ ữ ệ ừ

ể ử ụ ng khóa ngo i (đ  s  d ng Combobox l y  ả

ượ

ế

thu c tính khóa chính c a b ng đ

c liên k t

d  li u t đ n)ế ướ

ườ

 B c 1: M  b ng có tr

ầ ng c n thi

ế ộ

ế ậ ằ

t l p LOOKUP ra (b ng  ọ

ch  đ  Design View b ng cách: ch n tên

ở ả ở HOADON)  ấ b ng, nh n nút Design;

ả ướ

ế ậ

ằ ộ

ườ

 B c 2: Kích ho t trình LookUp Wizard b ng cách: T i c t  ạ ộ t  l p  thu c  tính  LOOKUP  ừ  danh  sách

ầ ng  c n  thi ụ ọ ng  khachID),  ch n  m c  Lookup  Wizard..  t

ườ ả

ạ Data  Type  c a  tr (tr th  xu ng:

8787

2013

Khai báo Loopkup:

ộ ế ậ  Ví  d   v   thi

ụ ề ườ khachID  c a  b ng ng

ườ ủ t  l p  thu c  tính  LOOKUP  ả HOADON  KHACH ủ khachID  c a  b ng ng

8888

cho  tr ả sang  tr ả trong CSDL qu n lý bán hàng:

2013

Khai báo Loopkup

ạ  H p tho i Lookup Wizard xu t  ấ

Lấy dữ liệu từ bảng

8989

ộ hi n:ệ

2013

Khai báo Loopkup

Ch n

ọ ố ấ

ữ ệ ộ

ả b ng  tên  mu n  l y  d   li u  (là  b ng  mà  thu c  tính  này làm khóa chính)

9090

2013

Khai báo Loopkup

ữ ủ  Giá  tr   nh ng  tr ị

ả ọ ng  nào  c a  ị ể c hi n th

ườ ẽ ượ b ng đã ch n s  đ trên danh sách?

ủ ỉ ầ ả ề ng

ể ủ ng

ư ậ ữ ệ ự

9191

 L u  ý: ư  V   nguyên  t c  ch   c n  ườ ư khachID  c a  b ng  đ a  tr khác  vào  danh  sách  Selected  Fields: là đ , tuy nhiên nên đ a  ườ tenkhach đ  thu n  thêm tr ọ ơ ệ ti n  h n  khi  ch n  l a  d   li u  ậ khi nh p sau này.

2013

Khai báo Loopkup

Ẩn cột khachID

9292

2013

ế ộ

Ch  đ  Datasheet

ế ộ

­ Xem table

ch  đ  Datasheet:

9393

(menu View ­> Datasheet view)

2013

ế ộ

Ch  đ  Datasheet

ở ạ ử

­ Tr  l

i c a s  thi

ế ế t k :

9494

(menu View ­> Design View)

2013

ế ậ

Thi

ệ ữ t l p quan h  gi a các Table

ư  B c 1: Tools | Relationship..  B c  2:  Đ a  các  b ng  (Tables)  tham  gia  thi ả

ướ ướ ộ ấ ạ ế ư ế ậ ạ ự ộ ơ

ế ậ ả ọ t l p

ườ ệ ng ch n t t c ) ;

9595

ệ t  l p  quan  h   thông  qua  h p  tho i  Show  Tables  (n u  ch a  th y  h p  tho i  này  dùng  th c  đ n  Relationship | Show table): ầ ­ Ch n b ng c n tham gia thi ọ ấ ả quan h  (th ấ ­ Nh n nút Add (hay D_click) ­ Close

2013

ế ậ

Thi

ệ ữ t l p quan h  gi a các Table

ữ ừ ế ố ệ ạ ự ặ ả ế ế  B c 3:  ướ Th c hi n t o k t n i gi a t ng c p b ng theo thi t k ,

ư

9696

cách làm nh  sau:  Dùng chuột kéo (Drag) trường cần liên kết của bảng này (ví dụ trường hangID của bảng HANG) thả (Drop) lên trường cần liên kết đến của bảng kia (ví dụ trường hangID của bảng HANGBAN). Khi đó hộp thoại Edit Relationships xuất hiện:

2013

ế ậ

ữ ệ

 Thi

ả t l p các thu c tính đ m b o toàn v n d  li u (Enforce

Referential Integrity):

Đồng ý thiết lập các thuộc tính đảm bảo toàn vẹn dữ liệu

đảm bảo toàn vẹn dữ liệu khi cập nhật dữ liệu

đảm bảo toàn vẹn dữ liệu khi xoá dữ liệu

9797

2013

ả ậ ả ẹ ữ ữ ệ ậ ữ ệ  Đ m  b o  toàn  v n  d   li u  khi  c p  nh t  d   li u  gi a  2  b ng  liên

ả quan:  Nếu giá trị trường khoá liên kết ở bảng 1 bị thay đổi, toàn bộ giá trị trường khoá liên kết ở bảng nhiều cũng bị thay đổi theo. ả ữ ệ ữ ệ ữ ẹ ả  Đ m b o toàn v n d  li u khi xóa d  li u gi a 2 b ng liên quan:

9898

ả  Nếu một bản ghi ở bảng có quan hệ 1 bị xoá, toàn bộ các bản ghi có quan hệ với bản ghi hiện tại sẽ được tự động xoá ở bảng có quan hệ nhiều (nếu xoá 1 CHA, toàn bộ các con của cha đó sẽ tự động bị xoá khỏi bảng CON);

2013

ế

H p ộ Relationship Type: cho bi

ệ t ki u quan h

ế ậ

gi a 2 b ng đang thi

t l p:

Kiểu quan hệ

- One – To – One: Kiểu 1-1 - One – To – Many: Kiểu 1-n (1-∞) - Indeterminate: Không xác định được kiểu liên kết

9999

2013

ỳ ườ

ế ướ ượ  Tu  thu c vào ki u khoá c a các tr ể ị  xác đ nh ra đ ủ c ki u liên k t gi a 2 b ng. D i đây là

ng tham gia liên k t mà  ả ế ự ộ ế ượ ị ộ ự Access t ộ ố ể m t s  ki u liên k t đ ữ  đ ng xác đ nh: ể c Access t

Chú ý: - Đóng tất cả các Tables trước khi tạo quan hệ. - Phải thiết lập mối quan hệ trước khi nhập dữ liệu. - 2 trường tham gia kết nối phải cùng kiểu dữ liệu. Nếu không sẽ gặp lỗi sau đây:

100100

TT Bảng A 1 2 Khoá chính Khoá chính Bảng B Khoá chính Khoá ngoại Kiểu liên kết 1-1 1-n

2013

ữ ệ

ậ 2.5. Nh p d  li u

ướ

ế ữ ệ

ể ở ả

c đ  có th  nh p tr c ti p d  li u vào b ng: ấ

ữ ệ ằ

ể ầ

ữ ệ

ả chu t lên tên b ng c n nh p d  li u; ho c ch n b ng c n  ữ ệ ồ nh p d  li u r i nh n nút Open; ệ ự

ở ằ

 B c 2: Th c hi n nh p d  li u vào b ng đang m  b ng bàn  ữ ệ

ự Có 2 b  B c 1: M  b ng đ  nh p d  li u b ng cách: nh n đúp  ướ ầ ậ ộ ậ ướ phím

101101

2013

ộ ố ỗ

ể ả

ữ i có th  x y ra khi nh p d

Chú ý : M t s  l li uệ

ứ  L i th  1: ỗ

ậ ị ươ ớ ể ữ ệ ủ ườ  Lý do: Nh p vào giá tr  không t ng thích v i ki u d  li u c a tr ng đã

ầ ặ ủ ng ki u Numeric mà gõ vào ch  cái; ho c không gõ đ y đ

ườ ữ ể ể các giá tr  ngày, tháng, năm cho tr

ậ ạ ắ ườ ị ế ầ ị ỉ ch  đ nh.  Ví d : tr ụ ườ ị  Kh c ph c: hãy nh p l ụ ng ki u Date/Time,..  ủ i cho đúng, đ  giá tr  các tr ng đã yêu c u đ n

102102

ệ ấ khi không xu t hi n thông báo l ỗ i.

2013

ộ ố ỗ

ể ả i có th  x y ra khi

ữ ệ

Chú ý : M t s  l nh p d  li u

ậ L i th  2:

Lý do: Không nh p giá tr  cho khoá chính.  ị Kh c ph c: ph i nh p đ y đ  giá tr  cho khoá chính. ầ ậ

103103

2013

ộ ố ỗ

ể ả

i có th  x y ra khi nh p

Chú ý : M t s  l ữ ệ d  li u ứ

 L i th  3: ỗ

ị ườ ị ườ ậ  Lý do: Giá tr  tr

ng khoá trùng nhau. Giá tr  tr ị ủ ớ ừ ng khoá v a nh p vào  ả đã trùng v i giá tr  c a m t b n ghi nào đó trên b ng d  li u.

ủ ắ ộ ả ị ườ ữ ệ ừ i giá tr  tr ng khoá khác sao cho v a đúng, đ  và

104104

 Kh c ph c: nh p l ụ ị ậ ạ không b  trùng khoá.

2013

ộ ố ỗ

ể ả i có th  x y ra khi

ữ ệ

Chú ý : M t s  l nh p d  li u ứ

 L i th  4: ỗ

ườ ắ ậ

ỏ ắ ộ ệ li u (nh ng tr

ữ ộ ng b t bu c nh p d   t l p thu c tính Required=Yes) ườ ữ ệ ế ậ c thi ủ ữ ệ ả ữ ụ ườ ả ả ậ ắ ộ  Lý do: B n ghi v a nh p d  li u đã b  tr ng tr ậ ừ ượ ng đ  Kh c ph c: Ph i nh p đ  d  li u cho các tr ậ ữ ng b t bu c ph i nh p d

105105

ắ li u.ệ

2013

ứ  L i th  5: ỗ

ự ệ ẹ ả ả ắ ộ  Lý do: Th c hi n m t thao tác vi ph m các nguyên t c đ m b o toàn v n  ạ

ữ ệ d  li u.  ụ ệ

ả ả ậ ệ ộ i đ

ư ậ ả

 Ví  d :  Nh p  d   li u  trên  m t  b ng  có  quan  h   mà  b n  ghi  đang  nh p  ữ ệ ả ậ ủ ộ ả ế ượ ớ ượ ể c m t b n ghi nào c a b ng có quan h  1  không th  liên k t đ c t ộ v i  nó  (nh p  m t  hàng  bán  mà  mã  hàng  đó  ch a  có  trong  b ng  danh  m c hàng hoá).

ệ ậ ả ị ươ  Kh c ph c: Tìm và nh p cho đúng giá tr  theo b ng quan h  1 t ứ ng  ng.

106106

ớ ụ ắ ể ỗ ẻ ể ọ ụ  Đ  tránh l i này khai báo trong th  loopkup đ  ch n.

2013

a. Xoá b n ghi ọ

ầ ặ

ướ ướ

ả ộ ộ

ạ ữ ệ

ộ ầ

ấ ị

B c 1: Ch n nh ng b n ghi c n xoá.  ấ B c 2: Edit | Delete Record ho c nh n nút Delete Record  ọ ấ trên thanh công c  ho c nh n ph i chu t lên vùng đã ch n,  ể ế ti p theo nh n Delete Record. M t h p tho i xu t hi n đ   ữ ạ b n kh ng đ nh m t l n n a vi c xoá d  li u: - Chọn Yes để đồng ý xoá; - Nhấn No để huỷ lệnh xoá.

Chú ý:

ữ ệ

D  li u đã đ ng ý xoá s  không th  ph c h i l

ồ ạ ượ i đ

c.

107107

2013

ộ ố

ữ ệ

M t s  thao tác x  lý d  li u trên b ng

ế

ữ ệ ặ

ườ

ng (c t) mu n

ế

ắ ướ ắ ướ

ế

S p x p d  li u B c 1: Đ t con tr  lên tr s p x p; B c 2: Nh n nút l nh s p x p trên thanh  công c : ụ

ầ ầ

ế ế

ắ ắ

­ s p x p tăng d n : ­ s p x p gi m d n :

108108

2013

ộ ố

ữ ệ

2.6. M t s  thao tác x  lý d  li u trên  b ngả c. L c d  li u ữ ệ ọ

ụ ề ữ ệ

ế ệ ố ế ả ủ ụ ữ ệ ọ ơ ế ị ưở Ph  n  8­3. C  quan quy t đ nh th

ộ ắ ị ưở ộ ả ng trên b ng cùng danh sách t

ộ ơ ị ộ ưở ể ể ậ ỗ ng m i  ấ ả t c   ng cho

109109

ớ ấ ậ ị M t ví d  v  tính hi u qu  c a vi c l c d  li u: S p đ n ngày Qu c t ch  em 100,000đ. Đã có c t th cán b  c  quan, làm sao đ  có th  nh p vào giá tr  c t th ch  em (không nh p cho nam gi i) là nhanh nh t.

2013

ộ ố

ữ ệ

2.6. M t s  thao tác x  lý d  li u trên  b ngả ấ

ầ ọ ữ ệ ườ ộ ả ộ ấ Nh n ph i chu t lên tr ng c n l c d  li u. M t menu xu t

ườ ọ ề ấ Thi t l p đi u ki n l c trên tr ng đang ch n. Có r t nhi u

 B c 1:  ướ hi n:ệ  B c 2:  ướ ể

ệ ọ ệ ọ ả ị ủ ả

ế ọ ế ậ ị ố ọ ọ ụ

ữ ệ ề ề ả

ụ ệ

ề ề cách đ  xác đ nh đi u ki n l c: ữ ­  N u  mu n  l c  nh ng  b n  ghi  có  cùng  giá  tr   c a  b n  ghi  đang  ch n hãy ch n m c:  ả ố ọ ­ Mu n l c nh ng b n ghi tho  mãn đi u ki n nào đó, hãy gõ đi u  ki n lên m c:  Ví d :  ụ >=10; <>3; Null; Nam;

ế ộ ặ ọ ữ ệ ộ ả ả  Mu n  hu   ch   đ   đ t  l c,  nh n  ph i  chu t  lên  b ng  d   li u  và  ấ

110110

ố ọ ụ ỷ ch n m c:

2013

ừ ấ ả

2.7. Qui trình xây d ng CSDL  Access ầ ượ L n l

ữ ệ ả ế ấ ầ ữ ệ ỗ ả t xây d ng c u trúc t ng b ng d  li u trong CSDL.  i quy t các công

 B c 1 :  ướ ớ ệ

ườ ủ ng c a b ng

ả ườ ữ ệ ể ng c t ở ộ Field Name;  c t  ở ộ Data Type;

ọ ế ậ ế ậ ộ ố ườ ế ầ ng  nh   : ư Field  Size,

111111

ặ ả ự V i m i b ng d  li u khi khai báo c u trúc c n gi vi c sau : ­ Khai báo danh sách các tr ợ ­ Ch n ki u d  li u phù h p cho các tr t l p khoá chính cho b ng; ­ Thi t  cho  các  tr t  l p  m t  s   khác  c n  thi ­  Thi Format, Input Mark, Requried, Validate Rule, … ­ Đ t tên b ng

2013

Qui trình xây d ng CSDL Access

ế ậ

ườ

 B c 2 :  ướ

t thi

t l p thu c tính LOOKUP cho các tr

ng

L n l

ố ế ợ

 B c 3 :  ướ  B c 4 :  ướ

ữ Thi Th c hi n nh p d  li u cho các b ng n u c n.

ầ ượ làm khóa ngo i.ạ ế ậ ự ể

ườ ộ

(cid:0)

ệ ế ả ứ ậ

t l p m i k t h p gi a các b ng.  ữ ệ ả ệ ị ậ ý:  Không  th   nh p  m t  giá  tr   vào  tr ồ ạ ở ả quan  h   n u  nó  không  t n  t i  nh p b ng không ch a khóa ngo i tr

ế ầ Chú  ả ạ ủ ng  khóa  ngo i  c a  b ng   ph i ả   b ng  nó  làm  khóa  chính    ạ ướ   c.

112112

2013

2.8. Sao chép, xóa, đ i tên Table

 Sao chép Table :

 Chọn Table muốn chép, Ctrl C, Ctrl V.

 Xóa Table :

 Đ i tên Table :

 Chọn Table muốn xóa, nhấp phím Delete. ổ  Chọn Table muốn xóa, click chuột phải Rename.

113113

2013

ươ

ộ ng cán b

ậ ộ ơ

ư

ự Bài t p 1. Xây d ng CSDL Qu n lý l ấ m t c  quan có c u trúc nh  sau :

ế ế ấ

Yêu c u :ầ  Thi ộ ệ

ườ

ng;  khoá chính;

 Thi

ố ế ợ t l p m i k t h p cùng  ả

t k  c u trúc các b ng  ữ ợ m t cách phù h p : ki u d   li u các tr ộ thu c tính Lookup và các  ộ thu c tính khác;  ế ậ ộ ữ ệ

các thu c tính đ m b o toàn  ệ v n d  li u cho các quan h ;

ư

 Nh p d  li u nh  sau : ữ ệ

+ 4 phòng ban; + 5 loại chức vụ; + 20 hồ sơ cán bộ.

114114

2013

ư ệ

ư

ự Bài t p 2. Xây d ng CSDL Qu n lý sách m t th  vi n có  c u trúc nh  sau :

ế ế ấ

ữ ệ

ườ

t k  c u trúc các b ng m t cách phù h p : ki u d  li u các tr

ng;

Yêu c u :ầ  Thi

khoá chính; thu c tính Lookup và các thu c tính khác;

ộ ố ế ợ ư

 Thi ế ậ t l p m i k t h p.   Nh p d  li u nh  sau : ữ ệ ậ + 5 tác giả; + 3 nhà xuất bản; + 3 danh mục sách; + 20 đầu sách.

115115

2013

ự ộ ử

ư

Bài t p 3. Xây d ng CSDL Qu n lý vi c bán  hàng cho m t c a hàng có c u trúc nh  sau :

ữ ệ

ườ

t k  c u trúc các b ng m t cách phù h p : ki u d  li u các tr

ng; khoá chính;

Yêu c u :ầ  Thi

ộ ộ

ữ ệ

thu c tính Lookup và các thu c tính khác. ả

ệ t l p quan h  cùng các thu c tính đ m b o toàn v n d  li u cho các quan h .

ệ ư

ế ế ấ ộ  Thi ế ậ  Nh p d  li u nh  sau : ữ ệ ậ + 5 khách hàng; + 15 danh mục hàng hoá có bán; + lập 10 hoá đơn bán hàng; + với 25 lượt hàng hoá được bán ra.

116116

2013

ể ư

ườ

ậ Bài t p 4. Xây d ng CSDL Qu n lý đi m h c  sinh tr

ọ ng ph  thông có c u trúc nh  sau :

ế

ế ấ ộ

ể ữ ệ

Yêu c u :ầ  Thi ả ợ ườ ng;  khoá;

ỗ li u  m i

117117

ả ả t  k   c u  trúc  các  b ng  m t  cách  phù  h p:  ki u  d   li u  các  ộ tr thu c  tính  Lookup  và  các  thu c tính khác; ệ ế ậ t l p quan h . ­ Thi ệ ữ ậ ­  Nh p  d   b ng 10 b n ghi.

2013

ự ả

Bài t p 5. Xây d ng CSDL Qu n lý vi c nh p và bán  hàng g m các b ng sau :

LOAIHH(MaLoaiHH, TenLoaiHH)

ướ ằ ướ ằ

ề ứ

ạ ạ

- NHANVIEN(MaNV, HoTenNV, GioiTinh, DienThoai, Luong) - KHACHHANG(MaKH, HoKH, TenKH, DiaChi, DienThoai) - HOADONBAN(SoHDB, NgayBan, MaKH, MaNV) - - NHACUNGCAP(MaNhaCC, TenNhaCC) - HANGHOA(MaMH, TenMH, DVT, DonGiaBan, MaLoaiHH, MaNhaCC) - HOADONNHAP(SoHDN, NgayNhap, MaNV) - CTHDB(SoHDB, MaMH, SoLuong) - CTHDN(SoHDN, MaMH, SoLuong, DonGia) Ghi chú: - Khóa chính: g ch d - Khóa ngo i: g ch d

i b ng nét li n. i b ng nét đ t.

118118

2013

ế ế ấ

ữ ệ

ườ

Yêu c u :ầ  Thi

t k  c u trúc các b ng m t cách phù h p: ki u d  li u các tr

ng;

khoá chính; thu c tính Lookup và các thu c tính khác;

ớ ố ượ

ư

 Thi  Hãy nh p d  li u cho các b ng v i s  l

ng b n ghi nh  sau:

ộ ố ế ợ ế ậ t l p m i k t h p.  ữ ệ ậ  Nhân viên: 5  Khách hàng: 5  Loại hàng hóa: 5  Nhà cung cấp: 5  Hàng hóa: 7  Hóa đơn nhập: 10  Hóa đơn bán: 10  CTHDN, CTHDB: 20

119119

2013

ươ

ộ ố

Ch

ng 3. M t s  thao tác trên CSDL

3.1. Import  -

ố ượ

ng mu n Import (Table,

ố ượ

ng mu n Import.

File/ Get External Data/ Import: ch n Database ch a đ i t Query, Form…) - Ch n tên đ i t 3.2. Export - Ch n Table mu n Export sang m t Database khác ( .mdb) -

ố ọ File/ Export: ch n Database đích.

Đặt lại tên (nếu muốn)

Export cả cấu trúc và dữ liệu

Chỉ Export cấu trúc

120120

2013

4.1. Đ tặ  v nấ  đề

4.2. Khái ni mệ  Truy v nấ

121121

2013

4.3. Các lo iạ  Truy v nấ  Nhóm truy v nấ  xử lý dữ li uệ  Nhóm truy v nấ  hành đ ngộ

? V n Đấ

122122

2013

 Bài toán qu n lý vi c nh p và bán hàng: ệ

123123

Crosstab Query

2013

 1. Muốn biết một hoá đơn bán hàng của khách hàng nào (tên

Select Q

khách hàng) và do nhân viên nào bán (tên nhân viên).

2013

124124 QLBH

2. Tìm tên và địa chỉ các khách hàng mua hàng

trước ngày 1/1/2004

2013

Select Q

125125 QLBH

3. Ghép Hokh và TenKh thành cột

họvàtên.

Select Q

2013

126126 QLBH

4. Tính tiền chi tiết cho từng hóa đơn (SoHDB,

MaMH, SoLuong, DonGiaBan, ThanhTien):

Select Q

2013

127127 QLBH

5. Tính thành tiền cho từng hóa

đơn (nhóm dữ liệu)

Group by

Sum

Select Q

2013

128128 QLBH

6. Thống kê khách hàng mua hàng hóa

nào với số lượng bao nhiêu?

To Crosstab Q

2013

129129 QLBH

7. Tạo Table từ các thông tin tìm kiếm

được.

Ví dụ: ? Muốn tạo Table gồm các

thuộc

tính

KHACHMUA(SoHDB,HoTenKH,HoTenNV)

2013

130130 QLBH

8. Sửa đơn giá bán của mặt hàng Cam

lên 10%.

9. Xoá tất cả các mặt hàng do nhà cung

cấp Bitis cung cấp.

2013

131131 QLBH

4.1. Khái ni mệ

ụ ử

 M t trong nh ng công c  x  lý d  li u tr c

ữ ệ

ữ ệ Query.

ư

ữ ệ ợ

ng  ng  đ  gi

quan, h u hi u trên Access là  ử ạ ổ ậ ữ ệ ươ ữ ệ

ậ ộ ố ạ i m t s  lo i Query t ầ

 Có r t nhi u d ng yêu c u x  lý d  li u nh :  ầ ị ữ ệ trích ­ l c ­ hi n th  d  li u; t ng h p ­ th ng  ậ ẽ kê; thêm ­ b t ­ c p nh t d  li u; … Vì v y s   ể ả ồ ạ i  t n t ế quy t các yêu c u x  lý d  li u trên.

2013

132132 QLBH

CÁC LO I TRUY V N

ổ ữ ệ ữ ệ ử ấ

I. Nhóm truy v n x  lý d  li u (không làm thay đ i d  li u trên table):  

 Truy v n ấ ch nọ  (Select Query)  Nhóm dữ liệu  Truy vấn có tham số Truy v n ấ chéo (Crosstab Query)

ổ ữ ệ ấ ộ II.  Nhóm  truy  v n  hành  đ ng­Action  Query(làm  thay  đ i  d   li u  trên

ạ ậ

133133

    Table): Truy v n ấ t o b ng (Make­Table Query) ậ Truy v n ấ c p nh t (Update Query) Truy v n ấ thêm (Append Query) Truy v n ấ xóa (Delete Query)

2013

4.1. Truy v nấ  ch nọ  l aự  (Select Query):

a.  Công  d ng:ụ

Ch nọ  l aự , rút trích,  t ng  h p

ộ ố ộ ủ

ộ ể

ợ  d   li u  trên  ữ ệ ộ đi u ề m t s  c t c a m t hay nhi u b ng theo m t  ki nệ  nào đó (có th  có đi u ki n ho c không). Trên  ề ể ọ ự truy v n ch n l a, có th :

ộ ệ  có  th   tĩnh  ho c  đ ng.  Khi  đi u  ki n    là  ườ

­ Tính toán  ­ Nhóm dữ li uệ  (Group) ặ truy v nấ  có tham số.

i ta còn g i là

Đi u  ki n ề ộ đ ng ng

134134

2013

ấ ự

c t o truy v n l a ch n

ướ ạ b. Các b (Select Query)

B1. ­> Query ­> New­>Design View ­> OK

ặ ấ B2. Đ a ư các b ngả  (table) ho c các truy v n (query) liên quan

ế ữ ệ ử ổ ằ ấ ấ

ướ ả đúp vào tên b ng. i QBE đ n các d  li u truy v n vào c a s  truy v n b ng cách  ( m c  ụ Table trong l )

ị ầ ế ả ấ B3.  Xác  đ nh  tên

ườ ằ ấ ng. ệ các  c t ộ c n  xu t  hi n  trong  k t  qu   truy  (m c ụ Field  trong

ấ ủ

v n  b ng  cách  đúp  vào  tên  tr ướ i QBE l )

! B n ch t c a m t SELECT query là câu l nh SQL có d ng: SELECT … FROM …

135135

2013

ấ ự

c t o truy v n l a ch n

ướ ạ b. Các b (Select Query)

ủ ướ

B4. Khai báo các thành ph n c a l

i QBE:

­

Sort:

-

Ascending: Xếp dữ liệu tăng dần.

- Descending: Xếp dữ liệu giảm dần.

- Not sorted: Không sắp xếp.

­

Show:

­

: Cho hi n c t.

­

: Không cho hi nệ  c tộ .

(cid:0)

ả ấ ủ ữ ệ ầ ề  m nh đ :

136136

ể ệ ở ệ ắ B n ch t c a yêu c u s p x p d  li u th  hi n  ệ ế … ORDER BY … [ASC] [DESC] trong câu l nh SQL

2013

ấ ự

c t o truy v n l a ch n

ướ ạ b. Các b (Select Query)

­

Criteria:

- Điều kiện lọc dữ liệu (nếu có yêu cầu).

Chú ý:

-

Điều kiện lọc đặt vào hàng Criteria và các hàng dưới.

-

Điều kiện hoặc giưã các cột: đặt trên những hàng khác

nhau.

-

Điều kiện và giưã các cột: đặt trên cùng 1 hàng.

-

Dùng các toán tử.

ấ ủ

ữ ệ

ầ ọ B n ch t c a yêu c u l c d  li u th  hi n

ề  m nh đ :

ể ệ ở ệ ệ

ư ả B5. L u b ng truy v n: ấ Ctrl + S hay File ­> Save

… WHERE … trong câu l nh SQL

137137

2013

ộ ố

ườ

M t s  thao tác th

ng dùng

ướ

ế

­ Xem tr

c k t qu  truy v n:

ở ạ ử

­ Tr  l

i c a s  truy v n:

(menu View ­> Datasheet view)

­ Th c hi n m t truy v n:

(menu View ­> Design View)

138138

(menu Query ­> Run)

2013

Xem câu l nh SQL phát sinh View\SQL view

139139

2013

ụ ạ

ọ ự

c. Ví d  t o truy v n ch n l a   (Select Query)

ế

ả ế m t hoá đ n

T o Query gi 1. Mu n bi

i quy t các yêu c u sau: t

ơ bán hàng c a khách  hàng  nào  (tên  khách  hàng)  và  do  nhân  viên  nào bán (tên nhân viên).

2. Li

ơ

ọ ố ượ ế

ế

i tính là n

gi

t  kê  danh  sách  khách  mua  hàng  (H KH,  ố TênKH,  Đ a  ch ,  Đi n  tho i,  H   tên  NV,  S   HD  bán,  Ngày  bán,  Tên  MH,  S   l ng,  Đ n  ế giá),  s p  x p  theo  tênKH,  n u  tên  trùng  ọ nhau thì s p x p theo h . ữ 3. L p danh sách nhân viên có  ỉ 4. Tìm  tên  và  đ a  ch   các  khách  hàng  có  gi

i

ướ

tính là nam mua hàng tr

c ngày 1/1/2004

140140

2013

ụ ạ

ọ ự

Ví d  t o truy v n ch n l a   (Select Query)

5.    Ghép  Hokh  và  TenKh  thành

ọ c t ộ h vàtên.

ế

6.    Tính    ti n  chi  ti

t  cho  t ng  hóa đ n ơ (SoHDB,  MaMH,  SoLuong,  DonGiaBan,  ThanhTien)

141141

2013

ộ ộ

 T o m t c t m i ớ

ớ   Tên c t m i : bi u th c

Ví d 1ụ  : H  và tên: [HoKH] & [TênKH] Ví d  2: Thành ti n : [SoLuong]*[DonGiaBan]

142142

2013

c s  d ng trong

 M t s  toán t ộ ố

ử ụ ấ

ử ượ  đ ứ bi u th c truy v n

so sánh:

=, < >, >, <, >=, <=

ị Between … and…

ị ừ

Between 20 and 30

 Các toán t  Gi a hai giá tr :  ữ Ví d : ụ giá tr  t

ế  20 đ n 30:

hay:

>=20 and <= 30

143143

2013

ộ ố

c s  d ng trong bi u

M t s  toán t

ử ụ ử ượ  đ ấ ứ th c truy v n  Các hàm ngày, tháng, năm: Ngày = 26/10/2004 Day([ngày]) = 26 Month([ngày]) = 10 Year([ngày]) = 2004

144144

DatePart(‘q’, [Ngày]) = 4   (quý) DatePart(‘m’, [Ngày]) =10 (tháng) DatePart(‘yyyy’, [Ngày]) = 2004 (năm)

2013

ộ ố

M t s  toán t

c s  d ng trong

ử ượ  đ ứ

ử ụ ấ bi u th c truy v n

ư

  Đúng v i m u đ a ra:

Like

Ví d : ụ

ấ ả ữ ỗ

ấ ả ữ ự ầ ự ứ ỗ Like“40*”: t Like“???C*”: t t c  nh ng chu i có hai ký t t c  nh ng chu i có ký t đ u là 40.  th  4 là C.

  Các toán t

logic:

and, or, not

  Các phép toán s  h c:

ố ọ +, ­, *, /,^(lũyth a), Mod

145145

2013

ộ ố

đ

ử ượ ử c s   M t s  toán t ứ ể ụ d ng trong bi u th c truy  v nấ

ườ

 Tên tr

ng đ t gi a hai

ặ d u ngo c vuông:

ườ

[tên tr

ng]

Ví d : [MaKH]

ữ ệ

 D  li u ki u ngày đ t gi a hai d u

ấ # và #:

#25/09/75#

146146

2013

ộ ố

M t s  toán t

c s  d ng trong

ử ượ  đ ứ

ử ụ ấ bi u th c truy v n

N i hai chu i ký t

ự & :

ố ườ

ườ

Ví d : N i tr

ng H KH và tr

ng TênKH

ườ

thành tr

ng H TenKH

HoTenKH = [HoKH] & [TenKH]

147147

2013

ộ ố

M t s  toán t

c s  d ng trong bi u

ử ụ ử ượ  đ ấ ứ th c truy v n

 Câu l nh đi u ki n:

ả ủ

ế

iif(đi uki n, k tqu c ađi uki nđúng,

ả ủ

ế

k tqu c ađi uki nsai)

Vd1: iif([GioiTinh]=Yes, “NU”, “NAM”)

148148

Vd2: iif([DonGiaBan])>100000, [DonGiaBan]*1.2, [DonGiaBan])

2013

ữ ệ

4.2. Nhóm d  li u  (Group)

149149

2013

Ki m tra bài cũ ? Tính tiền chi tiết cho từng hóa đơn (SoHDB, MaMH, SoLuong, DonGiaBan, ThanhTien), sắp xếp theo số hóa đơn.

150150

2013

Bài toán qu n lý vi c nh p và bán hàng: ệ

151151

2013

ế

ơ

t cho t ng hóa đ n (SoHDB,

Hãy tính  ti n chi ti MaMH, SoLuong, DonGiaBan, ThanhTien):

QLBH 152152

2013

? Tính tổng số tiền cho từng hóa đơn

 Nhóm dữ liệu

153153

2013

ữ ệ

4.2. Nhóm d  li u  (Group)

154154

2013

Nhóm dữ liệu (Group):

ừ ổ

ế

­ Tính toán d  li u theo t ng nhóm có tính ch t  ữ ệ ợ s   li u  ố ệ mà  ố ổ t ng  c ng,  th ng  kê  t ng  h p  ố ệ ế s   li u  bên  t  không  quan  tâm  đ n  chi  ti ệ a. Ý nghĩa­Cách th c hi n trong.

­ Cách th c hi n:

- View(cid:0) Totals để chèn thêm dòng Total

vào vùng lưới QBE.

- Dùng các hàm tính toán ở dòng Total để thực hiện các phép tính cho các cột trong truy vấn.

155155

2013

Hàm

Ý nghĩa

ữ ệ

Group by

Nhóm d  li u trên c t này

ố Tính trung bình cho c t này (s )

Avg

Sum

Tính t ngổ

ế

Count

ổ Đ m t ng s

Min

ị Tìm giá tr  nh  nh t

ị ớ

Max

ấ Tìm giá tr  l n nh t

ị ầ

First

Tìm giá tr  đ u tiên

Last

ị Tìm giá tr  cu i cùng

ộ ữ ệ

Expression

Bi u th c tính toán t

các c t d  li u khác trong b ng

ệ ọ

Where

ữ ệ Đi u ki n l c d  li u cho truy v n

156156

2013

? Tính tổng số tiền cho từng hóa đơn

Group by

Sum

QLBH 157157

2013

Ví dụ

 Vd1:  Tính  thành  ti n ề

ừ ơ (SoHD,

ắ cho  t ng  hóa  đ n  ơ ố ế ThanhTien), s p x p theo s  hóa đ n.

 Vd2:  Hãy  li

ệ ỗ ủ ổ ế

ố ổ t ng  s   hoá  t  kê  toàn  b   khách  hàng    và  đ n ơ c a m i khách hàng (MãKH, T ng s  HD), s p x p  ắ ố theo mã khách hàng.

ố ổ ề ế t kê (TênKH, T ng s  HD) thì đi u gì

??? N u ch  li ỉ ệ

ộ x y ra ?   Vd3:  Hãy  li

ủ ổ ắ

158158

ế ổ ố ệ t ng  s   hoá  t  kê  toàn  b   khách  hàng    và  ố ỗ đ n ơ c a  m i  khách  hàng  (TênKH,  T ng  s   HD),  s p  x p theo tên khách hàng.

2013

Ví dụ

t kê

 Vd4: Li ệ ủ

trong t ng ừ m i khách hàng quí  c a  năm  2004  đã  mua  bao  nhiêu  hàng hóa.

t  kê

 Vd5:  Li ệ ừ

ế  n u  phân   thì đã mua bao

ướ

m i  khách  hàng ạ theo t ng lo i hàng hóa nhiêu hàng hóa tr

c ngày 1/1/2002.

Bài t pậ

159159

2013

4.3. Tham s  trong truy v n

160160

2013

Query có tham số

a. Tham s  trong truy v n

ộ đi u  ki n

Th c  hi n  các  truy  v n  theo  m t  ậ

ự “đ ng”ộ

ấ ệ ườ  nào đó. (do ng ị

ề i dùng nh p) ủ

Ví  d :  Hi n  th   các  thông  tin  c a  nhân  viên  ậ nh p vào t

bàn phím.

ớ v i mã nhân viên   Hiển thị các thông tin của nhân viên có mã số là 05. (điều kiện “tĩnh”)

161161

2013

b. Cách t o tham s  trong truy v n

 Nh p  dòng  thông  báo  nh c  nh p  trong  hai  ậ [  và  ]  vào  dòng  đi u  ki n

ạ ộ

ặ d u  ngo c  vuông  (Criteria) t

i c t ta mu n l c. ậ

 Có th  dùng các toán t

ể ộ

ố ọ ố ề ử , nh p nhi u tham s   ộ như nh pậ  đi uề  ki nệ

ặ cho m t ho c nhi u c t. (  l cọ  tĩnh)

Vd1:  Hi n  th   các  thông  tin  c a  nhân  viên  v i

mã nhân viên nh p vào t

bàn phím.

ườ

Vd2:  L p  danh  sách  các  khách  hàng  mua  hàng  i dùng

trong kho ng th i gian nào đó do ng nh p vào.

162162

2013

Query có tham số

ấ 4.4. T o Truy v n chéo (Crosstab Query)

163163

2013

a. Truy v n chéo (Crosstab Query):

ử ụ ổ

ố ằ ả

ượ ư

ữ ệ

ướ ạ

S  d ng d ng truy v n này khi mu n th ng  ố ạ ấ ạ ữ ệ ợ kê,  t ng  h p  các  d   li u  theo  d ng  n m  ngang  dù  các  d   li u  đ c  l u  trong  b ng  ừ i d ng t ng dòng: d

164164

2013

a. Truy v n chéo (Crosstab Query):

khách  hàng  mua  hàng  ng

ố ượ  bao nhiêu?

Ví dụ 1:  Th ng  kê  hóa nào v i ớ s  l Row heading

Column heading

Value

2013

165165 QLBH

b. Cách t o truy v n chéo:

 B1:  New/Design  view  và  ch n  các  Table  ch a

ữ ệ

d  li u ngu n

ồ  B2: Query/Crosstab Query:

 Khai báo các dòng: như Select Query  Crosstab:

• Row heading: cột này làm giá trị trên hàng. • Column heading: cột này làm giá trị trên cột • Value: cột này làm giá trị cho bảng • No shown: không cho hiện cột này.

Ví dụ 1: Th ng  kê

khách  hàng  mua  hàng  hóa  nào

ố v i ớ s  l

ố ượ  bao nhiêu?

ng

166166

2013

ỉ ộ ộ ư ể ề Có th  có nhi u c t làm Row heading, nh ng ch  m t c t duy

ư L u ý: ấ ộ ộ ấ ộ nh t làm Column heading, m t c t duy nh t làm Value.

ể ệ ở

ấ ủ

B n ch t c a Crosstab query th  hi n

câu l nh SQL:

Ví d :ụ

TRANSFORM .. SELECT .. FROM .. GROUP BY … PIVOT …

167167

2013

ụ c. Truy v n chéo – Ví d

ư

nhi u c t làm Row heading

ể Có th  có  ấ

ộ ộ ỉ m t c t  , nh ng ch   ,  m t  c t  duy  nh t  làm

ề duy  nh t  làm  Column  heading Value.

Ví d :ụ

168168

2013

4.5. Các lo i truy v n hành đ ng (Action Query)

169169

2013

ấ ạ

ả 4.5.1. Truy v n t o b ng (Make­Table Query)

 Dùng Make­Table Query đ :ể

 chép kết quả truy vấn của loại Select

Query ra một Table mới.

 chép kết quả truy vấn của loại Crosstab Query ra một Table mới nhưng dưới dạng Select Query (Group). Chú ý: Bảng mới tạo ra không có khóa.

ả ấ ủ ệ B n ch t c a Crosstab query th  hi n câu l nh SQL:

170170

ể ệ ở SELECT .. INTO .. FROM..

2013

ấ ạ ướ ạ c t o truy v n t o b ng: (Make­Table Query):  Các b

ớ ẽ ượ ạ

1. Gõ vào tên b ng m i s  đ

c t o

ặ ả

2. Đ t b ng m i này trong t p tin

ơ ở ữ ệ c  s  d  li u hi n hành

ị 3. Xác đ nh xong

ặ ả

ơ ở ữ ệ

ộ ậ

ớ 2. Đ t b ng m i này bên trong  m t t p tin c  s  d  li u khác

171171

ả  B1: Tạo như Select Query.  B2: Query  Make-Table Query:

2013

ể ự

ệ ạ

Ch n Query

Run đ  th c hi n t o table m i. ớ

4.5.2. T o truy v n xoá (Delete Query)

Dùng Delete Query đ :ể

 Xóa các dòng dữ liệu thoả điều kiện nào đó

trong một hay nhiều bảng. Cẩn thận: không thể phục hồi sau khi xoá.

ể ệ ở ấ ủ ả ệ B n ch t c a Delete query th  hi n câu l nh SQL:

172172

DELETE … FROM … [WHERE]

2013

ướ ạ

Các b

ấ c t o truy v n xoá b ng:

B1. ­> Query ­> New­>Design View ­> OK

ữ ệ

B2. Ch n ọ b ngả  (table) ch a d  li u mu n xóa.

B3. Query  Delete Query: xu t hi n dòng

ừ ả

­  Xoá  các  b n  ghi:  drag  d u  *  t

b ng  vào  l

ướ ừ i:  t

ệ ở

hàng

ệ ấ Delete

Form xu t hi n

Delete.

­ Xoá có đi u ki n: Double Click vào

ệ  t

ộ tên c t tham  ệ ấ  ừ Where  s   xu t  hi n  trên  hàng

gia  vào  đi u  ki n: Delete. Khai báo đi uề  ki nệ  như trong Select Query.

173173

2013

ể ự

Ch n Query

Run đ  th c hi n xoá các b n ghi. ệ

4.5.3. T o truy v n thêm (Append Query)

ữ ệ ừ ả

  Thêm d  li u t

b ng này vào b ng khác.

174174

2013

ướ

c  t o  truy  v n  thêm:  (Append

Các  b Query):

B1: T oạ  như Select Query. B2: Query  Append Query:

ữ ệ

ố 1. Gõ tên b ng mu n thêm d   li u vào

ữ ệ

ế

2. N u b ng mu n thêm d   li u vào

ơ ở ữ ệ

trong t p tin c  s  d  li u hi n hành

ữ ệ

ị 3. Xác đ nh xong

ố ơ ở ữ ệ

ả ậ

ế 2. N u b ng mu n thêm d   li u vào trong t p tin c  s  d  li u khác

175175

2013

ể ự

ữ ệ

Ch n Query

Run đ  th c hi n thêm d  li u.  ệ

4.5.4. T o truy v n s a (Update Query)

ướ ạ

 Các b

c t o truy v n s a:  B1: Tạo như Select Query.  B2: QueryUpdate Query: Xuất hiện dòng

 Trong ô Update To của các thuộc tính muốn cập nhật: điền vào giá trị hay biểu thức dùng để thay đổi nội dung.

 Chọn QueryRun để thực hiện việc sửa.

Update To

ể ệ ở ấ ủ ả ệ B n ch t c a Update query th  hi n câu l nh SQL:

176176

UPDATE … SET … [WHERE]

2013

BÀI T PẬ

ả ươ ự ộ ệ ấ Bài  1.  Trên  CSDL  Qu n  lý  l ng  cán  b ,  th c  hi n  các  truy  v n

ươ

ơ

ng c a c  quan bao g m các thông tin:

sau:

1.  Hãy tính và in ra b ng l

Hoten,  ngaysinh,  tenchucvu,  tenphongban,  luongchinh,  phucapcv,  dangphi,

congdoanphi, thuclinh.

Trong đó:

Luongchinh = hesoluong * 730 000

Dangphi = 50,000 v i nh ng ai là Đ ng viên

Congdoanphi = 1%Luongchinh v i nh ng ai đã vào công đoàn

ư

ư

2.  Hãy đ a ra danh sách các cán b  là Đ ng viên mà ch a vào công Đoàn.

ộ ủ

ượ

c

ộ 3. Hãy l c ra danh sách cán b  c a m t phòng ban nào đó, tên phòng ban đ

ậ ừ

ượ

nh p t

bàn phím khi query đ

c kích ho t.

177177

2013

ự ả ớ ộ ơ ọ 4. Hãy l c ra danh sách cán b  là Đ ng viên và có th c lĩnh l n h n

ộ ố ượ ừ ượ m t  s   nào  đó­  đ ậ c  nh p  t bàn  phím  khi  query  đ c  kích

ho t.ạ

ộ ơ ọ ộ 5.  Hãy  l c  ra  danh  sách  cán  b   mà  năm  sinh  r i  vào  trong  m t

ả ượ ậ ừ ụ kho ng năm nào đó đ c nh p vào t bàn phím. Ví d : khi kích

ả ạ ậ ầ ừ ho t query, Access yêu c u nh p vào kho ng năm sinh t năm

ẽ ọ ế ộ nào, đ n năm nào. Khi đó query s  l c ra danh sách các cán b

ệ ả ề tho  mãn đi u ki n đó.

ọ ộ ượ ậ ừ c nh p vào t bàn phím khi 6. L c ra danh sách cán b  có tên đ

ụ ạ kích ho t query. Ví d : khi query kích ho t s  h i: ạ ẽ ỏ Gõ vào tên

ầ ể ả ọ ả ọ ặ ộ Sau khi gõ vào m t tên (có th  c  h  ho c c  h  và c n xem?

178178

ẽ ọ ề ệ ả ộ tên), s  l c ra danh sách cán b  tho  mãn đi u ki n.

2013

ộ ế ỉ ư ổ ọ ế ằ ệ ề t r ng đi u ki n 7. L c ra danh sách cán b  đ n tu i ngh  h u, bi

ỉ ư ư ị ngh  h u xác đ nh nh  sau:

ớ ổ ­ Là Nam gi i, tu i >=60

ữ ớ ổ ­ Là N  gi i, tu i >=55

ư ư ả ả ộ ợ ổ ố 8. Hãy đ a ra b ng t ng h p s  cán b  đã vào Đ ng hay ch a vào

ả ớ ư Đ ng theo gi i tính nh  sau:

179179

9. Đưa ra bảng tổng hợp về chức vụ theo phòng ban như sau:

2013

ợ ổ ư ứ ừ ả ạ ổ ộ ố

ư 10. Hãy đ a ra b ng t ng h p t ng s  cán b  theo t ng lo i ch c  ụ ủ v  c a các phòng ban nh  sau:

180180

ợ ươ ư ổ ừ ư ng theo t ng phòng ban nh  sau: ả 11. Đ a ra b ng t ng h p l

2013

ự ệ ả ậ

ấ Bài 3. Trên CSDL Qu n lý nh p và bán hàng, th c hi n  các truy v n sau:

t kê danh sách nhân viên bán hàng có trong c a hàng. t kê danh sách hàng hóa có trong c a hàng (Mã MH, Tên MH, DVT, Tên lo i HH). ử t kê danh sách nhà cung c p hàng hóa cho c a hàng (Mã nhà cung c p, Tên nhà cung c p).

ế

Câu 1 : Truy v n ch n (Select Query) 1. 2. 3. 4.

1/1/2003 đ n ngày 1/1/2004 (Mã KH, Tên KH, Đ a

ế

ế

ế

5.

ướ

ế

c ngày 1/1/2004, s p x p theo ngày bán

6.

ơ

7. 8.

ơ

ọ ậ

ệ ố

ơ

9.

ơ

ế

ệ Li ệ Li ệ ấ Li ị ậ L p danh sách các khách hàng mua hàng t ọ ỉ ch , Đi n tho i, Ngày mua hàng), s p x p theo tên, n u tên trùng nhau thì s p x p theo h . ậ ỉ L p danh sách các khách hàng mua hàng trong tháng 5 năm 2003 (Mã KH, Tên KH, Đ a ch ,  ệ Đi n tho i, Ngày mua hàng). Tìm tên và đ a ch  các khách hàng đã mua hàng tr hàng. Tìm tên và đ a ch  các khách hàng đã mua hàng vào ngày 25/02/2003. ệ Li ượ l ệ Li ượ l ệ

ự ầ

ố ử t kê danh sách các hóa đ n đã bán trong c a hàng (S  HD bán, Ngày bán, Tên MH, S   ng, Đ n giá, Thành ti n, Mã KH, H  Tên KH, Đ a ch , Đi n tho i, H  tên NV). ố ậ t kê danh sách các hóa đ n đã nh p trong c a hàng ( S  HD nh p, Ngày nh p, Tên MH, S   ọ ng, Đ n giá, Thành ti n, Tên nhà cung c p, H  tên NV), s p x p theo ngày nh p hàng.  đ u c a tên là T. t kê danh sách khách hàng có ký t

10. Li

181181

2013

ơ

t kê toàn b  mã khách hàng, tên khách hàng và t ng s  hoá đ n c a m i khách

Câu 2. Truy v n nhóm (Group by) 1.

t kê tên lo i hàng hóa, giá trung bình c a m t hàng hóa, giá cao nh t, giá th p nh t

2.

ư

ượ

ỉ ố ớ

c cung c p b i nhà cung c p có tên

3.

ế

t kê m i khách hàng n u phân theo t ng lo i hàng hóa thì đã mua bao nhiêu m t

4.

ư

ế

ướ

ơ

c ngày 1/1/2004. ố ượ

5. 6. 7.

ng bao nhiêu trong

7/5/2003 đ n 26/11/2003.

ố ề

ừ ạ

Hãy li hàng. ệ Li khi bán ra. ư Nh  câu 2 nh ng ch  đ i v i lo i hàng hóa đ ọ Ng c Thanh. ệ Li hàng. ư Nh  câu 4 nh ng ch  quan tâm đ n khách hàng có tên là Trang. ố Th ng kê m i khách hàng có bao nhiêu hóa đ n tr L p danh sách các khách hàng đã mua các hàng hóa nào, s  l ế kho ng th i gian t Tính t ng s  ti n bán hàng theo t ng nhóm hàng hóa. ủ ừ Tính s  ti n bán hàng c a t ng lo i hàng hóa trong 6 tháng đ u năm 2003. ủ ừ

ổ ố ề ố ề

ố ề

Th ng kê s  ti n bán hàng theo tháng, theo quí, theo năm (t o t ng query). ố ề

ạ ừ ấ

ố ể

8. 9. 10. Tính s  ti n bán hàng c a t ng hàng hóa trong 6 tháng đ u năm 2003. 11. 12. Hi n th  thông tin 2 khách hàng có s  ti n mua hàng l n nh t.

182182

2013

ơ

t kê H , tên khách hàng và t ng s  hóa đ n c a khách hàng v i

Câu 3 : Truy v n có tham s  (Parameter query) 1.

bàn phím.

ậ ừ

ượ

2.

t kê các thông tin v  nhân viên v i mã nhân viên đ

c nh p t

3.

ậ ừ

ượ

ế

ả  bàn phím)  (Mã KH, Tên

c nh p t

ớ ạ

ố ượ

4.

ng

ế

ngày x đ n ngày y (v i x, y

bàn phím).

ậ ừ c nh p t ữ t kê nh ng nhân viên không tham gia bán hàng trong th i gian

5.

ấ ọ  Li ậ ừ tên nh p t  Li bàn phím.  L p danh sách các khách hàng mua hàng trong kho ng th i gian t ngày x đ n ngày y (v i x, y đ ệ KH, Đ a ch , Đi n tho i).  L p danh sách các khách hàng đã mua các hàng hóa nào, s  l bao nhiêu trong kho ng th i gian t ượ đ ệ  Li qua.

183183

2013

ớ ố ượ

Câu 4 : Truy v n chéo ( Crosstab query) 1. Th ng kê các khách hàng đã mua các hàng hóa nào v i s  l

ng

bao nhiêu. ố ề ố ề

2. Tính s  ti n bán hàng cho m i khách hàng trong t ng quí năm 2002. 3. Tính s  ti n bán hàng c a khách hàng có tên là “Trang” trong t ng

quí năm 2003.

ấ ộ ả

ộ ớ ồ

ố ủ

Câu 5 : Truy v n hành đ ng (Action query) 1. T o m t b ng m i g m các hàng hóa có mã s  c a nhà cung c p là

ạ “02”.

2. Xóa các b n ghi c a b ng HANGHOA do nhà cung c p có mã s  là

ừ ả

ở ả

i các b n ghi đã b  xóa t

b n HANGHOA b i b ng đã t o ra

3. Thêm l ở

“02” cung c p.ấ ả ạ  câu 1. ả

4. Gi m giá 10% các m t hàng đã bán do nhà cung c p có mã s  là

“03” cung c p.ấ

184184

2013

ằ ả ộ

 Khái ni mệ  T o  Form b ng Wizard  Xem k t qu  m t Form ế  Thi ế ế t k  Form  Bài t pậ

185185

2013

Khái ni mệ

ộ ứ

ử ụ ườ

ủ ử

 Khi  s   d ng  m t  ng  d ng,  đa  ph n  công  vi c  c a  ng i  dùng  làm  trên  các  h p  tho i  (Dialog),  ổ c a s  (Windows). C  2 thành ph n này trong l p  ề trình đ u đ

ả ọ Form. c g i là  ứ

 Form có th  hi n th , tra c u, c p nh t và đi u

ữ ệ

ượ ể ể khi n d  li u trong CSDL.

186186

2013

5.1. T o Form b ng Wizard

ườ

 Form wizard là công c  trên Access giúp ng

ữ ệ

i  ễ dùng nhanh chóng và d  dàng t o ra m t Form  ậ dùng làm giao di n nh p d  li u cho các b ng trên  CSDL. ướ

ướ

 D i đây trình bày các b

ộ c đ  t o m t form làm

ữ ệ

CANBO trong

ng cán b . (b n ph i ch c ch n

ể ạ ệ giao di n nh p d  li u cho b ng  ả ạ ươ CSDL Qu n lý l ấ ỉ đã t o hoàn ch nh c u trúc CSDL trên):

187187

2013

5.1. T o Form b ng Wizard

ạ Kích ho t trình Form

ặ Creat Form by

 B c 1:  ướ Wizard: ­ Forms/New/Form Wizard   OK ­ Ho c D­Click  using Form wizard

ọ Ch n các thông tin

 B c 2:  ướ ư ầ

188188

ọ ọ ườ ữ c n đ a lên form.  ả ­ ch n b ng nào ­ ch n nh ng tr ng nào.

2013

5.1. T o Form b ng Wizard

ố ụ ọ  B c 3:  ướ Ch n b  c c (Layout)

cho form.   Có 4 kiểu bố cục có thể thiết

189189

lập được cho form là: Columnar; Tabular; Datasheet và Justified. Hãy lần lượt nhấn lên từng kiểu bố cục (hình dưới) và xem kết quả minh hoạ (Preview) ở hộp chữ nhật bên trái hộp thoại để quyết định nên chọn loại nào:

2013

5.1. T o Form b ng Wizard

 B c  4:  ướ

ể ể

ể ử ừ ọ

ể ọ Ch nki u  dáng  (Style)  cho  form.  Có  m t ộ danh  sách  các  ki u  dáng  đ   ch n.  Hãy  th   t ng  ki u  dáng  và  ch n  cho  ộ form  m t  phong  cách  phù h p.ợ  B c 5.  ướ  Đặt tên cho Form

 Finish

190190

2013

5.2. Xem k t qu  m t Form ể ậ

ả ộ ử ụ

ậ ữ ệ

ế Open. S  d ng Form đ  c p nh t d  li u:

 Ch n Form, nh n nút

chuyển về bản ghi đầu tiên

Đang ở bảng ghi số 1

Có tất cả 11 bản ghi

chuyển đến bản ghi kề trước

chuyển đến bản ghi kề sau

Thanh định hướng (Navigator bar)

chuyển đến bản ghi cuối cùng

Thêm 1 bản ghi mới

191191

2013

5.3. Thi ế ế

ế ế t k  Form ữ ệ ơ ậ ẫ

ậ ả t k  Form nh p d  li u đ n gi n ữ ệ ả ạ

192192

ướ 5.3.1. Thi VD: T o form dùng làm m u nh p d  li u cho b ng CANBO. B c 1: Form /New/Design View.

2013

ế ế

ữ ệ

ơ

ậ t k  Form nh p d  li u đ n

5.3.1. Thi gi nả

ọ ơ ẽ ầ ế t k  và xây d ng các thông tin c n thi t

ự ồ ầ ầ ầ Có 3 thành ph n quan tr ng: ử ổ Form – n i s  thi ế ế (1) C a s   ấ theo yêu c u bài toán. C u trúc form g m 3 ph n:

ề ầ ố ề

ộ ố

 Form Header ­ ph n tiêu đ  đ u form; ầ  Form Footer ­ ph n tiêu đ  cu i; ầ  Detail ­ ph n thân form.. ầ  Toàn  b   các  thông  tin  trên  form  đ u  đ ề ố ượ ng đi u khi n (Control), các đ i t ứ ượ c  ch a  trong  các  đ i  ượ ấ ừ  thanh  c l y t ng này đ

193193

ụ ể ề ượ t công c  Toolbox.

2013

ế ế

ữ ệ

ơ

ậ t k  Form nh p d  li u đ n

5.3.1. Thi gi nả

ữ ơ ứ ữ

ề ụ ụ ể ư (2) Thanh công c  ụ Toolbox – n i ch a nh ng đ i t ế ế ố ượ ng, nh ng công  ệ t  k   giao  di n  và  đi u

ữ ệ

ố ượ ọ ậ ng Textbox, ­ ­

ể ị

ộ ộ ệ ớ c   có  th   đ a  lên  form  v i  m c  đích  thi ể khi n d  li u theo bài toán.  Ví d : ụ ­ mu n t o ô nh p H  tên trên form: dùng đ i t ­ mu n đ a m t chú thích (nhãn hi n th ): dùng Label,  ­ mu n t o m t nút l nh: dùng CommandButton,…

ợ ẽ ậ ậ ộ ng  s   có  t p  h p  các  thu c  tính  (Properties)  và  t p

ố ạ ố ư ố ạ  M i  đ i  t ỗ ố ượ ự ệ

các s  ki n (Events).   Thuộc tính: mô tả tính chất cho đối tượng đó, ví dụ như: màu sắc,

kích thước, tính chất dữ liệu,..

 Sự kiện: gắn các mã lệnh VBA hoặc gắn các Macro lệnh để xử lý

194194

những công việc nào đó.

2013

ữ ệ

ơ

ế ế

ậ t k  Form nh p d  li u đ n

5.3.1. Thi gi nả  (3) C a c   ử ổ Properties – n i có th  thi

t l p các thu c tính (properties) cho

ư

ơ ố ượ

form cũng nh  các đ i t

ế ậ ể ng trên form; ở

ữ ệ

ướ

ế ậ

t l p ngu n d  li u cho form

ố ượ

ở ộ

B c 2:  Thi  Ch n  tên  đ i  t

ng

h p  ch n

thu c tính Record Source. ọ Object  trên  thanh  công  c  ụ

Form

Formatting.

ướ

ọ ủ

 Ho c D_click lên ô vuông­ v  trí giao gi a 2 th

c k  ngang­d c c a form

ế ế

ề ử ổ

ặ đang thi

t k . Làm sao khi tiêu đ  c a s  Properties là

Form.

 Record Source: ch n tên b ng

CANBO.

195195

2013

ế ế

ữ ệ

ơ

ậ t k  Form nh p d  li u đ n

5.3.1. Thi gi nả

ở ử ổ M  c a s  Field List.

ườ  B c 3:  ướ  C a  s   ử ứ ổ Field  List  có  ch a  danh  sách  các  tr ng  trên  CSDL  có

ủ ồ ữ ệ trong ngu n d  li u c a Form.

ư ự ệ ệ

ế ằ ấ ặ  N u  ch a  th y  c a  s   này  xu t  hi n,  hãy  th c  hi n  hi n  th   nó  ị ể ấ Field List

196196

ấ ử ổ ơ View | Field List ho c nh n nút  ở ự b ng cách m  th c đ n  ẩ ụ trên thanh công c  chu n.

2013

ế ế

ữ ệ

ơ

ậ t k  Form nh p d  li u đ n

5.3.1. Thi gi nả ư

ữ ệ ừ ử

 B c  4:  ướ

ậ ng  c n  nh p  d   li u  t

c a  s   Field  List  lên

ữ Đ a  nh ng  tr ế ế ằ

ầ ườ t k  b ng cách:

Form đang thi  Rê từng trường muốn thiết kế lên form từ cửa sổ Field List vào phần Detail

của form.

 Mỗi khi kéo một trường từ Field List lên form, Access sẽ tự động tạo một đối tượng gắn kết tới trường dữ liệu tương ứng, đối tượng này có thể là Textbox, Combobox hay đối tượng khác tuỳ thuộc vào kiểu dữ liệu của trường tương ứng; và đối tượng Label đi kèm nhằm tạo nhãn chú thích cho trường dữ liệu.

197197

2013

5.3.2. Tinh ch nh c u trúc Form

ể ử ở

ế ế

ế ộ  ch  đ  thi

ở ọ

ặ Design;  ho c  nh n  nút

t k  (Design view) b ng cách:  Design  trên

ộ a. S a thu c tính  M  form đ  s a  ấ ch n  form,  nh n  nút  thanh công c . ụ

ỳ ừ

ng  làm  vi c  c   th   mà  có  các

 Tu   t ng  m c  đích,  đ i  t ụ ệ

ệ ộ ố

ụ ể ố ượ ụ cách làm vi c khác nhau. Sau đây là m t s  ví d :

ể ấ

S a  thu c  tính  Caption  ho c  có  th   b m

 S a  nhãn  (Label):  ộ ự

ộ ể ử

ế

ử ị chu t tr c ti p lên nhãn đ  s a giá tr .

198198

2013

5.3.2. Tinh ch nh c u trúc Form

ướ ố ượ c đ i t ng (Resize):

ố ượ ổ ệ ấ

ầ ể ặ ể

ẽ ừ ể ề ể ỉ ộ ầ ể

ộ  Thay đ i kích th ổ  Khi  tr   chu t  (ch n)  lên  đ i  t ộ ọ ỏ ng  c n  thay  đ i,  x   xu t  hi n  6  ố ượ ng: Khi đó có th  đ t chu t lên t ng đi m (khi  đi m trên đ i t ộ ộ ỏ nào con tr  chu t chuy n thành mũi tên 2 đ u) đ  đi u ch nh đ   ớ l n b ng cách rê chu t.

ớ ế ố ượ ị rê đ n v  trí m i.

ng:  ữ Font Name. ề BackColor. ữ ForeColor

ữ ệ ể ị ể ạ ằ  Di chuy n đ i t ể  Thay đ i Font ch :  ổ  Thay đ i màu n n:  ổ  Thay đ i màu ch :  ổ  Thu c tính  ộ ị Format và InputMark đ  đ nh d ng d  li u khi hi n th

199199

ư ặ ạ ữ ệ ậ cũng nh  m t n  khi nh p d  li u.

2013

5.3.2. Tinh ch nh c u trúc Form

200200

ỉ Sau khi tinh ch nh, ta có form sau:

2013

5.3.2. Tinh ch nh c u trúc Form

ộ ố ạ

ạ t o  m t  s   lo i  nút  l nh  mà  không

ế ế ậ

b.  S   d ng  Command  Button  Wizard:  t đ n l p trình.

ử ụ ầ c n bi

ướ

ử ụ

Control Wizard

 Ví d : T o nút ụ ạ  Tr

c khi s  d ng tính năng này, ph i đ m b o nút  ố

ượ

ả ả ả ấ c nh n chìm xu ng:

trên thanh công c  ToolBox đã đ

201201

2013

5.3.2. Tinh ch nh c u trúc Form

ng

 B c  1:  ướ ư ộ Dùng  chu t  đ a  đ i  ừ ượ Command Button t  thanh  t ị ụ ợ công c  lên v  trí thích h p trên  ạ ộ Form, h p tho i sau xu t hi n:  B c  2:  ầ ướ ộ

Ch n  hành  đ ng  c n  ệ làm cho nút l nh. Quan sát h p  tho i trên có 2 danh sách:

­  Categories:  ch a  các  nhóm  ể thao tác mà m t nút l nh có th   nh n;ậ

­  Actions:  ch a  danh  sách  các  ệ l nh c a m i nhóm.

202202

2013

Danh sách l nhệ

Nhóm/L nhệ Ý nghĩa TT

ị ướ Record Navigation Nhóm đ nh h 1

ả ng b n ghi ầ ể ­ Goto First Record 1.1

ề ả ­ Chuy n v  b n ghi đ u ế ố ể ­ Goto Last Record ả ­ Chuy n đ n b n ghi cu i cùng 1.2

ể ề ­ Goto Next Record 1.3

ể ­ Goto Previous Record ả ­ Chuy n b n ghi k  sau ề ướ ả ­ Chuy n b n ghi k  tr c 1.4

ử ớ ả Record Operations 2

­ AddNew Record Các x  lý v i b n ghi ớ ả ­ Thêm b n ghi m i 2.1

ả ­ Delete Record ­ Xoá b n ghi hi n t 2.2

ậ ậ ả ­ Update Record ệ ạ i ệ ạ i 2.3

203203

­ C p nh t b n ghi hi n t ổ ữ ệ ụ ồ ả ­ Undo Record ­ Ph c h i thay đ i d  li u b n ghi 2.4

2013

Form Operations

Các x  lý v i Form

3

­ Close Form

3.1

­ Đóng form ở ộ

­ Open Form

­ M  m t form khác

3.2

Report Operations

4

Các x  lý v i Report ướ

c n i dung (Preview) report

­ Preview report

­ Xem tr

4.1

­ Print report

4.2

ộ ệ

­ In report ấ

­ Send report to file

­ Xu t report ra m t t p tin ngoài

4.3

Applications

X  lý  ng d ng

5

­ Quit Application

5.1

ỏ ­ Thoát kh i Access ụ

ộ ứ

­ Ch y m t  ng d ng nào đó (t p .exe)

­ Run Application

5.2

ộ ố

Miscellaneos

M t s  thao tác khác

6

ộ ả

­ Print table

­ In n i dung m t b ng

6.1

­ Run macro

­ Thi hành m t Macro

6.2

­ Run query

­ Thi hành m t query

6.3

204204

2013

5.3.2. Tinh ch nh c u trúc Form

 VD: Với yêu cầu đóng form, phải chọn:

• Categories = Form Operations • Actions = Close Form.

Ch n xong nh n ấ Next.

Hiển thị bằng chữ

Hiển thị bằng hình

ạ ướ ộ ọ ể ệ ị ọ  B c 3:  ướ Ch n hi n th  cho nút l nh trên h p tho i d i:

205205

ọ Ch n xong nh n ấ Finish.

2013

5.3.3. T o Sub­Form

ậ ế ế ở ọ ầ  K  thu t thi t k  form đã trình bày các ph n trên g i là Single­

ỹ form.

ể ồ ồ ệ

 Sub­form  là  vi c  form  này  l ng  trong  form  kia  (có  th   l ng  trong  c ượ ẹ Main form); form đ

ề ớ ọ nhau nhi u l p). Form ch a g i là form m  ( ồ l ng vào g i là form con (

ệ ữ ệ ộ ậ ặ ứ ọ Sub­form). ừ  Vi c  x   lý  d   li u  trên  t ng  form  có  th   x   lý  đ c  l p  ho c  có

ể ử ệ quan h  v i nhau tu  theo m c đích công vi c. ạ ữ ệ ậ c s  d ng trong các lo i form nh p d  li u,

ho c s  d ng đ  hi n th  d  li u.

206206

ử ệ ớ  Sub­form có th  đ ặ ử ụ ướ ỳ ể ượ ể ể ạ ử ụ ậ ỹ ụ ử ụ ị ữ ệ  D i đây minh ho  2 ví d  t o form có s  d ng k  thu t này. ụ ạ

2013

ử ụ

ữ ệ

VD: S  d ng Sub­form trong form nh p d  li u:

ế ế

ư

ơ

 Bài toán: Thi

t k  form nh p thông tin hoá đ n bán hàng nh  sau:

Form phụ: nhập thông tin về hàng bán cho hóa đơn tương ứng trong form chính

Form chính: nhập thông tin về hóa đơn

 Phải kết nối Form chính với Form phụ thông qua trường hoadonID  Cách làm như sau (yêu cầu thực hiện theo đúng thứ tự công việc

207207

các bước):

2013

ướ

ạ B c 1: T o form ph

ch  đ

ớ ở ụ ẽ ể

ế ậ

t l p thu c tính

ụ ở

Record

t l p ngu n d  li u làm vi c cho form ph

thu c tính

ế ậ ằ

ữ ệ ấ

ế ộ Design View; ­ T o form m i  ị ữ ệ ­ Vì form ph  s  hi n th  d  li u d ng b ng nên ph i thi Default View cho form ph  là ụ Datasheet; ­ Thi Source b ng cách nh n nút

ệ … (hình d

i)ướ

208208

Form chính: nhập thông tin về hóa đơn

2013

ướ

ạ B c 1: T o form ph

ế ế

ế ậ

ư

­ Màn hình thi

ấ t k  Query xu t hi n. Hãy thi

t l p Query này nh  sau:

ế ế

t k  Query.

ể ư

ế

­ Đóng màn hình thi ­ S  d ng  c a s  Field list đ  đ a các tr

ầ ng c n thi

t lên vùng Detail

ử ổ ồ

ườ hangID, donvi, dongia, soluong, thanhtien;

ị ạ

c a form bao g m:  ộ

i form v i m t tên g i (ví d :

i, chu n b  t o

ử ụ ủ ­ Ghi l

ụ frmHangban) và đóng l

ạ form chính.

209209

2013

ướ

ớ ở

ạ B c 2: T o form chính ế ộ Design

ch  đ ­ T o Form m i

ạ View;

ồ ế ậ

­ Thi ệ ữ ệ ở ộ

ấ t  l p  ngu n  d   li u  làm  vi c  cho  form  chính    thu c  ằ tính  Record  Source  b ng  cách  … (hình bên) nh n nút

ộ ấ ế ế t k  query  ế ậ t l p query

210210

ế ế ­ M t màn hình thi ệ xu t hi n. Hãy thi ư này nh  sau: ­ Đóng màn hình thi t k  query.

2013

ướ ­ S   d ng  c a  s

ế

ử ầ ườ ng  c n  thi ủ

­ S   ử

ố đ i  trên  ể ư

ố đ i

lên  ấ

ạ B c 2: T o form chính ử ụ ổ Field  List  đ  ể ư t  lên  đ a  các  tr ồ vùng  Detail  c a  form  bao  g m:  hoadonID,  khacID,  ngayban,  diachi, email; ượ ụ t ng  d ng  Subform\Subreport  thanh  công  c   ToolBox  đ   đ a  form  ư ụ ph  lên form chính. Sau khi đ a  ượ ộ ng  m t  t form  Subform\Subreport  ệ ạ chính, h p tho i sau xu t hi n.

Chọn tên form phụ cần đưa vào

(Có thể đưa form phụ lên form chính bằng cách rê tên form con thả lên form chính)

211211

2013

Form k t quế

212212

2013

Cách khác:

ử ụ ấ ễ

ầ ế ở ạ ữ

 Khi s  d ng Form wizard, b n cũng r t r  dàng khi t o form  ạ ợ   đây  là  k t  h p  gi a  form  theo  yêu  c u  trên.  Cách  làm  wizard v i form Design view. Chúng tôi trình bày thêm cách  ạ này đ  các b n tham kh o. ấ ữ ệ ạ T o form wizard l y nh ng d  li u sau:

ể  B c 1:  ữ ướ  Bảng HOADON lấy các trường: hoadonID, khachID, ngayban;  Bảng KHACH lấy các trường: diachi, email;  Bảng HANGBAN lấy các trường: hangID, soluong;  Bảng HANG lấy các trường: donvi, dongia.

ướ ẽ ạ ượ ầ c này Access s  t o đ c form theo yêu c u có

213213

 Sau b d ng:ạ

2013

Cách khác:

ế ộ

ườ

ch   đ   Design  View  ng  tên  form  con  này  Access

ẽ ặ hangban subform);

ế ậ

 Form  này  g n  đáp  ng  yêu  c u  đ u  bài  ầ ộ Thanhtien trong form con). ế ỉ (ch  thi u c t   B c  2:  ể ử ướ S a  form  con  đ   đáp  ng  bài  toán: ở ­  M   form  con  (thông  th s  đ t  ­  Thêm  m t ộ Textbox  lên  vùng  Detail  c a ủ ộ Control  form  con  và  thi t  l p  thu c  tính  ư Source cho text box này nh  sau: (= [dongia]*[soluong]):

214214

2013

ử ụ

ữ ệ

S  d ng Sub­form trong form l c d  li u

ế ế

ộ ộ

 Bài toán: Thi

ư t k  form l c ra danh sách cán b  m t phòng ban nào đó nh

sau:

2

1

ả ạ

ề V i yêu c u này, ph i t o m t form ph  cho phép hi n th  các thông tin v

ộ ầ

danh sách cán b  c n in ra (1);

ố ầ ọ

ộ ế ậ

 Ph i t o m t form chính cho phép nh p các tham s  c n l c (2); ả ạ  Ph i thi ả

ọ ẽ ự ộ

ụ ộ ở

t l p tham s  cho form ph  sao cho m i khi ch n m t phòng ban  ể  đ ng hi n th  ra

phòng ban đó s  t

trên form chính, danh sách cán b   form ph .ụ

215215

2013

ữ ệ

Cách t o Sub­form trong form l c d  li u

ụ ế ộ

ế ậ

Default

t l p thu c tính

ở ộ

tu c tính

Record Source b ng ằ

 B c 1:  ướ T o form ph ở ớ ạ  ch  đ  Design View; ­ T o m i form  ị ữ ệ ụ ẽ ể ­ Vì form ph  s  hi n th  d  li u d ng b ng nên ph i thi View cho form con là Datasheet; ồ ế ậ ệ ữ ệ ­ Thi ấ … (hình d cách nh n nút

t l p ngu n d  li u làm vi c cho form con  i)ướ

216216

2013

ữ ệ

Cách t o Sub­form trong form l c d  li u

ế ế

ế ậ

ư

 M t màn hình thi

ấ t k  query xu t hi n. Hãy thi

t l p query này nh  sau:

Gõ tham số cho form con tại trường phongbanID

ử ụ

ể ư

ườ

ế

ử ổ Field List đ  đ a các tr

t lên vùng Detail c a

ầ ng c n thi hoten, gioitinh, ngaysinh, tenchucvu;

 S  d ng c a s   form bao g m: ồ ớ

i form v i m t tên g i (ví d :

i, chu n

ụ frmDscb_subform) và đóng l

 Ghi l ị ạ

b  t o form chính.

217217

2013

ữ ệ

Cách t o Sub­form trong form l c d  li u

T o form chính

 B c 2:  ướ - Tạo mới mới form ở chế độ Design View; - Tạo hộp Combo box chứa danh sách các phòng ban có thể chọn trên form chính bằng cách: Dùng chuột kéo đối tượng Combobox từ thanh công cụ ToolBox thả lên form chính, hộp thoại sau xuất hiện:

Chọn mục này để lấy dữ liệu từ Table

218218

2013

Chọn tên Table cần lấy dữ liệu

Chọn tên trường muốn hiển thị

219219

2013

Ẩn thuộc tính khóa

 Thi

ế ậ ộ ố tham s  đã thi

t l p thu c tính  ế ậ ở t l p

form ph  là

Name cho Combo box trùng tên v i ớ ụ cboPhongban.

220220

2013

ử ụ

ể ư

 S  d ng đ i t

ng

ố ượ ẹ

ộ ố ượ

ư

Subform\Subreport trên thanh công c  ụ ToolBox đ  đ a form  Subform\Subreport lên form, m t ộ

ng

con lên form m . Sau khi đ a m t đ i t h p tho i xu t hi n:

Chọn tên form phụ cần đưa lên

Kết thúc yêu cầu cơ bản của bài toán

Chú ý: Giá trị thuộc tính Name của hộp Combobox trên form chính phải trùng với tham số đã đặt ở form phụ. Nếu chưa trùng nhau phải sửa lại cho khớp: hoặc sửa Name của Combo cho khớp với tham số form phụ hoặc thao tác ngược lại mở form phụ sửa tham số cho khớp Name của ô Combobox.

221221

2013

Bài t pậ

ươ ộ ng cán b

ộ ừ ạ  Qu n lý l ả ư Bài 1: T o form cho phép xem danh sách cán b  t ng phòng ban nh

sau:

ầ ọ h p ch n thì danh sách cán

222222

ượ ộ ể ị ọ ỗ Yêu c u: M i khi ch n m t phòng ban t b  phòng ban đó đ ộ c hi n th  lên ừ ộ Subform.

2013

ư ế ạ ộ Bài 2: T o form cho phép tìm ki m cán b  theo tên nh  sau:

ủ ọ

Yêu c u: Sau khi gõ m t tên (có th  là đ m + Tên ho c đ y đ  h  và tên),

ế

ệ ẽ ượ

danh sách các k t qu  tìm th y s  đ

c li

t kê lên Subform.

223223

2013

ế ế

ơ

Bài 3: Thi

t k  form l p hoá đ n bán hàng theo m u:

 Các  nút  Ti n,  Lùi  ơ

ể ị ế đ   đ nh  ệ ầ v  hoá đ n c n làm vi c;  Nút  Thêm  m i ớ đ   b t  đ u  ầ

ể ắ ơ ộ ạ t o m i m t hoá đ n;

ơ

ướ

ệ ạ đ n hi n t ậ có xác nh n tr

 Nút In HĐ đ  in chi ti

ơ

ẽ ượ ọ

ệ ươ

 Nút  Xoá  HĐ  đ   xoá  hoá  ả ầ i. Yêu c u ph i  c khi xoá; ế t hoá  đ n  bán  hàng  ra  report  c  (ch c  năng  này  s   đ hoàn  thi n  sau  khi  h c  xong Ch

ng Report)

224224

2013

ế ế

ư

Bài 4: Thi

t k  form t ng h p thông tin bán hàng nh  sau:

ế

 Sau khi nh p xong giá tr  t ị ừ ậ ạ

ngày và đ n ngày, thông tin chi ti ượ ổ

ế ề t v  các  ư

c t ng h p theo nh  giao

ặ ệ

m t hàng bán ra trong ph m vi ngày đó đ di n trên.

225225

2013

ế ế ộ ợ t k  form t ng h p thông tin bán hàng cho m t khác hàng

ổ ả ư ộ Bài 5: Thi nào đó trong m t kho ng ngày nào đó nh  sau:

ẽ ượ

ọ ổ

ề ừ

Yêu c u: ầ  Sau khi ch n m t khách hàng, nh p vào kho ng ngày c n t ng h p. ầ ổ  Thông tin t ng h p v  t ng m t hàng c a khách đó mua s  đ ệ c li

t kê.

226226

2013

ợ ư

Bài 6: T o form t ng h p thông tin hàng đã bán chi  ế ti

t theo t ng ngày nh  sau:

227227

2013

ơ

Bài 7: T o form theo dõi thông tin hoá đ n bán hàng c a  m t khách hàng nào đó:

ộ ơ ọ ề Yêu c u: Sau khi ch n tên m t khách, thông tin v  các hoá đ n mua

228228

ượ ầ hàng đ ị ể c hi n th .

2013

 Khái ni mệ  T o  Report b ng Wizard ạ  Thi ế ế t k  Report  Truy n tham s   ố ề  In Report

229229

2013

6.1. Khái ni mệ

ế

ế

ữ ệ

 Report  là  công  c   dùng  thi

ấ t  k   in  n  d   li u    ổ ữ ệ

trong Access, không làm thay đ i d  li u.

 M i khi report hi n th  k t qu  (preview) là lúc có  ị ế c n i dung báo cáo ra gi y.

ấ ữ ệ

ỗ ể ượ th  in đ  Thông  th ườ ặ ữ ệ

ộ ộ ả ệ ng h p  đ c bi ầ ẽ

ế

ng  m i  report  s   in  d   li u  c a  m t  ứ Table ho c m t Query nào đó. T c là ph i có m t  ụ ể ườ ngu n d  li u c n in c  th  (tr t  ữ ệ Report  không  có  ngu n  d   li u  s   nói  đ n  ph n  cu i)ố

230230

2013

6.2. C u trúc Report

ườ

 C u trúc m t report thông th

ng g m 5 ph n:

231231

2013

C u trúc Report

 Report Header

 Là phần tiêu đề đầu của Report, nằm ở tiêu đề đầu của trang đầu tiên. Mỗi Report có nhiều nhất 1 Report header. Phần này có thể có hoặc không có thông tin tuỳ vào người thiết kế.

 Report Footer

 Là phần tiêu đề cuối của Report, nằm ở tiêu đề

cuối của trang cuối cùng.

232232

2013

C u trúc Report

 Page Header

 Là phần đầu tiên của một trang báo cáo. Giống như khái niệm Page header trong Word và Excel. Phần này có thể có hoặc không có thông tin tuỳ vào người thiết kế.

 Page Footer

 Là phần cuối cùng của mỗi trang báo cáo.

 Detail

 Là phần thân của report – nơi hiển thị giá trị các bản ghi sẽ in ra. Phần này có thể bị thay đổi, phụ thuộc vào nguồn dữ liệu tại thời điểm sẽ in ra của report.

233233

 Ví dụ: Danh sách học sinh lớp 10A1 là 45 khi đó Detail report sẽ in ra 45 dòng; nếu chuyển sang in danh sách học sinh lớp 10A2 có 48 học sinh, lúc này Detail report sẽ in ra 48 dòng (tương ứng với số bản ghi của nguồn dữ liệu sẽ in ra).

2013

6.3. T o Report b ng Wizard

 VD:  T o  m t  report  in  ra  ộ ộ ừ danh  sách  cán  b     t ươ ả ng  bao  CSDL  Qu n  lý  l g m  các  thông  tin:  Hoten,  tenchucvu,  ngaysinh,  Tenphongban.

 B c  1:  ướ

ộ  Ho c  nh n  đúp  chu t  lên

234234

Ở ẻ   th   Reports,  nh n ấ New,  ch n ọ Report  wizard, nh n ấ OK. ấ ng: ặ ể ượ bi u t

2013

6.3. T o Report b ng Wizard

ọ ữ Ch n d

 B c 2:  ướ ầ ệ ộ

Chọn bảng hay query chứa dữ liệu cần in ra.

Chọn cột chứa dữ liệu cần in ra.

235235

ạ li u c n in trên h p  tho i sau:

2013

6.3. T o Report b ng Wizard

 B c 3:  ể ướ Ch n ki u  ị ữ ệ ể

236236

ọ cách hi n th  d  li u  trên report.  Trong yêu cầu này có thể có 3 kiểu hiển thị dữ liệu trên report (vì dữ liệu được chọn ra từ 3 bảng khác nhau). Vì muốn in một danh sách cán bộ nên chọn kiểu by CANBO

2013

6.3. T o Report b ng Wizard

 B c 4:  ướ

thiết

ế ậ ầ

237237

t l p các  Thi ế ữ ệ t. nhóm d  li u c n thi  Muốn hiển thị dữ liệu theo nhóm giá trị của trường nào, chọn trường đó (Trong bài này chỉ cần hiển thị một danh sách chung nên không cần lập nhóm ở bước này)

2013

6.3. T o Report b ng Wizard

Thi

 B c 5:  ướ ế ậ t l p  ữ ệ ế ắ s p x p d  li u  trên báo cáo:

238238

2013

6.3. T o Report b ng Wizard

ọ  B c 6:  ướ Ch n b  c c

Chọn bố cục cho report

Chọn hướng giấy in

239239

ố ụ (Layout) cho Report:

2013

6.3. T o Report b ng Wizard

Ch n m u đ nh d ng (Style) cho report.

 B c 7:  ướ  B c 8:  ướ Hoàn thi n các thông tin cu i cùng:  Gõ vào tiêu đề report cũng như tên report trên hộp

What title do you want for your report?;

 Chọn Preview the report để hiển thị dữ liệu của report ngay sau khi kết thúc; hoặc hiển thị ngay màn hình thiết kế để sửa cấu trúc report khi chọn Modify the report’s design;

 Cuối cùng nhấn Finish để kết thúc các công việc

sử dụng report wizard.

240240

2013

ị ữ ệ

Màn hình hi n th  d  li u report

241241

2013

In

Mở report ở chế độ thiết kế;

Xuất (Export) thông tin trên report ra Xuất (Export) thông tin trên report ra các loại định dạng khác của MS các loại định dạng khác của MS Office như Word, Excel, HTML. Office như Word, Excel, HTML.

Hiển thị nhiều trang trên 1 MH

Hiển thị 2 trang trên 1 màn hình

Hiển thị report ra màn hình trong từng trang báo cáo;

242242

2013

ư

L u ý:

ướ

 V i  nh ng  report  đ n  gi n, ch   c n  th c  hi n  B c  1;

ỉ ầ ể ế

ớ ướ

B c 2 đã có th  nh n

ơ ấ Finish đ  k t thúc.

 Tuy nhiên tu  vào yêu c u in báo cáo mà mu n d ng l

ừ ợ

ỳ c nào đ  thi ế

i  ế ậ t l p các thông tin cho phù h p hãy  ướ

ở ướ  b ể chuy n nhanh đ n b

c đó.

243243

2013

6.4. Thi

ế ế ỉ

t k  Report  Report wizard ch  có th  t o ra các report in d  li u t ể ạ

ữ ệ ừ

ơ

ườ

ả  Trong nh ng tr ả

các b ng ho c queries theo c u trúc đ n gi n. ợ ữ ệ

ố ộ

ượ

ể ế

ườ

ứ ấ ng h p yêu c u c u trúc report ph c  ỉ ừ ả ạ t p, ho c ph i in d  li u không ph i hoàn toàn ch  t   ặ các b ng và queries ho c in  n báo cáo theo các tiêu  c.  chí, tham s  đ ng nào đó thì không th  đáp  ng đ ng  h p  này  ph i  dùng  đ n  Report  design

 Trong  tr view.

244244

2013

ế ế

6.4. Thi

t k  Report

ở ộ

Kh i đ ng Report design view:

 B c 1:  ướ  Từ thẻ Report nhấn nút New, chọn Design view, nhấn

OK.

 Hoặc nhấn đúp chuột lên biểu tượng Creat report in

Design view trên cửa sổ dự án:

245245

2013

ế ế

t k  Report

 B c 1:  ướ ộ

6.4. Thi Kh i ở đ ng Report  design view:

Thiết kế nội dung cần in

Thanh công cụ

Cửa sổ Properties

246246

2013

ế ế t k  Report ồ

6.4. Thi ự Xây d ng ngu n  ấ

 B c 2:  ướ ể ữ ệ d  li u đ  in  n cho  report.  Report sẽ in những

thông tin gì?

 Phạm vi như thế nào?  thiết lập thuộc tính

+ Cách 1: chọn query cần in tại thuộc tính Record Source.

247247

Record Source cho report: 2 cách

2013

ế ế

6.4. Thi

t k  Report

thiết lập thuộc tính Record Source cho report: 2 cách + Cách 2: nhấn

chuột lên nút … của thuộc tính Record Source để thiết kế query làm nguồn dữ liệu.

248248

2013

ế ế

ử ổ

ế ế

t k  Report 6.4. Thi ư : Đ a các thông tin lên c a s  thi

t k  report.

 B c 3 ướ  Có rất nhiều loại thông tin phải đưa lên report. Mỗi khi có ý định đưa một thông tin lên, bạn phải trả lời được 2 câu hỏi:

• Đó là thông tin gì? là tiêu đề “DANH SÁCH CÁN BỘ”. • Sẽ đặt thông tin đó lên phần nào của report? Đặt lên phần

 Để hiển thị phần tiêu đề đầu và cuối Report: nhấn phải chuột lên cửa sổ thiết kế và chọn: Report Header/Footer

249249

Page Header!

2013

ử ụ

S  d ng công c

ụ Label

 Dùng chuột nhấp nút Label trên thanh công cụ Toolbox

thả lên vị trí cần đặt vào trên Report;  Gõ vào nội dung tiêu đề cần in ra report;  Có thể sử dụng thanh công cụ Formatting để định dạng

hộp dữ liệu này.

250250

2013

ử ụ

S  d ng công c

ụ Text box

 Text box là ô dùng hiển thị dữ liệu của một trường dữ liệu, hiển thị dữ

liệu của một biểu thức (ví dụ tính Tổng tiền).

• Dùng chuột nhấp nút Textbox trên thanh công cụ Toolbox thả lên vị trí

cần đặt vào trên Report;

• Gõ vào nguồn dữ liệu sẽ hiển thị lên Textbox ở thuộc tính Control

 Cách sử dụng Textbox như sau:

Source. Giá trị thuộc tính này có thể:

– Hiển thị giá trị một trường: Khi đó hãy chọn trường muốn đưa thông tin vào

(hình dưới):

251251

2013

ử ụ

S  d ng công c

ụ Text box

– Hoặc hiển thị kết quả một biểu thức. Khi đó gõ biểu thức lên thuộc tính

này bắt đầu một dấu bằng “=”.

– Ví dụ:

– Có thể sử dụng thanh công cụ Formatting để định dạng hộp dữ liệu này.

252252

2013

S  d ng c a s   ườ

ử ụ  Danh  sách  các  tr

ng  d   li u  có  th   in  ra  đ

ơ

ổ Field List ượ ị ở ự

ư

ử ữ ệ ế

ệ ở ử

ể ể c  report  th   ấ ổ Field List (n u ch a th y hi n th  m  th c đ n

c a s   hi n  View | Field List)

ườ

ị ủ

 Mu n in ra giá tr  c a tr

ố ể

ố ượ

ặ ng  c n  in  ra  t

ườ ử

ế ế

ị ng nào lên v  trí nào c a report có  ổ ử ng  Textbox  ho c  c a  s   Field  List  b ng  ừ ử   c a  s   Field  List  t k  report (nên làm theo

th   dùng  đ i  t ộ cách:  dùng  chu t  kéo  tr ổ ầ th  lên v  trí c n in trên c a s  thi cách này thay vì dùng Textbox).

253253

2013

S  d ng công c   ư ả

ử ụ  Giúp đ a  nh t ừ ộ ộ

ụ Image ố ượ  các t p tin  nh in ra report. Sau khi t o đ i t ầ

ọ ệ ạ ả ả ệ ấ ạ

ng  ư Image, m t h p tho i xu t hi n cho phép ch n t p tin  nh c n đ a  lên report:

254254

ọ ệ ả ấ ệ  Tìm và ch n t p  nh, nh n ể ấ OK đ  hoàn t t công vi c.

2013

ườ ằ

ộ ụ ư

ể ng th ng, b ng bi u b ng cách rê chu t. ử ụ ư ẳ ằ ế ế ộ ớ ướ ẫ

ụ Line ử ụ S  d ng công c    Dùng đ  v  các đ ể ẽ ả  V i  yêu  c u  nh   trên,  b ng  cách  s   d ng  các  công  c   nh   đã  ư ầ t k  m t report nh  sau: ng d n hãy thi

255255

h

2013

ử ụ

ụ Line

S  d ng công c

 Trong đó:

 Textbox bao gồm các ô như đã đánh mũi tên chỉ dẫn. Trong đó: -

hoten, ngaysinh, tenchucvu, tenphongban được tạo bằng cách kéo từ cửa sổ Field List lên phần Detail;

• Control Source là =Count([hoten]), • để ở phần Report footer.

 Textbox đếm tổng số cán bộ:

• Control Source là =1; thuộc tính Running sum là Over Group.

 Textbox để tự động đánh số thứ tự phải thiết lập như sau:

256256

 Các hộp chữ còn lại dùng đối tượng Label;  Toàn bộ bảng biểu sử dụng đối tượng Line. Chú ý các đường kẻ phải được nối khít với nhau. Nếu không khít sẽ tạo ra các khe hở và nét đứt (không liền nét).

2013

ữ ệ ố ọ

 Report có tham s  là lo i Report có kh  năng l c d  li u khi in.  VD: In danh sách cán b  m t phòng ban nào đó? Lúc này ph i  ả

6.5. Report ch a tham s ạ ả ộ ộ ố c n đ n report có tham s .

ể ế ậ ử ụ ố ế ề  Có nhi u cách đ  thi ư t l p và s  d ng report có tham s  nh :

257257

 Thiết lập tham số trên Record Source của report;  Thiết lập tham số trên điều kiện lọc (Where Condition) dùng Macro;  Thiết lập tham số trong câu lệnh VBA DoCmd;  …

2013

t  l p  tham  s   trên  thu c  tính  Record

ế Thi Source

 Phòng ban cần in được chọn từ Combo box một form

như sau:

ộ ộ  VD: In danh sách cán b  m t phòng ban nào đó.

 Sau khi chọn tên một phòng ban từ danh sách, nhấn nút In danh sách. Danh sách cán bộ phòng đã chọn sẽ được in ra một report.

258258

2013

ạ ư

ướ B c 1: T o Report đáp  ng thông tin  ầ c n in nh  sau:

259259

2013

T o form theo yêu c u bài

ướ B c 2:  toán:

 Có thể sử dụng Combo Wizard để tạo Combobox lấy ra danh sách

các phòng ban từ bảng phongban;

 Có thể sử dụng Command button Wizard để tạo các nút lệnh Đóng

và In danh sách;

260260

 Cuối cùng được form như sau:

2013

ế ậ

Thi

t l p tham s  cho

ướ B c 3:  Report:

 Thiết lập tham số vào thuộc tính Record Source của Report như

• Mở report đã tạo được ở chế độ Design View (chế độ thiết kế); • Mở query được thiết lập ở thuộc tính Record Source –nơi tạo nguồn dữ liệu và thiết lập tham số cho trường phongbanID của query như sau:

261261

sau:

2013

ế ậ

Thi

t l p tham s  cho

ướ B c 3:  Report:

 Trong đó: tham số cho trường phongbanID là tên (Name) của ô Combo box chứa phòng ban được chọn trên form. Cú pháp viết tham chiếu tới một đối tượng trên form như sau:

Forms!!

 Trong trường hợp này tên ô Combo đó là Combo1 và tên của form (Name của form) là frmIndsCB, cách viết tham số sẽ như sau:

Forms!frmIndsCB!Combo1

262262

2013

ử ụ

S  d ng tính năng Build Expression

ể ử ụ

ứ ể ể ạ

trường phongbanID- nơi sẽ gõ vào tham số.

 Một menu sổ xuống xuất hiện:  Chọn Build hoặc có thể nhấn nút Build trên thanh công cụ Standard, hộp thoại Expression Builder xuất hiện:

263263

 Có  th   s   d ng  tính  năng  Build  Expression  có  ư ẵ s n trên Access đ  giúp t o bi u th c này nh   sau:  Nhấn phải chuột lên ô Criteria của

2013

 Ch n:ọ

ố ượ ầ

ố ượ

Forms|   Forms|All  frmIndsCB – đây là form ch a ứ ng combo box phòng  đ i t ộ ọ ban  c n  l c.  Khi  đó  m t  danh  sách  các  đ i  t ng  trên  form  frmIndsCB  xu t ấ ộ  gi a h p tho i; hi n  ộ

 Hãy  nh n  đúp  chu t

lên  ứ ố ượ ng  ch a  ượ ọ c

ế

ệ ở ữ ấ Combo1  ­  đ i  t phòng  ban  c n  l c,  đ ư k t qu  nh  hình sau:

264264

2013

Bài t pậ

ươ ộ ự ầ ệ ng cán b  th c hi n các yêu c u sau:

ộ ớ ả Trên CSDL Qu n lý l  Bài s  1: ố ế ế Thi

t k  report in danh sách cán b  v i các thông tin:  ả canboID, hoten, ngaysinh, gioitinh (ph i ghi rõ là Nam hay N ),  tencv, tenpban.

ộ ộ ư  Bài s  2: ố In danh sách cán b  m t phòng ban nào đó nh  sau:

 Sau khi ch n tên m t phòng ban, nh n nút  ộ

cán b  phòng ban đã ch n s  đ

In danh sách cán bộ, danh sách  ộ c in ra m t report.

ế ế

ươ

ộ ơ

ẽ ượ ả

 Bài s  3: ố

Thi

t k  report in b ng l

ng cán b  c  quan, bao g m các thông

tin: Hoten, tencv, ngaysinh, luongchinh, phucapcv, dangphi, congdoanphi,  thuclinh

265265

2013

Bài t pậ

ế ế ư ả ợ ộ  Bài s  4: Thi ố ổ t k  query in ra b ng t ng h p cán b  nh  sau:

STT

Tên ch c vứ ụ

ố T ng s  cán b

ể ả ươ ủ  Bài s  5: T o form và report đ  xem và in b ng l ng c a các phòng

ạ ố ư ban nh  sau:

ọ ể ộ

ộ ấ ả ị ươ ươ ả ng, b ng l ng các cán b  phòng đó hi n  ng riêng phòng ban

266266

ẽ ượ  Sau khi ch n tên m t phòng ban, b ng l ả ươ th  lên sub­form. Nh n nút In b ng l ộ c in ra m t report. đó s  đ

2013