Tải bản đầy đủ (.doc) (57 trang)

XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ THƯ VIỆN TRƯỜNG THPT NGÔ QUYỀN

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.47 MB, 57 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
-----------------™ ™ ™----------------

ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI:
XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ THƯ VIỆN
TRƯỜNG THPT NGÔ QUYỀN

Giáo viên hướng dẫn

: Phạm Bích Trà

Sinh viên thực hiện

: Trần Thái Thương

Lớp

: ĐHLT-K11H

Thái nguyên, tháng 01 năm 2015


MỤC LỤC
LỜI MỞ ĐẦU..............................................................................................................9
....................................................................................................................................... 9
CHƯƠNG I................................................................................................................10
TÌM HIỂU CHUNG VỀ NGÔN NGỮ SỬ DỤNG.................................................10
1.1. Tìm hiểu chung về Visual Basic 6.0....................................................................10
1.2. Làm quen với VB6..............................................................................................10


1.3. Tìm hiểu các thành phần của IDE.....................................................................11
1.4. Biến, hằng trong VB............................................................................................14
1.5. Các kiểu dữ liệu cơ bản trong VB6....................................................................15
1.6. Các cấu trúc điều khiển......................................................................................16
1.6.1. Cấu trúc If ….then..........................................................................................16
1.6.2. Cấu trúc If ….then…else................................................................................17
1.6.3. Cấu trúc Select Case.......................................................................................18
1.6.4. Cấu trúc lặp For…Next..................................................................................18
1.6.5. Cấu trúc Do…Loop.........................................................................................19
1.6.6 Cấu trúc Go to..................................................................................................20
1.6.7. Vòng lặp While…Wend...................................................................................20
1.7. Lập trình giao diện và kết nối cơ sở dữ liệu......................................................20
1.7.1. Lập trình giao diện..........................................................................................20
1.7.2. Lập trình xử lý giao diện................................................................................23
1.8. Giới thiệu sơ lược các kỹ thuật kết nối CSDL...................................................24
1.8.1. Tổng quan về kết nối cơ sở dữ liệu.................................................................24
1.8.2. Giới thiệu kỹ thuật lập trình ADO..................................................................26
CHƯƠNG II............................................................................................................... 32
KHẢO SÁT BÀI TOÁN............................................................................................32
2


2.1 Khảo sát hệ thống quản lý thư viện trường THPT Ngô Quyền........................32
2.1.1 Nhiệm vụ của hệ thống quản lý thư viện :.......................................................32
2.1.2. Hoạt động của thư viện:..................................................................................32
2.2. Các chức năng của bài toán................................................................................39
2.2.1. Chức năng cập nhật.........................................................................................39
2.2.2. Chức năng theo dõi mượn trả.........................................................................40
2.2.3. Chức năng tìm kiếm.........................................................................................40
2.2.4. Chức năng thống kê báo cáo...........................................................................40

2.3. Thông tin vào/ra của hệ thống............................................................................40
2.4. Yêu cầu của hệ thống mới...................................................................................40
CHƯƠNG III............................................................................................................42
PHÂN TÍCH CHI TIẾT BÀI TOÁN QUẢN LÝ THƯ VIỆN...............................42
3.1. Xây dựng biểu đồ phân cấp chức năng:............................................................42
3.2 Xây dựng biểu đồ luồng dữ liệu :........................................................................42
3.2.1 Biểu đồ luồng dữ liệu mức khung cảnh :.........................................................42
3.2.2 Biểu đồ luồng dữ liệu mức đỉnh :.....................................................................44
3.2.3 Biểu đồ luồng dữ liệu mức dưới đỉnh:.............................................................45
a. Chức năng cập nhật thông tin:.............................................................................................. 45
................................................................................................................................................... 45
H3.4: Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng cập nhật...............................................45
b. Chức năng Theo dõi mượn trả:............................................................................................. 46
................................................................................................................................................... 46
c. Chức năng tìm kiếm.............................................................................................................. 46
................................................................................................................................................... 46
H3.7: Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng tìm kiếm...............................................46
d. Chức năng Thống kê, báo cáo.............................................................................................. 47
................................................................................................................................................... 47
H3.8: Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng thống kê báo cáo.................................47

3.3 Chuẩn hóa dữ liệu................................................................................................48
MaNXB...................................................................................................................................... 48

3


TenNXB..................................................................................................................................... 48
DiaChi....................................................................................................................................... 48
Website..................................................................................................................................... 48

MaS........................................................................................................................................... 48
MaTL......................................................................................................................................... 48
MaVT......................................................................................................................................... 48
TenS.......................................................................................................................................... 48
TenTG....................................................................................................................................... 48
NamXB...................................................................................................................................... 48
SoLuong.................................................................................................................................... 48
NgayNhap................................................................................................................................. 48
MaDG........................................................................................................................................ 48
TenDG....................................................................................................................................... 48
NgaySinh................................................................................................................................... 48
NgayLamthe.............................................................................................................................. 48
NgayHethan.............................................................................................................................. 48
Lop............................................................................................................................................ 48
SoPhieu..................................................................................................................................... 48
NgayMuon................................................................................................................................. 48
NgayHentra............................................................................................................................... 48
NgayTra..................................................................................................................................... 48
TenTL........................................................................................................................................ 48
Khu............................................................................................................................................ 48
Ngan.......................................................................................................................................... 48
Ke.............................................................................................................................................. 48
MaNN........................................................................................................................................ 48
TenNN....................................................................................................................................... 48
1NF........................................................................................................................................... 48
2NF........................................................................................................................................... 48
3NF........................................................................................................................................... 48
#SoPhieu................................................................................................................................... 48
#MaDG...................................................................................................................................... 48
#MaS......................................................................................................................................... 48

