Tải bản đầy đủ (.pdf) (50 trang)

Hệ thống ứng dụng dữ liệu report để chỉnh sửa application

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.98 MB, 50 trang )

w

bu

y

N

O
W

!

h a n g e Vi
e

k
lic
.c

Report wizard cho phép tối đa 4 mức ưu tiên sắp xếp dữ liệu được đánh số từ 1
đến 4 (hộp thoại trên). Trường nào thiết lập trước, sẽ được ưu tiên sắp xếp trước.
Trong trường hợp giá trị trường đó trùng nhau, Access sẽ chuyển đến các mức tiếp
theo để sắp xếp. Kiểu sắp xếp (theo chiều tăng hoặc giảm) có thể thiết lập khi nhấn
nút … bên cạnh. Thiết lập xong nhấn Next để tiếp tục:
Bước 6: Chọn bố cục (Layout) cho Report:

Có 2 thiết lập trong bước này:
- Chọn bố cục cho report ở hộp Layout. Có 3 kiểu Layout: Columnar, Tabular
và Justified- hãy chọn một kiểu phù hợp (xem hộp preview bên trái để biết
trước kết quả);


- Chọn hướng giấy in ở hộp Orientation. Có 2 kiểu hướng in là: Portrait – in
theo khổ giấy dọc và Landscape- in theo khổ giấy ngang;
- Chọn xong nhấn Next để tiếp tục:
Bước 7: Chọn mẫu định dạng (Style) cho report:

Trang 104

.d o

m

o

o

c u -tr a c k

C

m

C

lic

w

w

w


.d o

w

w

w

XC

to

N
y
bu

®

k

to

Giáo trình hình thành hệ thống ứng dụng dữ liệu
Giáo trình Microsoft Access 2000
Copyright Nguyễn Sơn Hải
report để chỉnh sửa application

F-


er

O
W

w

PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c


!
O
W

N
to
k
lic

c u -tr a c k

Hãy chọn một mẫu định dạng từ danh sách bên trái hộp thoại. Chọn xong nhấn
Next để tiếp tục:
Bước 8: Hoàn thiện các thông tin cuối cùng:

Bao gồm các thông tin sau:
- Gõ vào tiêu đề report cũng như tên report trên hộp What do you want for yỏu
report?;
Trang 105

.d o

o

.c

m

C

m

w


o

.d o

w

w

w

w

w

C

lic

k

to

bu

Copyright Nguyễn Sơn Hải

w

y


N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O
W

F-

w

PD

h a n g e Vi
e

!


XC

er

PD

F-

c u -tr a c k

.c


!
O
W
N
to
k
lic

c u -tr a c k

- 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.
Màn hình hiển thị dữ liệu report như sau:


Từ màn hình này có thể thực hiện rất nhiều các thao tác thông qua thanh công cụ
Print Preview như sau:

Nút Print

: Để in nội dung report ra máy in;

Nuít Design

: Để mở report ra chế độ thiết kế;

Nút One page

: Để hiển thị report ra màn hình trong từng trang báo cáo;

Trang 106

.d o

o

.c

m

C

m

w


o

.d o

w

w

w

w

w

C

lic

k

to

bu

Copyright Nguyễn Sơn Hải

w

y


N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O
W

F-

w

PD

h a n g e Vi
e


!

XC

er

PD

F-

c u -tr a c k

.c


!
O
W
N
to
k
lic

c u -tr a c k

Nút Two page
Nút Multi Page

: Để hiển thị 2 trang báo cáo một trên màn hình;
: Để chọn nhiều trang báo cáo có thể hiển thị trên màn hình;


Nút Zoom

: Để phóng to, thu nhỏ nội dung report;

Nút Office Link

: Để kết xuất (Export) thông tin trên report ra các loại định dạng
khác của MS Office như Word, Excel, HTML.

Nút Close

: Để đóng màn hình preview report.

