ACCESS

Màu nền
Font chữ
Font size
Chiều cao dòng

BÀI GIẢNG

I.Cơ sở dữ liệu quan hệ

I.1. Định nghĩa

I.2. Bảng dữ liệu (table)

I.2.1. Trường (field)

......

Tên bảng (Tên trường 1, tên trường 2, .... Trường n)

Hocvien(Mã số HV, Ho lot, ten, dia chi, dien thoai)

Diemthi(MAHV, MaMH, Ngaythi, diemthi)

a. khoá chính. :

b.khoá ngoài :

trong quan hệ 1-n giữa A-B, khoá ngoài của bảng B là khoá chính của bảng A. trong đó A gọi là bảng 1 (bảng cha), B là bảng nhiều (bảng con)

I.2.2. Mẫu tin (Record)

I.3. quan hệ (Relationship) :

a.quan hệ 1-1 : quan hệ 1-1 giữa A-B khi : một mẫu tin ở bảng A có liên hệ với một mẫu tin ở bảng B, và ngược lại : 1mẫu tin ở bảng B có liên hệ với một mẫu tin ở bảng A

b. Quan hệ 1-n :quan hệ 1-n giữa A-B khi : một mẫu tin ở bảng A có liên hệ với nhiều mẫu tin ở bảng B, và : 1mẫu tin ở bảng B có liên hệ với một mẫu tin ở bảng A

c. Quan hệ n-n : quan hệ n-n giữa A-B khi : một mẫu tin ở bảng A có liên hệ với nhiều mẫu tin ở bảng B, và ngược lại : 1mẫu tin ở bảng B có liên hệ với nhiều mẫu tin ở bảng A

Người ta cụ thể hoá quan hệ n-n thành nhiều quan hệ 1-n, bằng cách thêm một bảng dữ liệu quan hệ

Yêu cầu : quản lý cửa hàng kinh doanh.

Quản lý mua bán thông qua hoá đơn,

Quản lý thông tin hàng hoá, mỗi hàng hoá thuộc về một loại hàng

Quản lý thông tin về nhân viên

II. làm quen với Access

II.1.Mở Access,

II.2.Tạo CSDL mới

II.3.Đóng cơ sở dữ liệu

II.4.mở lại một CSDL đã có

Chương 2 : Bảng dữ liệu

I.tạo bảng

Chương 2

Bảng dữ liệu

TABLE

-Khái niệm về bảng

-khái niệm trường

-thuộc tính của trường

-quy định về khoá chính

-tạo quan hệ

II.1 giới thiệu về bảng :bảng dữ liệu là một công cụ cho phép chúng ta lưu dữ liệu cvủa một đối tượng thông tin(đối tượng được quản lý thông tin). Dữ liệu lưu trên bảng được tổ chức thành dòng và cột.

• Cột : là thông tin chi tiết của đối tượng được gọi là trường(field)

• Dòng : là thông tin cụ thể của một cá nhân trong đối tượng , dọi là mẫu tin (Record)

II.2. dữ liệu được lưu trữ trong bảng.

Access chia dữ liệu lưu trữ thành nhiều loại, mỗi loại dữ liệu chúng ta gọi là kiểu dữ liệu.(datatype)

a.Text (kiểu dữ liệu văn bản).

lưu các giá trị văn bản gồm các ký tự (A-z, 0-9, ......) trên 01 dòng. Một giá trị kiểu text có thể có tối đa 255 ký tự.

b.Memo: (kiểu dữ liệu văn bản).

lưu các giá trị văn bản gồm các ký tự (A-z, 0-9, ......) trên nhiều dòng. Một giá trị kiểu text có thể có tối đa 65535 ký tự. (216 ).

c.Number: Kiểu dữ liệu số.

• Số nguyên : 0,1,2,3,4,5....

• Số thực : có phần thập phân

d.date/time : kiểu dữ liệu thời gian

-26/06/2010

-18:20:45 06:20:45 PM

-26/06/2010 18:20:50

e.Currency. tiền tệ : là kiểu số nhưng được hiển thị có đơn vị tiền tệ của máy tính

f.AutoNumber : là kiểu số tự động, nghĩa là giá trị của dữ liệu sẽ được máy tính tự động sinh ra(không nhập). có hai quy luật sinh giá trị mới : tăng dần và ngẫu nhiên.

g.yes/no: là kiểu dữ liệu có 02 trường hợp giá trị : yes hoặc no, true hoặc là false

II.3.thuộc tính của các trường trong bảng.

Thuộc tính : là các đặc điểm, các tính chất, các quy định về một trường của bảng

1.fieldname : là thuộc tính quy định tên của một trường. đây là thuộc tính bắt buộc. không nhiều hơn 64 ký tự. Không được phép đặt tên trường có dấu tiếng việt.

2.Description : dùng để mô tả ý nghĩ của một trường, không bắt buộc, được phép nhập tiếng việt có dấu.

3.Datatype: thuộc tính quy định kiểu dữ liệu, có 10 kiểu dữ liệu đã trình bày ở phần II.2.

4.FieldSize: quy định kích thước của dữ liệu. tuỳ vào kiểu dữ liệu sẽ có các giá trị khác nhau.

4.a:field size cho kiểu dữ liệu Văn bản(text). Dùng để quy định số ký tự tối đa có thể nhập cho trường đó. Giá trị từ 1255.

4.b:field size cho kiểu dữ liệu số(number). Dùng để quy định kiểu dữ liệu con.

• Loại số nguyên :

o Byte : 0 - 255 (0  28 - 1)

o Integer : -32768 - 32767 (-215  215 - 1)

o Long integer : -2,147,483,648 -- 2,147,483,647 (-231  231 - 1)

• Loại số thực :

o Single : có 7 chữ số phần thập phân

o Double : có 15 chữ số phần thập phân

o Decimal : có 28 chữ số phần thập phân

• Mã nhận dạng : Replication ID.

BÀI TẬP THỰC HÀNH TẠO BẢNG : TRANG 20, 21, 22 TRONG GIÁO TRÌNH.

1. Tạo cơ sở dữ liệu : Hanghoa

• Mở Access chọn mục New  chọn mục Blank database  chọn ổ đĩa D  chọn thư mục .....  nhập tên CSDL : Hanghoa.

2. tạo Bảng :

• chọn vào mục table trên cửa sổ CSDL

• chọn mục New  design view

• Cửa sổ thiết kế bảng sẽ hiện ra  tạo ra từng trường cho bảng đó