NgayMuon................................................................................................................................. 48
NgayHentra............................................................................................................................... 48
NgayTra..................................................................................................................................... 48
MaNXB...................................................................................................................................... 48
TenNXB..................................................................................................................................... 48
DiaChi....................................................................................................................................... 48
Website..................................................................................................................................... 48
MaTL......................................................................................................................................... 48
TenTL........................................................................................................................................ 48

4


MaVT......................................................................................................................................... 48
Khu............................................................................................................................................ 48
Ngan.......................................................................................................................................... 48
Ke.............................................................................................................................................. 48
MaNN........................................................................................................................................ 48
TenNN....................................................................................................................................... 48
TenS.......................................................................................................................................... 48
TenTG....................................................................................................................................... 48
NamXB...................................................................................................................................... 48
SoLuong.................................................................................................................................... 48
NgayNhap................................................................................................................................. 48
#SoPhieu................................................................................................................................... 48
MaDG........................................................................................................................................ 48
MaS........................................................................................................................................... 48
NgayMuon................................................................................................................................. 48
NgayHentra............................................................................................................................... 48
NgayTra..................................................................................................................................... 48

SoLuong.................................................................................................................................... 48
#SoPhieu................................................................................................................................... 48
@MaDG.................................................................................................................................... 48
@MaS....................................................................................................................................... 48
NgayMuon................................................................................................................................. 48
NgayHentra............................................................................................................................... 48
NgayTra..................................................................................................................................... 48
SoLuong.................................................................................................................................... 48
#MaS......................................................................................................................................... 48
#MaNXB.................................................................................................................................... 48
TenNXB..................................................................................................................................... 48
DiaChi....................................................................................................................................... 48
Website..................................................................................................................................... 48
#MaTL....................................................................................................................................... 48
TenTL........................................................................................................................................ 48
#MaVT....................................................................................................................................... 48
Khu............................................................................................................................................ 48
Ngan.......................................................................................................................................... 48
Ke.............................................................................................................................................. 48
#MaNN...................................................................................................................................... 48
TenNN....................................................................................................................................... 48
TenS.......................................................................................................................................... 48
TenTG....................................................................................................................................... 48
NamXB...................................................................................................................................... 48
SoLuong.................................................................................................................................... 48

5


NgayNhap................................................................................................................................. 48

#MaS......................................................................................................................................... 48
@MaNXB.................................................................................................................................. 48
@MaTL..................................................................................................................................... 48
@MaVT..................................................................................................................................... 48
@MaNN.................................................................................................................................... 48
TenS.......................................................................................................................................... 48
TenTG....................................................................................................................................... 48
NamXB...................................................................................................................................... 48
SoLuong.................................................................................................................................... 48
NgayNhap................................................................................................................................. 48
#MaNXB.................................................................................................................................... 48
TenNXB..................................................................................................................................... 48
DiaChi....................................................................................................................................... 48
Website..................................................................................................................................... 48
#MaVT....................................................................................................................................... 48
Khu............................................................................................................................................ 48
Ngan.......................................................................................................................................... 48
Ke.............................................................................................................................................. 48
#MaDG...................................................................................................................................... 48
TenDG....................................................................................................................................... 48
NgaySinh................................................................................................................................... 48
NgayLamthe.............................................................................................................................. 48
NgayHethan.............................................................................................................................. 48
Lop............................................................................................................................................ 48
#MaDG...................................................................................................................................... 48
TenDG....................................................................................................................................... 48
NgaySinh................................................................................................................................... 48
NgayLamthe.............................................................................................................................. 48
NgayHethan.............................................................................................................................. 48
Lop............................................................................................................................................ 48

#MaDG...................................................................................................................................... 48
TenDG....................................................................................................................................... 48
NamSinh.................................................................................................................................... 48
NgayLamthe.............................................................................................................................. 48
NgayHethan.............................................................................................................................. 48
Lop............................................................................................................................................ 48
#MaNN...................................................................................................................................... 48
TenNN....................................................................................................................................... 48
#MaTL....................................................................................................................................... 48
TenTL........................................................................................................................................ 48

3.4. Mô hình thực thể liên kết:..................................................................................49
6


3.5 Thiết kế dữ liệu:...................................................................................................49
3.5.1 Bảng dữ liệu Cập nhật NXB:...........................................................................49
3.5.2 Tạo bảng dữ liệu sách:......................................................................................50
3.5.3 Tạo bảng dữ liệu thẻ độc giả:...........................................................................50
3.5.4 Tạo bảng dữ liệu mượn_trả:............................................................................50
3.5.5 Bảng dữ liệu cập nhật thể loại:.........................................................................51
3.5.6 Bảng dữ liệu vị trí:............................................................................................51
3.5.7 Bảng dữ liệu ngôn ngữ......................................................................................51
3.6: Bảng quan hệ.......................................................................................................52
CHƯƠNG IV..............................................................................................................53
XÂY DỰNG CHƯƠNG TRÌNH...............................................................................53
4.1 Thiết kế giao diện.................................................................................................53
4.1.1 Giao diện chính của chương trình:..................................................................53
4.2 Chức năng cập nhật.............................................................................................54
4.2.1 Form cập nhật danh mục sách.........................................................................54