Toàn bộ 8 bước sử dụng report wizard liệt kê ở trên, không phải lúc nào cũng
cần thực hiện đầy đủ. Với những report đơn giản như trê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ại ở bước nào để thiết lập các thông tin cho phù hợp hãy chuyển
nhanh đến bước đó.

3. Thiết kế report
Phần trước đã trình bày các bước dùng Report wizard để có thể thiết kế các mẫu
báo cáo in ấn dữ liệu từ CSDL. Đó là cách làm rất dễ dàng và nhanh chóng. Tuy
nhiên, các mẫu báo cáo được sinh ra chỉ giới hạn theo một số mẫu mã máy tính đã
cung cấp sẵn, không thể in ra được những biểu báo cáo phức tạp theo như những
yêu cầu đa dạng của người sử dụng. Report wizard chỉ có thể tạo ra các report in dữ
liệu từ các bảng hoặc queries theo cấu trúc đơn giản; trong những trườ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 chí, tham số động nào đó thì không
thể đáp ứng được. Trong trường hợp này phải dùng đến Report design view.

Trong chừng mực nào đó, cách làm việc với Report design view gần giống cách
làm việc với Form design view. Sau đây là từng bước hướng dẫn sử dụng Report
design view để thiết report theo yêu cầu như trên:
Bước 1: Khởi động Report design view:
Từ thẻ Report nhấn nút New, chọn Design view, nhấn OK

Trang 107

.d o

o

.c

m

C

m

w

o

.d o

w

w


w

w

w

C

lic

k

to

bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu


y

. Giáo trình Microsoft Access 2000

XC

er

O
W

F-

w

PD

h a n g e Vi
e

!

XC

er

PD

F-


c u -tr a c k

.c


!
O
W
N
to
k
lic

c u -tr a c k

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:

Môi trường làm việc với Report design view xuất hiện:

Trang 108

.d o

o

.c

m


C

m

w

o

.d o

w

w

w

w

w

C

lic

k

to

bu


Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O
W

F-

w


PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c


!
O
W
N
to
k
lic

c u -tr a c k


2
1

3

Có 3 phần quan trọng trên môi trường làm việc này:
(1)

Cửa sổ thiết kế Report (hình trên tiêu đề cửa sổ này là Report1: Report)nơi để thiết kế nội dung cần in ấn. Nội dung được thiết kế trên cửa sổ này là
các đối tượng từ thanh công cụ Toolbox sau khi đã được thiết lập các thuộc
tính phù hợp với mục đích;

(2)

Thanh công cụ Toolbox- nơi chứa những đối tượng giúp đưa các thông tin
cần thiết lên report. Chức năng và cách làm việc trên thanh công cụ này gần
giống với làm việc trên thanh công cụ Toolbox của Form design view;

(3)

Cửa sổ Properties – nơi thiết lập các thuộc tính phù hợp cho các đối tượng
trên màn hình thiết kế report.

Chúng ta sẽ được tìm hiểu kỹ hơn các thành phần trên trong các bước tiếp theo
khi làm việc cụ thể với chúng.
Bước 2: Xây dựng nguồn dữ liệu để in ấn cho report.

Trang 109


.d o

o

.c

m

C

m

w

o

.d o

w

w

w

w

w

C


lic

k

to

bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er


O
W

F-

w

PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c


!
O

W
N
to
k
lic

c u -tr a c k

Report sẽ in những thông tin gì? Phạm vi như thế nào? Là các câu hỏi phải được
trả lời ở bước này bằng cách thiết lập thuộc tính Record Source cho report.
Thông thường, report sẽ in dữ liệu từ một hay nhiều bảng hoặc từ kết quả của
một query, tổng quát là từ một query. Query đó có thể được xây dựng sẵn từ danh
sách các Queries của dự án (chứa trên thẻ Queries)- khi đó bước này chỉ chọn query
cần in tại thuộc tính Record Source của report:

Tuy nhiên query cần in có thể được tạo ra trong chính bản thân report (không
hiển thị tên query trên thẻ Queries)- điều này nên làm vì như vậy sẽ đảm bảo sự
chắc chắn của report. Khi đó hãy nhấn chuột lên nút … của thuộc tính Record
Source:

Một cửa sổ thiết kế query làm nguồn dữ liệu cho report xuất hiện:

Trang 110

.d o

o

.c


m

C

m

w

o

.d o

w

w

w

w

w

C

lic

k

to


bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O
W

F-


w

PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c


!
O
W
N
to
k
lic


c u -tr a c k

Hãy thiết lập các thông tin cần in ra report trên query này. Thiết lập xong nhấn
nút đóng cửa sổ thiết kế query (hoặc nhấn phím nóng Ctrl+W) và chọn Yes trong
hộp thoại sau:

Bước 3: Đưa các thông tin lên cửa sổ thiết kế report:
(1)

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 Page Header!

(2)

Theo ngầm định, cửa sổ thiết kế report chỉ xuất hiện 3 phần: Page header,
Page footer và Detail. Nếu report đang thiết kế yêu cầu có cả Report
header và Report footer, hãy hiển thị chúng bằng cách: nhấn phải chuột
lên cửa sổ thiết kế report và chọn:

Trang 111

.d o

o

.c

m


C

m

w

o

.d o

w

w

w

w

w

C

lic

k

to

bu


Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O
W

F-

w


PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c


!
O
W
N
to
k
lic

c u -tr a c k


Hiển thị lưới khi thiết kế.

Bật hoặc tắt phần Page header/Footer

Bật hoặc tắt phần Report header/Footer

Những phần nào không dùng đến khi thiết kế có thể tắt đi hoặc dùng chuột
thu lại diện tích phần đó.
(3)

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.

(4)

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 (Field) nào đó,
hiển thị dữ liệu của một biểu thức (ví dụ tính Tổng tiền chẳng hạn). Cách
sử dụng Textbox như sau:
-

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
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):

Trang 112

.d o

o

.c

m

C

m


w

o

.d o

w

w

w

w

w

C

lic

k

to

bu

Copyright Nguyễn Sơn Hải

w


y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O
W

F-

w

PD

h a n g e Vi

e

!

XC

er

PD

F-

c u -tr a c k

.c


!
O
W
N
to
k
lic

c u -tr a c k

+ Hoặc hể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ụ:


(5)

Có thể sử dụng thanh công cụ Formatting để định dạng hộp dữ liệu này.
Sử dụng cửa sổ Field List
Danh sách các trường dữ liệu có thể in ra được report thể hiện ở cửa sổ
Field List (nếu chưa thấy hiển thị mở thực đơn View | Field List). Muốn
in ra giá trị của trường nào lên vị trí nào của report có thể dùng đối tượng
Textbox như giới thiệu ở trên hoặc có thể dùng cửa sổ Field List này bằng
cách: dùng chuột kéo trường cần in ra từ cửa sổ Field List thả lên vị trí cần
in trên cửa sổ thiết kế report (nên làm theo cách này thay vì dùng
Textbox).

(6)

Sử dụng công cụ Image
Công cụ Image

trên thanh công cụ Toolbox giúp đưa ảnh từ các tệp tin

ảnh in ra report. Sau khi dùng chuột nhấp nút nút Image từ thanh công cụ
đặt lên report, một hộp thoại xuất hiện cho phép tìm đến tệp tin ảnh cần
đưa lên report:

Trang 113

.d o

o

.c


m

C

m

w

o

.d o

w

w

w

w

w

C

lic

k

to


bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O
W

F-


w

PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c


!
O
W
N
to
k
lic


c u -tr a c k

Hãy tìm và chọn tệp ảnh, chọn xong nhấn OK để hoàn tất công việc.
(7)

Sử dụng công cụ Line
Công cụ Line

dùng để vẽ các đường thẳng lên Report. Rất hữu hiệu