3. Tạo trường :

• Tên trường

• Data type

• Field size

4. Lưu bảng :

• Thông báo : "There is no primary key defined...."

• Trả lời thông báo : click chuột vào mục No

5. Nhập dữ liệu (nhập giá trị).

• Clíck vào mục View  datasheet view

• Nhập giá trị theo từng dòng

6.

5.Decimal places: là thuộc tính quy định số chữ số phần thập phân cho kiểu dữ liệu số sẽ có tác dụng khi chúng ta đã quy định thuộc tính Format.

6.Format : quy định về hiển thị dữ liệu. thay đổi theo từng kiểu dữ liệu khác nhau.

• Do Access cung cấp

• Do người dùng định nghĩa

6.1. Format cho kiểu dữ liệu văn bản : không có nội dung Access cung cấp. giá trị format sẽ do người dùng định nghĩa, thông qua các ký tự đại diện :

• @ đại diện cho một ký tự hoặc đại diện cho nhiều ký tự

• > hiện ra chữ in hoa

• \ hịên ra một ký tự cố định trong giá trị

• "Văn bản" văn bản sẽ hiện ra kèm theo giá trị (đứng trước hoặc đứng sau)

• Ký hiệu màu :

o [viết màu]

o Ký hiệu chỉ có tác dụng khi được sủ dụng chung với các ký hiệu định dạng khác

Xây dựng chuỗi định dạng format : First;second

• First : dùng để định dạng hiện ra khi có giá trị

• Second : dùng để hiển thị thông báo cho trường hợp chưa nhập giá trị

Ví dụ 01 :

• Mở bảng Tloaihang ở chế độ design view, thay đổi thuộc tính format của trường Tenloai định dạng chữ hoa hiển thị có màu Xanh, hiển thị thông báo "Chưa có dữ liệu" màu đỏ khi chưa nhập giá trị.

• Mở bảng Thanghoa ở chế độ design view, thay đổi thuộc tính của trường mahang hiển thị dữ liệu có màu đỏ

6.2.Format cho kiểu dữ liệu số : có hai loại định dạng

• Định dạng do Access cung cấp : lựa chọn trong danh sách có sẵn

• Định dạng do người dùng định nghĩa : sử dụng các ký hiệu đại diện, gồm có 04 phần.

o FIRST ; SECOND ; THIRD; FOURTH

o FIRST : dùng để quy định hiện ra số dương

o SECOND : dùng để quy định hiện ra số âm

o THIRD : dùng để quy định hiện ra số 0

o FOURTH : dùng để hiển thị thông báo chưa nhập giá trị

• BẢNG CÁC KÝ HIỆU ĐẠI DIỆN

o ,

o .

o 0

o #

o +

o -

o KÝ HIỆU MẪU : -#,##0.00

Ví dụ 02:

• Mở bảng Tphatsinh ở chế độ design view, định dạng của trường Solg hiện ra : số dương có màu xanh, số âm có màu đỏ (kèm theo dấu -), số 0 hiện ra "Không", không có số "Chưa có dữ liệu".

6.3.Format cho kiểu dữ liệu thời gian : có hai loại định dạng

• Định dạng do Access quy định

• Định dạng do người dùng định nghĩa, bằng cách sử dụng các ký tự đại diện. trong một chuỗi định dạng, tại vị trí của ký tự đại diện sẽ hiển thị giá trị tương ứng

o :

o /

o D, dd, ddd, dddd

o M, mm, mmm, mmmm

o Y, yy, yyyy

Ví dụ 3 :

• mở bảng Tphatsinh ở chế độ design view, thay đổi thuộc tính của trường ngay sao cho chỉ hiển thị năm và có màu xanh.

• Mở bảng thiết kế của Tnhanvien, thay đổi thuộc tính của trường ngaysinh sao cho hiển thị thông tin theo định dạng ngày/tháng/năm, có màu đỏ.

6.4.Format cho kiểu dữ liệu Yes/no : có hai loại định dạng

• Định dạng do Access quy định : yes/no, true/false, on/off

• Định dạng do người dùng định nghĩa

o FIRST;SECOND;THIRD

o FIRST : dùng để định dạng hiện ra cho trường hợp No (nhập vào số 0)

o SECOND :dùng để định dạng hiện ra cho trường hợp Yes (nhập vào số -1)

o THIRD : dùng để định dạng hiện ra cho trường hợp No (nhập vào số 0)

o Chúng ta chỉ sử dụng 02 trong 03 thành phần :

 FIRST;SECOND;

 ;SECOND;THIRD

Ví dụ 4 :

• Mở bảng thiết kế của Tnhanvien, thay đổi thuộc tính của trường phai sao cho hiển thị Nam có màu đỏ khi nhập yes, và hiển thị Nữ có màu xanh khi nhập no.

7.Thuộc tính Input Mask: Là thuộc tính quy định quy cách nhập giá trị của một trường

• Nhập vào Chữ, nhập vào chữ thường

• Nhập vào ký tự chữ (A-Z)

• Nhập vào Ký số (0-9)

• Bắt buộc nhập hoặc không bắt buộc nhập

• .... Password Dùng để quy định nhập giá trị theo định dạng mật khẩu

Lưu ý : mỗi quy định có tác dụng tại mỗi vị trí nhập ký tự

Định dạng Input mask gồm 03 phần : FIRST;SECOND;THIRD

• FIRST : dùng để định dạng nhập giá trị

• SECOND : dùng để định dạng lưu giá trị

o 0 : dùng để quy định lưu trữ dữ liệu gồm : các ký tự nhập từ bàn phím và ký tự cố định được hiện ra

o 1 : dùng để quy định chỉ lưu các ký tự nhập từ bàn phím và không lưu ký tự cố định được hiện ra

• THIRD: là ký tự sẽ đánh dấu vị trí nhập dữ liệu từ bàn phím

Ví dụ 5 :

• Mở bảng thiết kế của Thanghoa, thục hiện quy định sao cho : trường Mahang nhập vào 04 ký tự, trong đó : 02 ký tự đầu bắt buộc nhập vào ký tự chữ, ký tự thứ 03 nhập vào ký số bắt buộc nhập, ký tự thứ 04 nhập vào ký số không bắt buộc nhập.

• Mở bảng thiết kế của Tphatsinh, thay đổi thuộc tính sao cho : trường Fieu có ký tự đầu tiên phải nhập 01 trong bốn giá trị "X", "N", "T", "C", ký tự thứ hai nhập vào số bắt buộc nhập, 02 ký tự cuối nhập vào số không bắt buộc nhập : L099