4.2.2 Form cập nhật ngôn ngữ..................................................................................54
4.2.3 Form cập nhật NXB..........................................................................................55
4.2.4 Form cập nhật thể loại......................................................................................55
4.2.5 Form cập nhật tác giả.......................................................................................56
4.2.6 Form cập nhật vị trí sách..................................................................................56
4.2.7 Form cập nhật danh mục độc giả.....................................................................57
4.3. Báo cáo – thống kê..............................................................................................57
4.3.1 Thống kê danh mục mượn trả..........................................................................57
4.3.2 Thống kê danh mục Độc giả.............................................................................58
4.3.3 Thống kê danh mục sách..................................................................................58
KẾT LUẬN................................................................................................................ 59
7


TÀI LIỆU THAM KHẢO.........................................................................................60

8


LỜI MỞ ĐẦU
Ngày nay tin học đã và đang được ứng dụng rộng rãi trong mọi ngành kinh tế
trên thế giới nói chung và ở Việt Nam nói riêng. Khoa học máy tính đang phát triển
với tốc độ ngày càng nhanh chóng và xâm nhập ngày càng sâu vào mọi lĩnh vực khoa
học, công nghệ, kinh tế, xã hội, quản lý Nhà Nước, quản lý doanh nghiệp.Một trong
những lĩnh vực đang được ứng dụng tin học hóa rất phổ biến ở nước ta là lĩnh vực
quản lý. Tin học hóa trong quản lý đã giúp cho các nhà quản lý điều hành công việc
một cách khoa học, chính xác, hiệu quả.
Quản lý thư viện là một trong những công việc tương đối phức tạp, tốn nhiều
thời gian và công sức. Quản lý thư viện đòi hỏi phải thường xuyên theo dõi chính xác
một số lượng sách báo rất lớn, thuộc nhiều loại, đối tượng phục vụ của thư viện lại rất

đa dạng. Chính vì vậy, tin học hóa trong lĩnh vực quản lí thư viện là một yêu cầu tất
yếu. Muốn quản lý tốt cần có được các phần mềm tốt, phần mềm phải đảm bảo được
độ bảo mật cao, dễ sử dụng thích hợp nhiều tiện ích.
Được sự đồng ý của Ban chủ nhiệm khoa, Bộ môn Mạng và truyền thông, và
sự hướng dẫn của Cô Phạm Bích Trà, em đã dành thời gian làm đề tài thực tập tốt
nghiệp, tập trung nghiên cứu đề tài “Xây dựng chương trình Quản lý thư viện
trường THPT Ngô Quyền”.
Do trong khuôn khổ thời gian ngắn, trình độ chuyên môn, kinh nghiệm và kiến
thức của bản thân còn hạn chế. Nên em rất mong được sự góp ý của các thầy cô để
chưong trình của em hoàn thiện hơn và được ứng dụng trong thực tế.
Em kính mong sự góp ý của thầy cô và các bạn!
Sinh viên : Trần Thái Thương

9


CHƯƠNG I
TÌM HIỂU CHUNG VỀ NGÔN NGỮ SỬ DỤNG
1.1. Tìm hiểu chung về Visual Basic 6.0
Visual Basic 6.0 (VB6) là một phiên bản của bộ công cụ lập trình Visual Basic .
(VB) cho phép người dùng truy cập nhanh cách thức lập trình trên môi trường
Windows. Những ai đã từng quen thuộc với VB thì tìm thấy ở VB6 những tính năng
trợ giúp mới và các công cụ lập trình hiệu quả. Người dùng mới làm quen với VB
cũng có thể làm chủ VB6 một cách dễ dàng.
Với VB6, chúng ta có thể :
Khai thác thế mạnh của các điều khiển mở rộng.
Làm việc với các điều khiển mới (ngày tháng với điều khiển MonthView và
DataTimePicker, các thanh công cụ có thể di chuyển được CoolBar, sử dụng đồ họa
với ImageCombo, thanh cuộn FlatScrollBar,…).
Làm việc với các tính năng ngôn ngữ mới.

Làm việc với DHTML.
Làm việc với cơ sở dữ liệu.
Các bổ sung về lập trình hướng đối tượng.
1.2. Làm quen với VB6
Bắt đầu một dự án mới với VB6
Từ menu Start chọn Programs/ Microsoft Visual Studio 6.0/ Microsoft Visual
Basic 6.0. Khi đó bạn sẽ thấy màn hình đầu tiên như hình dưới đây.

10


Cửa sổ New Project
Ở đây, người dùng có thể chọn tạo mới một dự án thực thi được bằng cách chọn
Standard EXE rồi nhấp Open. Tiếp theo là cửa sổ làm việc chính của VB6, gọi tắt là
IDE (Integrated Development Environment) sẽ được giới thiệu chi tiết trong phần sau.
1.3. Tìm hiểu các thành phần của IDE
IDE là tên tắt của môi trường phát triển tích hợp (Integrated Development
Environment), đây là nơi tạo ra các chương trình Visual Basic.
IDE của Visual Basic là nơi tập trung các menu, thanh công cụ và cửa sổ để tạo
ra chương trình. Mỗi một thành phần của IDE có các tính năng ảnh hưởng đến các
hoạt động lập trình khác nhau.
11