trong việc kẻ bảng biểu.
Sau khi nhập nút Line trên thanh công cụ, hãy thực hiện kẻ bằng cách di
chuột.
Với yêu cầu như trên, bằng cách sử dụng các công cụ như đã hướng dẫn hãy
thiết kế một report như sau:

Trang 114

.d o

o

.c

m

C

m


w

o

.d o

w

w

w

w

w

C

lic

k

to

bu

Copyright Nguyễn Sơn Hải

w


y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O
W

F-

w

PD

h a n g e Vi

e

!

XC

er

PD

F-

c u -tr a c k

.c


!
O
W
N
to
k
lic

c u -tr a c k

Textbox

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;
- Textbox đếm tổng số cán bộ thiết lập thuộc tính Control Source là
=Count([hoten]), để ở phần Report footer.
- Textbox để tự động đánh số thứ tự phải thiết lập như sau: Control
Source là =1; thuộc tính Running sum là Over Group.

-

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)

4. Report chứa tham số
Report có tham số thực chất là loại Report có khả năng lọc dữ liệu khi in. Ví dụ:
bình thường Report in ra danh sách cán bộ ở trên sẽ in danh sách toàn bộ cán bộ
trong cơ quan. Bây giờ muốn in danh sách cán bộ một phòng ban nào đó? Lúc này
phải cần đến report có tham số.
Trang 115

.d o

o


.c

m

C

m

w

o

.d o

w

w

w

w

w

C

lic

k


to

bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O
W


F-

w

PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c


!
O
W
N
to

k
lic

c u -tr a c k

Có nhiều cách để thiết lập và sử dụng report có tham số như:
-

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;

-



Trong phần này, chúng tôi hướng dẫn cách thiết lập tham số trên thuộc tính
Record Source của report. Cách dễ làm, không cần am hiểu về lập trình VBA. Cách
dùng Macro cũng tốt nhưng không nên dùng. Vì phương pháp lập trình này đã trở
nên cứng nhắc. Thực tế, phương pháp dùng câu lệnh DoCmd trên VBA là tốt nhất,
nó thể hiện tính linh hoạt và chuyên nghiệp của cách giải quyết vấn đề. Riêng cách
này, các bạn có thể tham khảo ở Chương Lập trình CSDL.
Sau đây là cách giải quyết bài toán: In danh sách cán bộ một phòng ban nào đó.
Phòng ban cần in được chọn từ Combo box một form như sau:


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.

Cách làm:
Bước 1: Tạo Report đáp ứng thông tin cần in
Có thể sử dụng report Wizard hoặc Report Design View để tạo ra một Report in
danh sách cán bộ với các thông tin như sau:

Trang 116

.d o

o

.c

m

C

m

w

o

.d o

w


w

w

w

w

C

lic

k

to

bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi

e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O
W

F-

w

PD

h a n g e Vi
e

!

XC

er


PD

F-

c u -tr a c k

.c


!
O
W
N
to
k
lic

c u -tr a c k

Bước 2: Tạo form theo yêu cầu bài 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;
Cuối cùng được form như sau:

Bước 3: Thiết lập tham số cho Report
Ở đây trình bày phương pháp thiết lập tham số vào thuộc tính Record Source của
Report. Cách làm như sau:
Trang 117


.d o

o

.c

m

C

m

w

o

.d o

w

w

w

w

w

C


lic

k

to

bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC


er

O
W

F-

w

PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c


!

O
W
N
to
k
lic

c u -tr a c k

- 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:

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!<Tên form>!<tên đối tượng>

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

Nếu cách viết này khó thực hiện, bạn 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 trường phongbanID- nơi sẽ gõ vào tham số.
Một menu sổ xuống xuất hiện:

Trang 118

.d o


o

.c

m

C

m

w

o

.d o

w

w

w

w

w

C

lic


k

to

bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er


O
W

F-

w

PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c


!
O
W

N
to
k
lic

c u -tr a c k

Chọn

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:

Nhấn đúp chuột lên
Combo1 để chọn!