8.thuộc tính Caption

Là thuộc tính quy định tiêu đề của các trường

Ví dụ 06 :

• Mở bảng thuộc tính của Tloaihang, thay đổi thuộc tính sao cho : trường Maloai có tiêu đề "Mã số loại hàng", trường tên loại có tiêu đề : "Tên loại hàng"

• Tương tự đặt caption cho các trường của 03 bảng còn lại.(tham khảo ý nghĩa của các trường trong Thanghoa, Tphatsinh, Tnhanvien ở trang 04 giáo trình).

9.Thuộc tính default value : là thuộc tính quy định giá trị mặc nhiên (giá trị mặc định, giá trị ban đầu, giá trị đầu tiên). Học viên phải phân biệt : thông báo hiện ra khi chưa nhập giá trị và giá trị có sẵn

Ví dụ 07:

• Mở bảng thiết kế của Thanghoa, thay đổi thuộc tính sao cho : trường dvtinh có giá trị mặc nhiên là "Cái"

• Mở bảng thiết kế của Tnhanvien, thay đổi thuộc tính sao cho : trường lương có giá trị mặc nhiên là 300000

10.Thuộc tính validation Rule (biểu thức hợp lệ) :biểu thức hợp lệ là quy tắc kiểm tra sự hợp lệ của giá trị dữ liệu trên một trường hoặc giữa các trường với nhau. Biểu thức hợp lệ là điều kiện giới hạn giá trị của trường, dữ liệu của bảng.

Xây dựng biểu thức trên Access :

• Biểu thức tính toán : dùng để tính ra một giá trị. Sử dụng các phép toán toán học và nhiều phép toán khác .

• Biểu thức điều kiện : dùng để kiểm tra hoặc lọc giá trị, dựa trên phép toán so sánh và phép toán ghép các điều kiện

• Thành phần trong biểu thức :

o Giá trị : access có 03 loại giá trị cơ bản :

 Chuỗi (văn bản): để đánh dấu một giá trị văn bản chúng ta sử dụng dấu "" : "Chào bạn", "0001"

 Thời gian(Date/time) : để dánh dấu giá trị thời gian chúng ta sử dụng dấu # # : #27/06/2010#, #19:32:47#

 Giá trị số : 10, 100, 3.14, 15300

o Các phép toán toán học :

 +, -, *, /, ^....

 Mod : 10 mod 3 =1, [somay] mod 2 =0

 & : "Lâm Chí" & " " & "Nguyện" == "Lâm Chí Nguyện"

o Tên trường : [somay], [ngaysinh], [maloai]

 [holot]& " " &[ten]

o Các hàm : (Trong Query, chương 3). Date(), Month(....), left,....

• Thành phần trong biểu thức điều kiện đơn giản:

o

o hoặc là biểu thức tính toán, có thể là giá trị, hoặc là một trường

o

 >, =, , =

 Like : dùng chung với các ký hiệu đại diện dùng để so sánh sự giống nhau giữa 02 chuỗi(Văn bản)

Nguyễn Văn Mười Hai

Trần Văn Bình

B223, B224, B210, B211, B225, B168.....

[sobd] like "BA*"  [sobd] like "BA###"

[hoten] like "*Văn*"

[SBD] like "[!A-DTK]#####"

• * : đại diện cho một nhóm các ký tự bất kỳ

• ? : đại diện cho môt ký tự chữ

• #: đại diện cho một Ký số

• [ ]: đại diện cho một trong các ký tự được liệt kê bên trong dấu [ ]

• - :

• ! :

 Between

• Trường [số máy] có giá trị từ 1 đến 40

• [somay] between 1 and 40

 In :

• Đặt điều kiện sao cho một giá trị năm trong một tập hợp các giá trị trong một cặp dấu ngoặc đơn ()

Ví dụ 08:

• mở bảng thiết kế của Tloaihang, thay đổi thuộc tính sao cho : giá trị trường mã loại nằm trong khoảng "0001" đến "1000" : [maloai] between "0001" and "1000"

• Mở bảng thiết kế Tphatsinh, thay đổi thuộc tính sao cho :

o Trường Loai có giá trị là một trong bốn giá trị : "X", "N", "T", "C" : [loai] in ("X", "N", "T", "C").

o Trường Fieu có giá trị sao cho ký tự bắt đầu là một trong 04 giá trị : X, N, T, C: [fieu] like "X*" or [fieu] like "N*" or [fieu] like "T*" or [fieu] like "C*"

o Ký tự bắt đầu của trường fiếu phải bằng với giá trị của trường loại

 [loai]=left([fieu],1)

• Mở bảng thiết kế của Tnhanvien, thay đổi thuộc tính sao cho nhập vào ngày sinh , nhân viên phải có tuổi lớn hơn 18.

o (Date()-[ngaysinh])/365.25 >18

Ghép các điều kiện đơn giản thành một điều kiện phức tạp bằng các sử dụng các phép toán logic : and, or, not

and

or

Not

Lưu ý : trong một điều kiện có từ 02 trường trở lên, thì biểu thức hợp lệ đó phải được đặt trong biểu thức hợp lệ của bảng

11.validation text : là thuộc tính quy định thông báo hiện ra nếu giá trị nhập vào vi phạm biểu thức hợp lệ.

12.Required : là thuộc tính có 01 trong 02 giá trị :yes/no . quy định trường phải nhập giá trị (yes) hoặc trường được phép không nhập giá trị (no)

13.Allow zero length : là thuộc tính có 02 yes/no. quy định

• Yes : giá trị của trường kiểu văn bản được phép không có ký tự

• No : giá tri của trường kiểu văn bản không được phép không có ký tự.

14.index : là thuộc tính quy định trường dùng làm chỉ mục, nghĩa là trường sẽ được ưu tiên trong việc sắp xếp mẫu tin, hoặc là tìm kiếm mẫu tin.

• No, trường không làm chỉ mục

• Yes (no duplicates) : làm chỉ mục nhưng giá trị của trường không được phép trùng nhau

• Yes (duplicates ok) : làm chỉ mục giá trị của trường cho phép trùng nhau

15.New values : là thuộc tính quy định phương pháp sinh ra giá trị mới của trường có kiểu dữ liệu Autonumber.

Increment

Random