Thanh menu cho phép tác động cũng như quản lý trực tiếp trên toàn bộ ứng dụng. Bên
cạnh đó thanh công cụ cho phép truy cập các chức năng của thanh menu thông qua các
nút trên thanh công cụ.
Các biểu mẫu (Form) - khối xây dựng chương trình chính của VB - xuất hiện
trong cửa sổ Form. Hộp công cụ để thêm các điều khiển vào các biểu mẫu của đề án.
Cửa sổ Project Explorer hiển thị các đề án khác nhau mà người dùng đang làm cũng

như các phần của đề án. Người dùng duyệt và cài đặt các thuộc tính của điều khiển,
biểu mẫu và module trong cửa sổ Properties. Sau cùng, người dùng sẽ xem xét và bố
trí một hoặc nhiều biểu mẫu trên màn hình thông qua cửa sổ Form Layout.

Cửa sổ IDE của VB6
• Sử dụng thanh công cụ trong IDE của VB
Thanh công cụ là tập hợp các nút bấm mang biểu tượng thường đặt dưới thanh
menu. Các nút này đảm nhận các chức năng thông dụng của thanh menu (New, Open,
Save ...).

Thanh công cụ ở dạng standard
- Sử dụng thanh công cụ gỡ rối (debug)

Thanh công cụ gỡ rối

12


Với thanh công cụ gỡ rối, ta có thể thực thi, tạm ngưng hoặc dừng một đề án.
Với thanh công cụ Debug, ta có thể kiểm tra chương trình và giải quyết các lỗi có thể
xảy ra.
Khi gỡ rối chương trình, ta có thể chạy từng dòng lệnh, kiểm tra giá trị các biến,
dừng chương trình tại một điểm nào đó hoặc với một điều kiện nào đó.
Sử dụng thanh công cụ Edit

Thanh công cụ Edit
Thanh công cụ Edit được dùng để viết chương trình trong cửa sổ Code, thanh công
cụ Edit có đầy đủ các tính năng của menu Edit. Ngoài ra ta có thể sử dụng chức năng
viết chương trình tự động như là Quick Info.
-


Sử dụng thanh công cụ Form Editor

Thanh công cụ thiết kế biểu mẫu
Thanh công cụ Form Editor có chức năng giống như menu Format dùng để di
chuyển và sắp xếp các điều khiển trên biểu mẫu.
Sử dụng hộp công cụ (Toolbox)
Hộp công cụ là nơi chứa các điều khiển được dùng trong quá trình thiết kế biểu mẫu.
Các điều khiển được chia làm hai loại: Điều khiển có sẵn trong VB và các điều khiển
được chứa trong tập tin với phần mở rộng là .OCX.
Đối với các điều khiển có sẵn trong VB thì ta không thể gỡ bỏ
khỏi hộp công cụ, trong khi đó đối với điều khiển nằm ngoài ta
có thêm hoặc xóa bỏ khỏi hộp công cụ.

13


. Quản lý ứng dụng với Project Explorer

Cửa sổ Project Explorer
Project Explorer trong VB6 giúp quản lý và định hướng nhiều đề án.VB cho
phép nhóm nhiều đề án trong cùng một nhóm. Ta có thể lưu tập hợp các đề án trong
VB thành một tập tin nhóm đề án với phần mở rộng .vbp.
Cửa sổ Properties
Cửa sổ properties

Mỗi một thành phần, điều khiển điều có nhiều thuộc tính. Mỗi một thuộc tính
lại có một hoặc nhiều giá trị.
Cửa sổ Properties cho phép ta xem, sửa đổi giá trị các thuộc tính của điều khiển
nhằm giúp điều khiển hoạt động theo đúng ý đồ của người sử dụng.

1.4. Biến, hằng trong VB
Biến:
14


Biến được dùng để lưu tạm thời các giá trị tính toán trong quá trình xử lý của
chương trình. Khi xử lý một chương trình ta luôn cần phải lưu trữ một giá trị nào đó để
tính toán hoặc so sánh. Mỗi biến được đặc trưng bởi tên , biến không có sẵn trong
chương trình muốn sử dụng chúng thì phải khai báo bằng một trong báo cáo cách thức
sau:
Dim / Static /Global <tên biến > as <kiểu giá trị >
Khai báo với từ khoá Dim, Static dùng cho khai báo biến cục bộ. Khai báo với
từ khoá Public, Global dùng cho khai báo biến dùng chung cho toàn bộ chương trình.
Hằng:
Dùng để chứa những dữ liệu tạm thời nhưng không thay đổi trong suốt time
chương trình hoạt động. Sử dụng hằng số làm chương trình sáng sủa, dễ đọc nhờ
những tên gợi nhớ thay vì các con số. VB cung cấp một số hằng định nghĩa sẵn, nhưng
ta cũng có thể tạo ra hằng.
Khai báo hằng :
[ Public / Private ] const < tên hằng >[<kiểu dữ liệu >] = <Biểu thức>
Hằng có tầm hoạt động tương tự biến. Hằng khai báo trong thủ tục chỉ hoạt
động trong thủ tục. Hằng khai báo trong modul chỉ hoạt động trong modul. Hằng khai
báo trong phần Declarations của Modul chuẩn có tầm hoạt động trên toàn ứng dụng
1.5. Các kiểu dữ liệu cơ bản trong VB6
Khi ta khai báo một biến trong chương trình tức là bạn tạo ra một khoảng bộ
nhớ đó lớn tuỳ thuộc vào biến đó được khai báo kiểu .Kiểm soát nội dung của dữ liệu.
VB dùng kiểu dữ liệu Variant như là kiểu mặc định. Ngoài ra, một số kiểu dữ liệu khác
cho phép tối ưu hoá về tốc độ và kích cỡ chương trình. Khi dùng Variant ta không phải
chuyển đổi giữa các kiểu dữ liệu, VB tự động làm việc đó.