Ở cây các đối tượng bên trái hộp thoại, hãy chọn:
Forms | All Forms | frmIndsCB – đây là form chứa đối tượng combo box phòng

ban cần lọc. Khi đó một danh sách các đối tượng trên form frmIndsCB xuất hiện ở
giữa hộp thoại;
Hãy nhấn đúp chuột lên Combo1 - đối tượng chứa phòng ban cần lọc, được kết
quả như hình sau:

Trang 119

.d o


o

.c

m

C

m

w

o

.d o

w

w

w

w

w

C

lic


k

to

bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O

W

F-

w

PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c


!
O
W
N

to
k
lic

c u -tr a c k

Cuối cùng nhấn OK để hoàn tất việc tạo tham số cho query bằng hộp thoại
Expression Builder.

Trang 120

.d o

o

.c

m

C

m

w

o

.d o

w


w

w

w

w

C

lic

k

to

bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi

e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O
W

F-

w

PD

h a n g e Vi
e

!

XC

er


PD

F-

c u -tr a c k

.c


!
O
W
N
to
k
lic

c u -tr a c k

Bài tập
Trên CSDL Quản lý lương cán bộ thực hiện các yêu cầu sau:
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 In danh sách cán bộ. đan sách cán bộ
phòng ban đã chọn sẽ đượ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

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:

Trang 121

.d o

o

.c

m

C

m

w

o


.d o

w

w

w

w

w

C

lic

k

to

bu

Copyright Nguyễn Sơn Hải

w

y

N


®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O
W

F-

w

PD

h a n g e Vi
e

!

XC


er

PD

F-

c u -tr a c k

.c


!
O
W
N
to
k
lic

c u -tr a c k

Sau khi chọn tên một phòng ban, bảng lương các cán bộ phòng đó hiển thị lên
sub-form. Nhấn nút In bảng lương, bảng lương riêng phòng ban đó sẽ được in ra
một report.

Trang 122

.d o


o

.c

m

C

m

w

o

.d o

w

w

w

w

w

C

lic


k

to

bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O

W

F-

w

PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c


!
O
W
N

to
k
lic

c u -tr a c k

CHƯƠNG

5

LẬP TRÌNH VBA CĂN
BẢN
Access không những là hệ quản trị CSDL rất mạnh- cụ thể các bạn đã được tìm
hiểu rất kỹ ở Chương 1 và Chương 2. Hơn nữa, với những công cụ có sẵn đi kèm
như Forms, Report, Macros và đặc biệt là ngôn ngữ lập trình VBA – Access sẽ còn
là một công cụ phát triển phần mềm rất mạnh, dễ sử dụng cho các ứng dụng quản lý
vừa và nhỏ.
Nội dung chương này sẽ trình bày căn bản về ngôn ngữ lập trình VBA (Visual
Basic for Application)- một ngôn ngữ khá quen thuộc đối với những người sử dụng
chuyên sâu sản phẩm Microsoft Office. Đây chính là cơ sở quan trọng để các bạn
tiếp cận cụ thể chuyên ngành lập trình CSDL sẽ được giới thiệu trong chương tiếp
theo.
Qua chương này, học viên sẽ hiểu được môi trường làm việc ngôn ngữ VBA;
biết cách sử dụng các cấu trúc lệnh; viết và sử dụng tốt chương trình con; đặc biệt
dần làm quen việc lập trình trên các đối tượng ActiveX- sẵn sàng tiếp cận các công
cụ lập trình hướng đối tượng trực quan hiện đại như Visual Basic và Visual Basic
.NET.

Trang 123


.d o

o

.c

m

C

m

w

o

.d o

w

w

w

w

w

C


lic

k

to

bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er


O
W

F-

w

PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c


!
O

W
N
to
k
lic

c u -tr a c k