III.Thay đổi khoá chính và tạo quan hệ

Khoá chính : là một hoặc nhiều trường trong một bảng, giá trị của khoá chính dùng để phân biệt các mẫu tin

Điều kiện để trường làm khoá chính :

• Giá trị của trường không được trùng nhau

• Giá trị của trường không được để trống (giá trị null)

Sau khi đặt khoá chính, giá trị mới của khoá chính cũng phải thoả mãn hai điều kiện trên

Phương pháp đặt một trường làm khoá chính : xem tài liệu (trang 23)

IV.Đặt quan hệ giữa các bảng :

Xem giáo trình trang 23

b.Thay đổi thuộc tính của quan hệ :

Quan hệ có 03 thuộc tính :

1. Quy định tham chiếu rang buộc toàn vẹn : (Enforce Referential integrity)

Dữ liệu giữa hai bảng sẽ bị ràng buộc bởi 03 điều kiện :

• Dữ liệu của trường tham gia quan hệ bên bảng nhiều phải có trước bên bảng 1

• Không thể thay đổi giá trị của trường tham gia quan hệ bên bảng 1, nếu có các mẫu tin liên hệ bên bảng nhiều

• Không thể xoá mẫu tin bên bảng 1, nếu có các mẫu tin liên hệ bên bảng nhiều.

2. Đồng bộ khi cập nhập (cascade update related field) : nếu được chọn, cho phép thay đổi giá trị của trường tham gia quan hệ bên bảng 1, đồng thời các giá trị có liên quan bên bảng nhiều sẽ được thay đổi theo. Nếu không chọn thì sao .....

3. Đồng bộ khi xoá dữ liệu (Cascade delete related record) :

4.

Chương 3 : Truy vấn (query)

I.định nghĩa: truy vấn là một ngôn ngữ thao tác trên dữ liệu (công cụ), nó cho phép chúng ta đáp ứng các yêu cầu về tìm kiếm và thay đổi dữ liệu

• Tìm kiếm dữ liệu nghĩa là liệt kê thông thi theo một yê cầu nào đó :

o Liệt kê dữ liệu kết hợp từ nhiều bảng

o Tổng hợp số liệu từ nhiều bảng

o Trình bày dữ liệu theo dạng bảng tham chiếu chéo(Crosstab).

• Thay đổi dữ liệu :

o Tạo bảng mới

o Xoá mẫu tin trên một bảng

o Thêm mẫu tin mới

o Thay đổi thông tin mẫu tin

• Ngoài ra : truy vấn còn nguồn dữ liệu cho các đối tượng khác. (truy vấn, biểu mẫu, báo cáo),.

II.Công cụ tạo ra truy vấn :

Acces cung cấp 02 công cụ tạo ra truy vấn :

• Ngôn ngữ SQL : Structure query languages

• Thông qua Công cụ QBE : Query By Example

III.Các thành phần trong QBE :

• Vùng liệt kê dữ liệu nguồn (sử dụng nút lệnh Show tables để chọn các bảng/truy vấn hiện ra).

• Khu vực thiết kế :

o Field : dùng để liệt kê các trường hoặc các biểu thức tính toán, mỗi trường/biểu thức được hiện ra trên 01 cột

o Table : là tên của bảng/truy vấn chứa trường trên cùng cột, sẽ để trống đối với các cột biểu thức.

o Dòng sort dùng để quy định tiêu chí sắp xếp theo một hoặc nhiều trường. có thứ tự ưu tiên từ trái sang phải

o Dòng Show: quy định cho phép một trường hiện ra hoặc không hiện ra

o Khu vực Criteria (gồm các dòng còn lại): cho phép nhập vào các biểu thức điều kiện để lọc các mẫu tin.

 Điều kiện của trường nào thì đặt ở cột của trường đó

 Các điều kiện trên cùng một dòng được ghép với nhau bởi phép toán and.

 Các điều kiện khác dòng sẽ ghép với nhau bởi phép toán or

 Access sẽ ưu tiên ghép các điều kiện trên cùng dòng trước,sau đó sẽ ghép các dòng lại với nhau.

IV.Các câu truy vấn thông dụng (Tự đọc ở nhà).

Các thành phần trong câu truy vấn :

1. Hằng giá trị

Trong Access cho phép chúng ta sử dụng 01 trong 03 loại giá trị cơ bản sau đây :

• Giá trị văn bản : để đánh dấu một giá trị văn bản chúng ta đặt giá trị trong "Chào bạn", "0001", "MH01"

• Giá trị thời gian : ngày/tháng/năm, giờ:phút:giây. Đánh dấu giá trị thời gian bằng một cặp dấu ## : #04/07/2010 18:08:40#, #04/07/2010#, #18:09:20#

• Giá trị số : 10000, 100000, 10.14, 0.324 , ......

• Trong một biểu thức chúng ta phải sử dụng đồng nhất về loại giá trị.

2. Kiểu dữ liệu : cho phép chúng ta sử dụng các kiểu dữ liệu giống như trên bảng.

3. Biến trong câu truy vấn : (biến dữ liệu). là một thành phần thay đổi giá trị theo thời gian và không gian, có hai loại biến :

• Biến trường (Trường), trong câu truy vấn, biến trường là các trường trong dữ liệu nguồn. sử dụng trường thông qua tên : [solg], [dgia], [loai] và được đặt trong một cặp dấu ngoặc vuông. Trong trường hợp có nhiều trường trùng tên trong dữ liệu nguồn, người ta sử dụng cú pháp sau để phân biệt các trường trùng tên :

o [ten bang].[ten truong]

o [ten bang]![ten truong]

• Biến tham số (tham số), khi tên biến không trùng với tên của các trường trong dữ liệu nguồn của truy vấn, thì biến đó gọi là tham số, tên biến phải đặt trong một cặp dấu [ ], và giá trị của biến sẽ được nhập vào khi thực hiện câu truy vấn

4. biểu thức trong truy vấn :(đã được trình bày trong Validation rule)

• biểu thức tính toán : dùng để tính ra một giá trị cụ thể. Trong biểu thức tính toán có các thành phần sau :

o hằng giá trị: 0.1

o trường : [solg], [dgia]  thue:[solg]*[dgia]*0.1

o phép toán toán học : +, -, *, /, ^, mod

o phép toán trên văn bản : &

o hàm số.

• Biểu thức logic (điều kiện)

o Điều kiện đơn giản :

 Vế trái, vế phải : hằng số, trường, biểu thức tính toán

 Phép toán so sánh