15


Một số kiểu dữ liêu
cơ bản đựơc VB
định nghĩa nhằm tối
ưu hoá về tốc độ và
kích

cỡ

Phạm vi, ý nghĩa

chương

trình:Kiểu dữ liệu
String
Byte

- Là kiểu dữ liệu chuỗi, khoảng giá trị có thể lên đến 2 tỷ ký
tự. Nhận biết biến này bằng tiếp vị ngữ $.
- Là các số nguyên, khoảng giá trị từ -2.147.483.648 đến

Date

2.147.483.647. Nhận biết biến này bằng dấu & ở cuối.
- Ngày tháng năm: 01- January -100 đến 31- December – 9999

Currency


- $922,337,203,685,477.5808 đến+ $922,337,203,685,477.5807

Object
Integer
Single
Double
Boolean
Variant

- Đối tượng: Chứa một địa chỉ 4 byte trỏ đến đối tượng hiện
hành hoặc các ứng dụng khác
- Là các số nguyên. Nhận biết này bằng dấu % ở cuối.
- Là các số có dấu chấm thập phân. Nhận biết biấn này bằng
dấu ! ở cuối
- Là các số dấu thập phân. Nhận biết biến này bằng dấu # ở
cuối.
- Biến logic, có giá trị là True, hay False dùng để gán giá trị
trong các câu lệnh điều kiện.
- Kiểu tuỳ ý:Có thể chứa mọi loại dữ liệu kể cả mảng.

1.6. Các cấu trúc điều khiển
Đây là các câu lệnh cho phép người lập trình có thể điều khiển thứ tự thi hành
của các câu lệnh trong chương trình.
1.6.1. Cấu trúc If ….then
Cấu trúc này dùng để kiểm tra một điều kiện đúng hay sai, khi đó chương trình
sẽ có các hành động tương ứng.
Cú pháp :

16