1. Môi trường lập trình VBA
Bộ phần mềm tin học văn phòng Microsoft Office phải nói là nổi tiếng nhất thế
giới trong lĩnh vực tin học văn phòng. Word cung cấp khả năng chế bản điện tử đẹp
đẽ và hiện đại; Excel với khả năng bảng tính điện tử mạnh mẽ; FrontPage với khả
năng tạo ra các trang web sống động; Access với khả năng quản trị CSDL;… tất cả
các phần mềm đó đã tạo nên sự phổ biến của bộ phần mềm này với hầu hết người
dùng máy tính trên toàn thế giới.
Không dừng ở mức ứng dụng có sẵn, bộ phần mềm này còn có một ngôn ngữ lập
trình đi kèm VBA – Visual Basic for Application để giúp người dùng có thể tạo ra
các tuỳ biến mạnh hơn, thân thiện hơn với trong công việc của mình. Với Word,
Excel bạn hoàn toàn có thể tự tạo ra các macro để tăng tốc độ sử dụng ứng dụng;
hơn thế nữa VBA trên Access đã thể hiện tính chuyên nghiệp trong lập trình, phần
nào biến được một CSDL đơn giản trở thành những sản phẩm đóng gói thương mại.
Màn hình làm việc ngôn ngữ VBA thường có dạng:
1

2

3

4


Trang 124

.d o

o

.c

m

C

m

w

o

.d o

w

w

w

w

w


C

lic

k

to

bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC


er

O
W

F-

w

PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c



!
O
W
N
to
k
lic

c u -tr a c k

Trong đó:
(1) Hệ thống thực đơn và thanh công cụ
Cũng như bất kỳ môi trường làm việc nào đều có hệ thống thực đơn và thanh
công cụ đi kèm. Trên đó có chứa các lệnh để gọi, thi hành hoặc thiết lập các
điều khiển cần thiết.
(2) Cửa sổ Project Explorer;
Có rất nhiều các thành phần có thể lập trình được bởi VBA như: Forms,
Reports, Modules. Cửa sổ Project Explorer là cây phân cấp lớp các đối tượng
có chứa mã lệnh VBA, đồng thời giúp lập trình viên dễ dàng trong việc viết
(coding) cũng như quản lý các mã lệnh VBA đã viết.
(3) Cửa sổ viết lệnh;
Cửa sổ viết lệnh là nơi soạn thảo các dòng lệnh VBA. Mỗi cửa sổ sẽ chứa
toàn bộ mã lệnh cho một đối tượng như: Forms, Reports, Modules. Trong
mỗi cửa sổ có thể có nhiều phần được viết lệnh, mỗi phần có thể là nội dung
một khai báo, một chương trình con, nội dung một thủ tục đáp ứng sự kiện.
Ví dụ:

Trang 125

.d o


o

.c

m

C

m

w

o

.d o

w

w

w

w

w

C

lic


k

to

bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er


O
W

F-

w

PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c


!
O
W

N
to
k
lic

c u -tr a c k

Phần khai báo
Thủ tục đáp ứng sự

Chương trình con

(4) Cửa sổ Intermediate
Cửa sổ Intermediate là nơi giúp thi hành trực tiếp một câu lệnh nào đó, rất
hữu dụng trong việc gỡ lỗi phần mềm (sẽ quay trở lại vấn đề gỡ rối phần
mềm ở cuối chương)

2. Các kiểu dữ liệu và khai báo
2.1 Các kiểu dữ liệu cơ bản
Cũng như các ngôn ngữ lập trình khác, VBA đều hỗ trợ các kiểu dữ liệu cơ bản.
Dưới đây giới thiệu chi tiết về từng kiểu.

Boolean
Kiểu lô gíc, tương tự kiểu Boolean trên Pascal. Kiểu này chiếm 2 byte bộ nhớ;
chỉ nhận một trong 2 giá trị là: Yes – No hoặc True – False hoặc đôi khi thể hiện

Trang 126

.d o


o

.c

m

C

m

w

o

.d o

w

w

w

w

w

C

lic


k

to

bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O

W

F-

w

PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c


!
O
W
N