• >, =, , =

• In

• Between

• Like

• Is null - [mahang] is null

• Is not null - [mahang] is not null

o Điều kiện phức tạp :

 Phép toán logic : and, or, not

• Trong quá trình sử dụng phép toán tính toán, chúng ta có thể đặt tên cho biểu thức bằng cú pháp sau : tên biểu thức:

5. Hàm số trong truy vấn :

Định nghĩa : hàm số là một công thức tính toán được sử dụng thông qua tên hàm

Sử dụng hàm : (tham số, tham số,......)

• Không tham số

• Có 01 tham số

• Có nhiều tham số.

Các loại hàm số trong truy vấn :

• Hàm toán học (tính toán)

o Abs(-1)=1, abs(100)=100

o Exp(10) = e10

o Fix(10.3)=10, fix(-5.1)=-5

o Int(10.3)=10, int(-5.1)=-6

o Log(100) == ln(100)

o Sqr(36)=6

• Hàm xử lý giá trị văn bản (Chuỗi)

o Lcase("Chào bạn")= "chào bạn"

o Ucase("Chào bạn")= "CHÀO BẠN"

o Left("Chào bạn",4)= "Chào"

o Right("Chào bạn",3)= "Bạn"

o Mid("Công nghệ thông tin",6,4)= "Nghệ"

o Len("Chào bạn")=8

o STR(12345)= "12345"

o VAL :

 Val("12345")=12345

 Val("123abc344")=123

 Val("ABC,1234dc4534")=0 error

• Hàm xử lý giá trị ngày tháng năm

o Now() == #04/07/2010 07:03:50 PM#

o Date() ==#04/07/2010#

o Time() ==#07:04:30 PM#