Một dòng lệnh:
If < điều kiện > then
< dòng lệnh>
End If
Nhiều dòng lệnh:
If < điều kiện > then
<các dòng lệnh>
End If
Điều kiện là một so sánh hay một biểu thức mang giá trị số. VB thông dịch giá
trị này thành True / False. Nếu điều kiện là đúng thì VB thi hành tất cả các lệnh sau từ
khóa Then
Nếu điều kiện đúng thì chương trình thi hành các lệnh, ngược lại sẽ thoát khỏi
lệnh. Điều kiện là một biểu thức mà ở đó giá trị trả về là khác 0 hay (tương đương với
điều kiện có giá trị là TRUE hay FALSE ).
1.6.2. Cấu trúc If ….then…else
Cú pháp:
If < điều kiện 1 > then
<khối lệnh - 1 >
[elseIf < điều kiện 2 >then
<khối lệnh -2 >]…
[else
<khối lệnh - n >
End If
VB lần lượt kiểm tra các điều kiện cho đến khi điều kiện đúng VB sẽ thi hành
các lệnh tương ứng.
False.
Do until <điều kiện >
< khối lệnh >
Loop

Kiểu 4 : Lặp trong khi điều kiện là False và có ít nhất một lần thi hành khối lệnh.
Do
< khối lệnh >
17


Exit do
Loop until
< điều kiện >
1.6.3. Cấu trúc Select Case.
Giải quyết vấn đề có quá nhiều ElseIf được dùng, giúp cho chương trình sáng
sủa, dễ đọc. Biểu thức để so sánh được tính toán một lần vào đầu cấu trúc. Sau đó VB
so sánh kết quả biểu thức với từng Case. Nếu bằng nó thi hành khối lệnh trong Case đó
Cú pháp:
Select Case < biểu thức điều kiện >
[Case < danh sách biểu thức 1 >
[< khối lệnh - 1 > ] ]
[Case < danh sách biểu thức 2 >
[< câu lệnh - 2>]]
……..
[Case Else
[< Câu lệnh - n >] ]
End Select
Mỗi danh sách biểu thức chứa một hoặc nhiều giá trị, các giá trị cách nhau bằng
dấu phẩy. Mỗi khối lệnh có thể chứa từ 0 đến nhiều dòng lệnh. Case Else không nhất
thiết phải có.
1.6.4. Cấu trúc lặp For…Next.
Cú pháp :
For < biến đếm > = < Điểm đầu > To <điểm cuối >
[ Step = <bước nhảy >]

Next [ biến đếm ]
Trong đó :
Biến đếm, biến đầu, biến cuối, bước nhảy là các giá trị số. Bước nhảy có thể là
các giá trị âm hay dương. Nếu bước nhày là một giá trị dương điểm đầu phải lớn hơn
điển cuối nếu không khối lệnh sẽ không thi hành. Nếu bước nhảy là môt số âm, điểm
đầu phải lớn hơn hoặc bằng điểm cuối. Nếu Step không được chỉ ra thì mặc định bước
nhảy bằng 1
18


Hoặc cú pháp khác : Tương tự vòng lặp For…next, nhưng nó lặp khối lệnh theo số
phần tử của một tập hợp đối tượng hay một mảng thay vì theo số lần lặp xác định.
Vòng lặp này tiện lợi khi khong biết số phần tử trong tập hợp
For Each In < nhóm >
<khối lệnh>
Next [ phần tử ]
Để dùng For Each…next:
Phần tử trong tập hợp chỉ có thể là kiều Variant, Object hoặc một đối tượng
trong Object browser.
Phần tử trong mảng chỉ có thể là biến Variant.
Không dung For Each…Next với mảng chứa kiểu tự định nghĩa ví Variant
không chứa kiểu tự định nghĩa.
1.6.5. Cấu trúc Do…Loop.
Thi hành một khối lệnh với số lần lặp không định trước. Trong đó, một biểu
thức điều kiện dùng để so sánh để giải quyết định vòng lặp có tiếp tục hay hay không.
Điều kiện quy về False ( 0 ) hoặc True ( khác 0 ).
Kiểu 1: Lặp khi điều kiện la True
Do while < điều kiện >
< khối lệnh >
Loop

Kiểu 2 : Vòng lặp luôn có ít nhất một lần thi hành khối lệnh.
Do
< khối lệnh >
Loop White <Điều kiện>
Kiểu 3 : Lặp trong khi điều kiện là False.
Do until <điều kiện >
< khối lệnh >
Loop
Kiểu 4 : Lặp trong khi điều kiện là False và có ít nhất một lần thi hành khối lệnh.
Do
< khối lệnh >
Exit do
19


Loop until
< điều kiện >
1.6.6 Cấu trúc Go to
-

Đượcdùng cho bẫy lỗi.

Dạng 1:
On Error GoTo <Tên nhãn>
<Các câu lệnh có thể gây ra lỗi>
-

Ý nghĩa:
<Tên nhãn>: là một tên được đặt theo quy tắc của một danh biểu.
Nếu một lệnh trong <Các câu lệnh có thể gây ra lỗi> thì khi chương trình thực


thi dến câu lệnh đó, chương trình sẽ tự động nhảy đến đoạn chương trình định nghĩa
bên dưới <Tên nhãn> để thực thi.
Dạng 2:
On Error Resume Next
<Các câu lệnh có thê gây ra lỗi>
-

Ý nghĩa:
Nếu một lệnh trong <Các câu lệnh có thể gây ra lỗi> thì khi chương trình thực

thi đến câu lệnh đó, chương trình sẽ tự động bỏ qua câu lênh bị lỗi và thực thi câu lệnh
kế tiếp.
1.6.7. Vòng lặp While…Wend
Tương tự như Do …while, nhưng ta không thể thoát vòng lặp bằng lệnh Exit. Do
vậy, vòng lặp kiểu này chỉ thoát khi biểu thức điều kiện sai.
1.7. Lập trình giao diện và kết nối cơ sở dữ liệu
1.7.1. Lập trình giao diện
- Khi ta viết một chương trình với VB bạn phải trải qua 2 bước:
Thiết kế giao diện: Thiết kế giao diện chính là thiết kế hình dạng của Form, việc bố
trí các điều khiển trên nó như thế nào.
- Viết lệnh cho các điều khiển: dùng các lệnh trong VB để quy định cách ứng xử
cho mỗi Form và cho mỗi Control.
Thiết kế biểu mẫu sử dụng các điều khiển
IDE của VB là nơi tập trung các menu, thanh công cụ và cửa sổ để tạo ra chương
trình. Mỗi phần của IDE có tính năng ảnh hưởng đến các hoạt động lập
20


trình khác nhau. Thanh menu cho phép bạn quản lý cũng như tác động trực tiếp lên

toàn bộ ứng dụng. Thanh công cụ cho phép truy cập các chức năng của thanh menu
qua các nút trên thanh công cụ.
- Các biểu mẫu Form - khối xây dựng chính của các chương trình VB - xuất
hiện trong cửa sổ Form. Hộp công cụ (Toolbox) để thêm các điều khiển vào
Form.
- Điều khiển: Các thành phần có sẵn để người lập trình tạo giao diện tương tác
với người dùng. Các điều khiển tạo nên sức sống cho ứng dụng. Chúng cho
phép ứng dụng hiển thị dữ liệu và tương tác với người sử dụng
Giới thiệu hộp công cụ thiết kế giao diện Toolbox
- Nút lệnh (Command button): Nút lệnh là một điều khiển dùng để bắt đầu, ngắt
hoặc kết thúc một quá trình. Khi nút lệnh được chọn thì nó trông như được nhấn
xuống, do đó nút lệnh còn được gọi là nút nhấn (Push Button)
- Hộp văn bản (Text box)
Ô văn bản là một điều khiển cho phép nhận thông tin do người dùng nhập vào.
Đối với ô nhập liệu ta cũng có thể dùng để hiển thị thông tin, thông tin này được đưa
vào tại thời điểm thiết kế hay thậm chí ở thời điểm thực thi ứng dụng. Còn thao tác
nhận thông tin do người dùng nhập vào dĩ nhiên là được thực hiện tại thời điểm chạy
ứng dụng.
Là một điều khiển thông dụng dùng để nhận dữ liệu từ người sử dụng cũng như
hiển thị dữ liệu
-

Thanh cuộn (Scoll bar):
Là điều khiển có thanh trượt cho phép cuộn ngang và người dùng có thể sử

dụng HScrollBar như một thiết bị nhập hoặc một thiết bị chỉ định cho số lượng hoặc
vận tốc. Ví dụ ta thiết kế volume cho một trò chơi trên máy tính hoặc để diễn đạt có
bao nhiêu thời gian trôi qua trong một khoảng định thời nhất định.
Thanh cuộn cho phép duyệt dễ dàng qua một danh sách dài gồm nhiều phần tử.
Đây là một phần tử thông dụng của Window 95 và Window NT.

-

Điều khiển khung (Frame)
Dùng để gộp nhóm các điều khiển khác nhau. Khung là một điều khiển dùng

trong việc bố trí giao diện của biểu mẫu một cách trong sáng và rõ nét. Thông thường
các điều khiển cùng phục vụ cho một công việc nào đó sẽ được đặt trong một khung
nhằm làm nổi bật vai trò của chúng.
21


-

Điều khiển nhãn (Label)
Nhãn là điều khiển dạng đồ họa cho phép người sử dụng hiển thị chuỗi ký tự

trên biểu mẫu nhưng họ không thể thay đổi chuỗi ký tự đó một cách trực tiếp.
Thường đi kèm với hộp văn bản bởi hộp văn bản không có thuộc tính Caption
như nút lệnh, nên nhãn sẽ làm việc đó.
-

Hộp đánh dấu (Check box)
Đây là điều khiển hiển thị dấu (.) nếu như được chọn và dấu (.) bị xoá nếu như

không chọn. Dùng điều khiển Check Box để nhận thông tin từ người dùng theo dạng
Yes/No hoặc True/False. Ta cũng có thể dùng nhiều điều khiển trong một nhóm để
hiển thị nhiều khả năng lựa chọn trong khi chỉ có một được chọn. Khi Check Box
được chọn, nó có giá trị 1 và ngược lại có giá trị 0.
Mỗi lần nhấn lên hộp đánh dấu, một thông điệp hiển thị trạng thái của hộp đánh
dấu.

-

Nút tuỳ chọn (Option)
Tương tự hộp đánh dấu nhưng điểm khác là nút Option loại trừ lẫn nhau nghĩa

là trong một hộp đánh dấu (Check box) có thể chọn tất cả; nhưng với một nhóm các
nút tuỳ chọn (Radio button) ta chỉ được phép chọn một mà thôi.
-

Hộp hình và điều khiển
Ta có thể nạp hình ảnh vào lúc thiết kế hoặc khi thi hành ứng dụng. Tuy nhiên,

cần chú ý: điều khiển ảnh không được đặt lên các điều khiển khác ngoại trừ Frame hay
Picture box. Trái lại, hộp hình có nhiều chức năng hơn nó có thể được vẽ ở bất kỳ đâu.
-

Hộp danh sách (List box)
Thông qua list box người sử dụng chỉ thấy được những gì họ được phép xem.

Họ được phép chọn một hoặc một vài phần tử trong danh sách.
-

Hộp kết hợp (Combo box)
Hộp kết hợp = hộp danh sách + hộp văn bản.
Có 3 loại Combo box:
1. Hộp kết hợp thả xuống (Drop - down combo)
2. Đơn giản (Simple combo)
3. Hộp danh sách thả xuống (Drop - down list box).

-


Điều khiển OLE:
Cho phép nhúng tất cả ứng dụng của Word vào VB.
22


Ngoài ra VB còn cung cấp các điều khiển cho phép kết nối cơ sở dữ liệu một
cách nhanh chóng như ADO, Coobar, Dữ liệu Crird…
Viết lệnh cho các điều khiển
Các điều khiển trên Form chỉ là một phần nhỏ của quá trình phát triển ứng dụng
nhằm tạo ra giao diện cho ứng dụng. Cần viết chương trình để cho ứng dụng đó hoạt
động.
Lập trình sự kiện:
Sau khi thiết kế một giao diện với các nút điều khiển. Bạn viết lệnh cho các
điều khiển đó bằng cách:
-

Click đúp chuột lên điều khiển đó để mở cửa sổ Code hoặc Rightclick lên điều

-

khiển rồi chọn View/ Code trên Menu.
Một cửa sổ Code hiện ra, bạn hãy viết lệnh vào đó. Mỗi mã lệnh có hai dòng
tiêu đề đầu Sub và cuối là EndSub bạn hãy giữ nguyên hai dòng này và viết mã
lệnh vào giữa nó.
Chạy thử: Nhấn vào RUN trên thanh công cụ
Ghi lưu:Nhấn chuột vào SAVE trên thanh công cụ
1.7.2. Lập trình xử lý giao diện

Xử lý với Menu

a. Dùng trình soạn thảo để tạo Menu
Menu không chứa trong hộp công cụ như những điều khiển khác, mà được thiết
kế bằng trình soạn thảo Menu. Từ Menu /Tool chọn Menu Editor để mở chương trình
này. Hoặc dùng Ctrl + E, hoặc nhấn vào biểu tượng của nó trên thanh công cụ của VB.

b. Viết chương trình cho điều khiển Menu

23


Để lập trình cho Menu, ta mở cửa sổ thiết kế biểu mẫu và nhấn chuột lên mục
mà ta muốn xử lý. Ví dụ muốn xử lý muc Open: Click chuột lên mục đó cửa sổ code
sẽ mở ra thủ tục mnuFileOpen_click và chờ nhập chương trình.
Xử lý với hộp thoại (Dialog)
Dialog là một trong những cách thức để Window giao tiếp với người sử dụng.
Có 4 kiểu hộp thoại:
-

Thông điệp (Message box): Là loại đơn giản nhất gồm 2 loại: Chỉ cung cấp

-

thông tin và tương tác với người sử dụng.
Hộp nhập (Input box): Input box ít được dùng do không có cách nào để kiểm
định dữ liệu đưa vào khi họ chưa nhấn Enter và Input box cho người sử dụng
rất ít thông tin. Muốn lấy được nhiều thông tin phải dùng biểu mẫu tự thiết kế.

Thanh công cụ Toolbar
Là tính năng chuẩn của các ứng dụng chạy trên Window. Nó cho phép truy cập
nhanh đến các chức năng của Menu.

Thanh trạng thái
Điều khiển trạng thái (Status Bar) cung cấp một cửa sổ, thường ở phần cuối
cùng của cửa sổ chính.
Xử lý chuột và bàn phím
- Sự kiện chuột và bàn phím có vai trò chủ yếu trong hoạt động tương tác
giữa người sử dụng và chương trình.
- Các sự kiện xảy ra trên chuột: Mousedown; Mouseup; Mousemove.
- Biểu mẫu hoặc điều khiển có thể bắt sự kiện chuột khi con trỏ chuột đi ngang
qua.
- Sự kiện bàn phím: Ta có thể kiểm soát phím nhấn theo hai mức: Điều khiển
hoặc biểu mẫu. Mức điều khiển cho phép lập trình với điều khiển; Mức biểu
mẫu cho phép ta lập trình với ứng dụng.
1.8. Giới thiệu sơ lược các kỹ thuật kết nối CSDL
1.8.1. Tổng quan về kết nối cơ sở dữ liệu
Visual Basic cung cấp kèm theo nó một bộ máy cơ sở dữ liệu có thể hiểu được
dữ liệu của Microsoft Access gọi là Joint Engine Technology (JET). JET là một bộ truy
cập cơ sở dữ liệu hướng đối tượng và nó là một phần không thể thiếu được của Visual
Basic. Phiên bản của JET đi kèm với VB 6.0 là miễn phí nghĩa là VB có thể truy xuất
trực tiếp cơ sở dữ liệu của Microsoft Access. Giao diện để VB truy xuất JET có tên là
Data Access Objects (DAO)
24


- DAO (Dữ liệu Acess Objects): Là kỹ thuật kết nối CSDL riêng của Microsoft.
Kỹ thuật này chỉ dùng với Jet Database Engine. Ưu điểm của kỹ thuật này là tính dễ
dùng, nhanh chóng và tiện lợi. Tuy nhiên DAO chỉ có thể liên kết được với hệ quản trị
CSDL Microsoft Acess.
- ODBC (Open Database Connectivity): Được thiết kế để cho chương trình kết
nối với nhiều loại CSDL mà chỉ dùng một phương cách duy nhất. Nó giúp cho lập
trình viên chỉ sử dụng một phương thức duy nhất để truy cập vào các hệ quản trị

CSDL. Hơn thế, khi chúng ta nâng cấp lên hệ quản trị CSDL cao hơn (Ví dụ: nâng cấp
Acess lên SQLServer) thì sự sửa đổi trong chương trình sẽ rất ít.
- RDO (Remote Dữ liệu Object): Được thiết kế để giải quyết những khó khăn
của ODBC. Cách lập trình với RDO đơn giản như DAO, nhưng khả năng của nó thì
như ODBC. RDO cho phép nhiều chương trình kết nối với CSDL. Tuy nhiên RDO
không được sử dụng nhiều.
- ADO (ActiveX Dữ liệu Objects): ADO cho phép ta làm việc với mọi loại
nguồn dữ liệu (dữ liệu sources), không nhất thiết phải là CSDL Microsoft Acess hay
SQLServer. Dữ liệu sources có thể là danh sách các địa chỉ Email, hay một file text
trong do mỗi hàng là một record gồm những fields ngăn cách bởi các dấu phẩy hay
dấu tab.
Nếu trong DAO ta dùng thẳng tên CSDL Microsoft Acess thì trong ADO cho ta
nối với một CSDL qua một connection bằng cách chỉ định một Connection String.

25


×