to
k
lic

c u -tr a c k

dưới dạng số 0 tương đương với False, True tương ứng với bất kỳ số nào khác 0.
Khi lập trình CSDL, kiểu Boolean tương ứng với kiểu Yes/No trong bảng dữ liệu.

Byte
Kiểu số nguyên dương trong phạm vi từ 0..255. Kiểu này chiếm 1 byte bộ nhớ.

Integer
Kiểu nguyên, có giá trị trong khoảng -32768...32767. Kiểu này chiếm 2 bytes bộ
nhớ.

Long
Kiểu số nguyên dài, có giá trị trong khoảng 2,147,483,648 .. 2,147,483,647.
Kiểu này chiếm 4 bytes bộ nhớ.

Single
Kiểu số thực, có giá trị trong khoảng 1.401298E-45 to 3.402823E38. Chiếm 4
bytes bộ nhớ.

Double
Kiểu số thực có đợ lớn hơn kiểu Single, có giá trị trong khoảng
4.94065645841247E-324 to 1.79769313486232E308. Chiếm 8 bytes bộ nhớ.

Currency
Kiểu tiền tệ. Bản chất là kiểu số, độ lớn 8 bytes, có giá trị trong khoảng 922,337,203,685,477.5808 to 922,337,203,685,477.5807. Đặc biệt, kiểu này luôn

có ký hiệu tiền tệ đi kèm.

Trang 127

.d o

o

.c

m

C

m

w

o

.d o

w

w

w

w


w

C

lic

k

to

bu

Copyright Nguyễn Sơn Hải

w

y

N

®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000


XC

er

O
W

F-

w

PD

h a n g e Vi
e

!

XC

er

PD

F-

c u -tr a c k

.c



!
O
W
N
to
k
lic

c u -tr a c k

String
Kiểu xâu ký tự. Kiểu này tương ứng với kiểu String trong Pascal, tương ứng với
kiểu Text trong các trường CSDL Access. Độ lớn tối đa 255 bytes tương đương với
khả năng xử lý xâu dài 255 ký tự.

Variant
Variant là kiểu dữ liệu không tường minh. Biến kiểu này có thể nhận bất kỳ một
giá trị nào có thể. Ví dụ :
Dim a As Variant
a = 123
a = “Nguyễn Văn Ngô”

Hoàn toàn không có lỗi.
Người ta thường khai báo biến kiểu Variant trong những trường hợp phải xử lý
biến đó mềm dẻo. Khi thì biến nhận giá trị kiểu này, khi thì nhận giá trị và xử lý
theo kiểu dữ liệu khác.

Object

Object là một loại biến kiểu Variant, chiếm dung lượng nhớ 4 bytes, dùng để
tham chiếu tới một loại đối tượng (Object) nào đó trong khi lập trình. Tất nhiên
muốn khai báo biến Object kiểu nào, phải chắc chắn đối tượng đó đã được đăng ký
vào thư viện tham chiếu VBA bởi tính năng Tool | Reference. Chúng ta sẽ còn trở
lại vấn đề này khi lập trình CSDL.

2.2 Biến và cách sử dụng biến
a. Biến – khai báo biến đơn giản
Biến (Variable) là thành phần của một ngôn ngữ lập trình, giúp xử lý dữ liệu một
cách linh hoạt và mềm dẻo.
Thông thường trong các ngôn ngữ lập trình, mỗi biến khi tồn tại phải được định
kiểu, tức là phải nhận một kiểu dữ liệu xác định. Tuy nhiên trong VBA thì không,
Trang 128

.d o

o

.c

m

C

m

w

o


.d o

w

w

w

w

w

C

lic

k

to

bu

Copyright Nguyễn Sơn Hải

w

y

N


®

h a n g e Vi
e

bu

y

. Giáo trình Microsoft Access 2000

XC

er

O
W

F-

w

PD

h a n g e Vi
e

!

XC


er

PD

F-

c u -tr a c k

.c


×