o Day(#04/07/2010#)=4

o Month(#04/07/2010#)=7

o Year(#04/07/2010#)=2010

o Weekday(#04/07/2010#) =1

o Datepart("q",#04/07/2010#)=3

o Hour(#07:04:30 pm#)=19

o Minute(#07:04:30 PM#)=4

o Second(#07:04:30 PM#)=30

• Hàm xử lý lựa chọn :

o Choose(3, "chào","Bạn","Công","nghệ")="Công"

o Choose(4, 1,4,2,5,6,8)=5

o IIF: là hàm tính giá trị , phụ thuộc vào một điều kiện nào đó :

IIF(,,[biểu thứcgiá trị khi điều kiện sai])

• Thuế: IIF([tenloai]="Thực phẩm",[solg]*[dgia]*0.03, [solg]*[dgia]*0.1)

• Hàm làm đối số cho câu truy vấn

• Hàm cơ sở dữ liệu.

Sử dụng hàm : sử dụng trong biểu thức tính toán, sử dụng trong biểu thức điều kiện

Day([ngaysinh]) = 30 and month([ngaysinh])=4

Phương pháp tạo câu truy vấn lựa chọn (Select query)

• Phân tích :

o Thông tin liệt kê trong kết quả :

 Trường :ngay, loai, tenloai, tenhang, solg, dgia

 Biểu thức:.....

• Tien:solg*dgia

• Ho va ten nhan vien: [holot]& " " &[ten]

o Điều kiện :

 [Ngay] between 01/02/2010 and 31/03/2010

o Dữ liệu nguồn : là các bảng chứa : thông tin liệt kê, các điều kiện, các quan hệ cần thiết :

 Tphatsinh

 Tloaihang

 Thanghoa

 Tnhanvien

• Thiết kế

o Chọn vào mục "Create query in design view"

o Chọn bảng dữ liệu nguồn từ cửa sổ show table sau đó chọn vào close

o Chọn các trường cần liệt kê theo thứ tự yêu cầu

o L

Hàm cơ sở dữ liệu (hàm xử lý trên cơ sở dữ liệu): là hàm tính giá trị tổng hợp trên một bảng hoặc một câu truy vấn.

• Davg

• Dcount

• Dlookup

• Dmin

• Dmax

• Dsum

Một hàm CSDL có 03 tham số, mỗi tham số đều phải đặt trong một cặp dấu ""

("Biểu thức", "phạm vi", "Điều kiện")

• Biểu thức : là một trường hoặc một biểu thức tính toán, giá trị tổng hợp sẽ được tính trên biểu thức này

• Phạm vi : là tên của một bảng hoặc tên một câu truy vấn chứa các trường trong biểu thức và các trường trong điều kiện

o Viết công thức tính tổng số lượng trên bảng phát sinh : Dsum("[solg]","Tphatsinh")

o Tính số tiền trung bình của phát sinh : Davg("[solg]*[dgia]", "Tphatsinh")

• Điều kiện : là các điều kiện dùng để lọc các mẫu tin trước khi tính tổng

o Tìm lương nhỏ nhất của nhân viên nam Dmin("[luong]","Tnhanvien","[phai]=-1")

o Tìm lương của nhân viên nguyễn công danh,

Dlookup("[luong]","Tnhanvien","[holot]&' '&[ten]='Nguyễn Công Danh ' ")

"[Holot]& ' '&[ten]='Nguyễn Công Danh' "

• Lưu ý : Biểu thức bên trong một cặp dấu nháy kép, nếu có sử dụng giá trị văn bản, thì ta dùng dấu nháy đơn để đánh dấu giá trị văn bản đó.

Tính tiền trung bình của các phát sinh xuất mặt hàng AM01

Davg("[solg]*[dgia]", "Tphatsinh", "[loai]= 'X' and [mahang]= 'AM01' ")

Tìm họ và tên của nhân viên có mã số là "0003" :

Dlookup("[holot]& ' '&[ten]", "Tnhanvien", "[manv]= '0003' ")

Thuộc tính trong câu truy vấn

• Thuộc tính của câu truy vấn

o Vào bảng thuộc tính của câu truy vấn bằng cách : Trang 45 trên giáo trình

o Thuộc tính Top Values : là thuộc tính cho phép lấy mẫu tin trên cùng của danh sách mẫu tin. Top values được dùng chung với chức năng sắp xếp mẫu tin của truy vấn để tìm các mẫu tin có giá trị lớn nhất hoặc nhỏ nhất

 Tìm mẫu tin có giá trị lớn nhất : sort descending, top values  1

 Tìm mẫu tin có giá trị lớn nhất : giá trị =Dmax(....)

 Tìm mẫu tin có giá trị nhỏ nhất : sort ascending, top values  1

• Thuộc tính của các trường trong câu truy vấn.

Liệt kê nhân viên nam có mức lương nhỏ nhất.

[phai]=-1

[luong]=lương nhỏ nhất của những người nam

[luong]=Dmin("[luong]", "Tnhanvien", "[phai]=-1")

III.4.Thống kê, tổng hợp dữ liệu (Câu truy vấn phân nhóm)

Đây là câu truy vấn cho phép phân nhóm các mẫu tin, và thực hiện tính giá trị tổng hợp cho từng nhóm, chúng ta sử dụng các hàm làm đối số cho câu truy vấn để tính giá trị tổng hợp trên từng nhóm : Sum, Count, AVG, Min, Max

4.1.Thống kê trên toàn bảng/truy vấn :

Là câu truy vấn thực hiện thống kê mà không có tiến hành phân nhóm.

4.2.Thống kê dữ liệu theo từng nhóm :

Là câu truy vấn thực hiện thống kê trên các nhóm mẫu tin. Mỗi nhóm mẫu tin được phân nhóm theo một hoặc nhiều tiêu chí (Có giá trị chung trên các tiêu chí đó).

Câu 25 : liệt kê các mặt hàng có tổng số lượng xuất lớn hơn tổng số lượng xuất của Bột giặt Omo. Kết quả hiển thị : mahang, tenhang, tong so luong xuat.

Phân tích :

• Tiêu chí phân nhóm : mahang, tenhang,

• Tính tổng hợp : tổng số lượng : sum([solg])

• Điều kiện

o [loai]="X"

o Tổng số lượng lớn hơn tổng số lượng xuất của Bột Giặt Omo.

 tổng số lượng xuất của Bột Giặt Omo. : câu truy vấn trung gian cau25a: tính tổng số lượng xuất của Bột giặt Omo. Thông tin liệt kê: tongsl.

o Tổng số lượng >Dlookup("[tongsl]", "cau25a")

Phân tích câu truy vấn phân nhóm (tinh tổng hợp dữ liệu)

Dấu hiệu : "tính tổng số..., tính giá trị trung bình..., tính.....theo...."

• Trường phân nhóm : 0,1,n

o Liệt kê

• Giá trị tổng hợp :

o Liệt kê và xác định công thưc tính : tên hàm(tên trương/ biểu thức)

• Điều kiện

o Liệt kê các điều kiện

o [truong] so sánh với giá trị

o [bieu thưc tổng hợp] so sanh với giá trị

Câu truy vấn có tham số.

Là câu truy vấn mà bên trong của nó có sử dụng các tham số.

• Sử dụng tham số trong một biểu thức tính toán

a. Ví dụ : liệt kê các phát sinh : ngay, loai, mahang, solg, dgia, thue. Trong đó thuế =[solg]*[dgia]*[ty le thue]. Giá trị của tỷ lệ thuế được nhập vào khi thực hiện câu truy vấn

• Sử dụng tham số trong biểu thức điều kiện :

a. Tìm thông tin về nhân viên với mã nhân viên được nhập vào khi thực hiện câu truy vấn

b. Tìm thông tin về nhân viên với mã nhân viên =[tham số]

[ngay] between [nhập vào từ ngày] and [nhaapj vào đến ngày]

[manv]=[nhập vào mã số nhân viên]

Câu truy vấn tham chiếu chéo (crosstab query)

Khi giá trị của một trường hoặc giá trị của một biểu thức trở thành tiêu đề cột của truy vấn và giá trị các ô trong vùng lưới là giá trị tổng hợp (Sum, count, avg, min, max) thì chúng ta phải tạo câu truy vấn crosstab query để đáp ứng yêu cầu.(Căn cứ vào hình mẫu kết quả để xác định câu truy vấn tham chiếu chéo).

Các thành phần cuả câu truy vấn tham chiếu chéo:

• Tiêu đề dòng ( rows heading) : là trường/biểu thức mà giá trị của nó xuất hiện ở đầu dòng. Có thể có nhiều trường làm tiêu đề dòng.

• Tiêu đề cột (column heading) : là trường/biểu thức mà giá trị của nó làm tiêu đề của từng cột. có duy nhất một trường làm tiêu đề cột.

• Giá trị tổng hợp : là các giá trị xuất hiện ở vùng lưới, được tính bằng các hàm làm đối số cho câu truy vấn.

• Điều kiện xét trước khi thực hiện tính tổng hợp.

Có hai cách tạp câu truy vấn tham chiếu chéo :

• Sử dụng chức năng Crosstab query wizard :

• New-design view :

Câu truy vấn hành động (action query):

Truy vấn hành động là một câu truy vấn cho phép chúng ta thao tác trên dữ liệu, thay đổi dữ liệu. có 04 loại thay đổi :

• Tạo bảng mới (make table query)

• Xoá mẫu tin (delete query)

• Thêm mẫu tin (append query)

• Thay đổi giá trị của trường (update query)

Kết quả của một câu truy vấn hành động là sự thay đổi của dữ liệu (sẽ không hiện ra nội dung). Sau khi thực hiện câu truy vấn hành động chúng ta không thể phục hồi lại giá trị cũ. Để đảm bảo an toàn cho dữ liệu, trước khi làm bài phần này, học viên phải sao lưu dữ liệu lại.

A. Câu truy vấn tạo bảng mới (make table query)

Là câu truy vấn tạo một bảng mới từ kết quả của một câu truy vấn select.

Lưu ý : nếu kết quả câu truy vấn lưu vào một bảng đã có thì , bảng đã có sẽ bị xoá, và Access sẽ tạo ra bảng mới trùng tên và có nội dung của câu truy vấn hiện tại.

B. Câu truy vấn xoá (delete query)

Là câu truy vấn xoá một hoặc nhiều mẫu tin trên một bảng, các mẫu tin bi xoá phải thoả mãn một điều kiện nào đó

Thực hiện phân tích :

• Xoá mẫu tin trên bảng nào ?

• Điều kiện :

i. .....

• Dữ liệu nguồn : không chọn dư bảng, khong chọn thiếu bảng chỉ chọn đủ

Lưu ý : các mẫu tin bị xoá phải thoả mãn điều kiện rang buộc toàn vẹn, nghĩa là xoá các mẫu tin ở bảng cha thì mẫu tin ở bảng con phải bị xoá theo (chọn mục Cascade delete related records)

C. Câu truy vấn thêm mẫu tin mới (Append query)là câu truy vấn nối thêm mẫu tin vào một bảng đã có.

• Lựa chọn một số mẫu tin từ một bảng sau đó thêm các mẫu tin đã được lựa chọn vào một bảng khác

• Thêm mẫu tin vào một bảngvới dữ liệu được nhập vào khi thực hiện câu truy vấn (dùng tham số để thêm mẫu tin)

• Thêm vào một mẫu tin có thông tin cố định

Giá trị của mẫu tin thêm vào phải thoả mãn cả 03 điều kiện sau :

o Biểu thức hợp lệ của từng trường (Validation rule)

o Ràng buộc toàn vẹn("giá trị của trường tham gia quan hệ bên bảng nhiều phải có trước trên bảng 1").

o Giá trị của khoá chính phải : không trùng nhau, không để trống.

D. Câu truy vấn thay đổi giá trị (Update query) : là câu truy vấn cho phép thay đổi giá trị của một hoặc nhiều trường trên một hoặc nhiều mẫu tin, mỗi mẫu tin phải thoả mãn một điều kiện nào đó.

-Trường thay đổi giá trị ????  biểu thức thay đổi : [luong]+0.1*[luong]  1.1*[luong]

-Các điều kiện ??????-[luong]=dmin("[luong]","Tnhanvien")

-Dữ liệu nguồn ?????

III.8.Một số câu truy vấn thông dụng :

a.Find duplicate wizard : là câuu truy vấn tìm kiếm các mẫu tin có giá trị trùng nhau trên một hoặc nhiều trường.

b.Find unmatch query wizard : là câu truy vấn tìm kiếm mẫu tin trên bảng A có thông tin không có trên bảng B, Bảng A gọi là bảng có, bảng B goi là bảng không, giữa hai bảng A,B có liên hệ thông qua một cặp trường.

Bài tập ôn tập : ví dụ 33 : liệt kê tổng số lượng xuất, tổng số lượng nhập của từng mặt hàng. -Thông tin liệt kê : Mahang, tenhang, Tổng xuất, tổng nhập, tổng nhập-tổng xuất.

-Tong xuat:Sum(iif([loai]="X",[solg],0))

-Tong nhap:Sum(iif([loai]="N",[solg],0))

-Liệt kê tổng số lượng loại hàng thực phẩm, tổng số lượng loại hàng đồ trang trí nội thất, theo từng loại phát sinh. Thông tin liệt kê : loại, tổng thực phẩm, tổng trang trí nội thất.

-Liệt kê nhân viên và tổng số lần phát sinh xuất, tổng số lần phát sinh nhập của từng nhân viên. Thông tin liệt kê : MANV, Ho va ten nhan vien, tổng lần xuất, tổng lần nhập

-Tổng lần nhập : count(iif([loai]="N",[sott],null))

Chương IV Biểu mẫu(form)

I.Giới thiệu :

Form là công cụ trình bày, thao tác trên dữ liệu hoặc thực hiện một số chức năng khác

Thông tin trong biểu mẫu thường được xây dựng dựa trên một số dữ liệu từ một bảng hoặc Câu truy vấn. chúng ta gọi bảng hoặc câu truy vấn đó là dữ liệu nguồn (Record source,data source).

Access chia biểu mẫu ra làm hai loại :

• Biểu mẫu gắn kết (Bound) : là biểu mẫu trình bày và thao tác dữ liệu trên một bảng hoặc một truy vấn

• Biểu mẫu độc lập (unbound) : là biểu mẫu có các chức năng khác, không trình bày dữ liệu của một bảng/truy vấn.

Trên một biểu mẫu ta sử dụng nhiều đối tượng khác nhau để có thể trình bày dữ liệu, gọi là điều khiển : label, textbox, combo box,....Các điều khiển sẽ được lựa chọn từ hộp công cụ.

I.2.Hộp công cụ (tool box).

I.3.các thành phần cơ bản của trang thiết kế form

a.tiêu đề form : Caption

b.Phần đầu Form: Form header

c.Phần cuối Form : Form Footer

d.Phần chi tiết : Form detail.

II.Tạo Form :

1. Sử dụng AutoForm

a. Chọn tab table/query, chọn Bảng/truy vấn  new object-Autoform

b. Chọn mục Form new  autoform ......

i. Columnar

ii. Tabular

iii. Data sheet

iv. Pivot table

v. Pivot chart

2. Sử dụng Form Wizard

3. Tạo Form bằng design view :

a.

CÁC ĐIỀU KHIỂN CƠ BẢN TRÊN FORM

Điều khiển là các đối tượng được thiết kế và đặt trên một Form (Control). Acces chia điều khiển ra làm ba loại

• Bound : điều khiển gắn kết  là các điều khiển cho phép chúng ta trình bày dữ liệu của một trường. khi giá trị của điều khiển thay đổi thì giá trị của trường cũng sẽ thay đổi theo và ngược lại.

• Unbound : điều khiển độc lập / điều khiển không gắn kết : là các điều khiển cho phép nhập giá trị, nhưng giá trị của điều khiển không được lưu lên Cơ sở dữ liệu. người ta dùng giá trị của điều khiển Unbound để tham gia vào một biểu thức (tính toán, điều kiện), hoặc được sử dụng các các mục đích khác.

• Calculated : điều khiển tính toán được  là một điều khiển mà giá trị của nó là kết quả của một biểu thức. chúng ta không thể nhập giá trị cho điều khiển tính toán được.

Người dùng có thể chọn sử dụng các điều khiển trên hộp toolbox (hộp công cụ).

Điều khiển Combo box / list box. : là điều khiển cho phép chúng ta nhập giá trị bằng cách chọn từ một danh sách. Nhằm mục đích tránh sai sót trong việc nhập giá trị. Có hai loại danh sách giá trị

• Chọn danh sách từ một bảng hoặc từ một câu truy vấn đã có, (từ cơ sở dữ liệu).

• Do người dùng tự định nghĩa.

Các phương pháp tạo combo box :

• Sử dụng chức năng control wizard (xem giáo trình)

• Không sử dụng chức năng control wizard. : nghĩa là chúng ta tạo ra điều khiển và thay đổi giá trị của các thuộc tính của điều khiển đó để phù hợp với yêu cầu.

1. tên của điều khiển, ý nghĩa của điều khiển đó ( dùng để nhập giá trị cho trường nào ? dùng để nhập giá trị loại gì ?)

2. xác định loại danh sách giá trị lựa chọn .

 nội dung của danh sách

3. trong danh sách sử dụng cột giá trị nào để làm giá trị của điều khiển (căn cứ vào mục 1)

4. điều khiển gắn kết hay không gắn kết.

5. các thông tin trình bày :

 độ rộng của từng cột

 độ rộng của danh sách

 .....

• Thiết kế.

Main form/subform :

là hai form có mối liên hệ với nhau : main Form chứa sub form, subForm được nhúng vào mainform.

Main form : là một form gắn kết hoặc không gắn kết. cho phép nhập hoặc tìm kiếm thông tin.

SubForm : là một form gắn kết, sau khi nhúng vào mainform, subform chỉ hiển thị các dữ liệu có liên quan đến mainform thông qua các cặp trường quan he

Quan hệ : Quan hệ giữa mainform và subform có thể là các quan hệ sẳn có trong dữ liệu(Relationship), hoặc các quan hệ được định nghĩa trong quá trình xây dựng mainform/subform. Quan hệ giữa hai form thể hiện thông qua các cặp trường.

• Link child field : là trường tham gia quan hệ ở subform

• Linkmaster field : là trường tham gia quan hệ ở mainform.

Cách tạo ra mô hình mainform-subform

• Dùng autoform.

• Dùng FormWizard.

• Dùng chức năng control wizard :

1. tạo subform: giống trong hình, chú ý đến trường làm mối quan hệ với Mainform, default view

2. Tạo mainform

3. nhúng Subform vào mainform sử dụng chức năng control wizard.

• Sử dụng chức năng Design view.

Phân tích :

1. Mainform :

a. Gắn kết hay không gắn kết :

b. Nội dung hiển thị trên mainform : vị trí, vai trò của từng điều khiển :

2. SubForm :

a. Gắn kết với dữ liệu nào ?

b. Trường nào trong subform sẽ làm mối liên hệ với mainform.

c. Giá trị tổng hợp :

i. Hàm tính

ii. Trường, biểu thức

3. Xác định quan hệ

a. Master field 1---- link child field 1

b. Master field 2---- link child field 2

c. Master field 3---- link child field 3

d. ...............

Thiết kế :

1. Tạo subform

a. New-design view

b. Xác định data source , record source : thêm các trường làm quan hệ với mainform

c. Trình bày subform : tabular, datasheet.

d. Tính các giá trị tổng hợp :

i. Vào form footer,

ii. Tạo textbox đặt tên cho textbox  nhập biểu thức tính giá trị tổng hợp ở mục control source.

e. Lưu subform

2. tạo main form :

a. new  design view

b. xác định dữ liệu nguồn (Record source).

c. Trình bày main form

i. Lưu ý các điều khiển dùng làm quan hệ với subform, phải đặt tên.

3. nhúng subform không dùng Wizard, sử dụng điều khiển subform/subreport.

4. đặt giá trị các thuộc tính của subform :

a. source object : tên của subform

b. xác định thứ tự link child field, mỗi trường cách nhau bởi dấu ;

c. xác định thứ tự link master field , mỗi trường cách nhau bởi dấu ;

5. lưu mainform .

6. lựa chọn giá trị tổng hợp từ trong subform

a. tạo textbox

b. lấy giá trị từ trong subform sử dụng chức năng Express builder.

I.Check box, option button, toggle button

Đây là các điều khiển cho phép chúng ta nhập giá trị kiểu yes/no, bằng cách click chuột trái, chọn hoặc bỏ chọn.

II.Option group :

Là điều khiển cho phép chúng ta nhập giá trị bằng cách chọn vào một trong các điều khiển Check box, option button, toggle button trong cùng một nhóm. Các điều khiển checkbox,... được quản lý theo một nhóm (option group), mỗi điều khiển có một giá trị riêng (option value). Khi người dùng chọn vào một điều khiển thì giá trị của Option Group sẽ bằng với giá trị của điều khiển được lựa chọn

Có hai cách tạo ra option group :

• Sử dụng chức năng control wizard.

o

• Không Sử dụng chức năng controlwizard.

o Thay đổi tiêu đề

o Thêm điều khiển lựa chọn

o Thay đổi tiêu đề của mỗi lựa chọn

o Thay đổi giá trị lựa chọn

o Gắn kết với một trường.

III.Tab Control :

Điều khiển tabcontrol là điều khiển cho phép chúng ta tạo nhiều trang thiết kế và xếp chồng lên nhau. Điều khiển này thường dùng để mở rộng diện tích thiết kế.

• Thêm trang mới

• Thay đổi tiêu đề của trang

• Xoá một trang

• Thay đổi thứ tự trang

MACRO

Macro là một chức năng do người dùng định nghĩa dựa trên việc sắp xếp một dãy các hành động có thứ tự, các hành động này là các chức năng nhỏ hơn do Access định nghĩa (có sẵn).

Access chia macro ra làm hai loại :

• Macro độc lập : là các macro được thực hiện không phụ thuộc vào các thành phần khác của cơ sở dữ liệu.

• Macro gắn kết với một sự kiện của một đối tượng (điều khiển, form, Report, CSDL).

Sự kiện : là sự tác động của người dùng lên một đối tượng. người dùng sử dụng bàn phím, chuột, sự thay đổi dữ liệu để tác động lên đối tượng đó. Ngoài ra sự kiện còn là hoạt động xảy ra bên trong của đối tượng đó.

• Mouse :

o Kích chuột trái : on click

o Kích đôi chuột : on double click

• Keyboard :

o Khi ấn một phím : on key pressed

• Điều khiển :

o On Enter

o On Exit

o Got focus

o Lost Focus

• Form :

o Open

o Close

o Activate

o Deactivate

o Current

• Data

o Change

o Before update

o After update

On change before update  on update  after update.

Macro ....... Gắn kết với sự kiện ..................của điều khiển ............... trên form ........

Macro :

• Tên macro

• Chức năng của macro

o Hành động 1

 Các đối số của hành động

o Hành động 2

o Hành động 3

o .......

Các thao tác đối với Macro :

1. Macro độc lập

a. Tạo Macro.........

b. Thực hiện Macro.......

i. Run........

ii. Double click..........

c. Thiết kế lại một Macro :......

2. Macro gắn kết

a. Tạo macro gắn với một sự kiện

b. Thực hiện Macro

c. Gắn một macro đã có với một sự kiện

Message Box

Bạn đang đọc truyện trên: Truyen2U.Pro

#access