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

Xây dựng chương trình quản lý khách sạn Nhật Anh

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.25 MB, 65 trang )

LỜI NÓI ĐẦU

Trong những năm gần đây sự phát triển vượt trội của công nghệ thông tin
đã đóng góp to lớn cho sự phát triển chung của xã hội, những sản phẩm của công
nghệ thông tin ngày một được ứng dụng rộng rãi ở khắp mọi nơi, trong mọi lĩnh
vực, mọi ngành nghề và nó không ngừng được phát triển. việc nắm bắt và ứng
dụng lĩnh vực khoa học kỹ thuật này và áp dụng nó vào phục vụ cuộc sống con
người là một vấn đề quan trọng và thật sự cần thiết nhằm đạt hiệu quả cao trong
công việc, tăng năng suất lao động thúc đẩy xã hội phát triển.
Qua quá trình học tập tại Khoa Công nghệ Thông tin - Đại học Thái
Nguyên, em đã được các thầy giáo, cô giáo truyền đạt kiến thức chuyên ngành,
rèn luyện một tinh thần học tập và làm việc độc lập, sáng tạo đó là những yếu tố
cần thiết để bắt đầu cho một sự nghiệp trong tương lai.
Báo cáo đồ án tốt nghiệp là cơ hội để em có thể áp dụng, tổng kết lại
những kiến thức mà mình đã học, ứng dụng vào thực tế của cuộc sống. Dưới sự
giúp đỡ tận tình của thầy giáo Phạm Đức Long, em đã hoàn thành bài đồ án này.
Do khả năng có hạn và thời gian hạn hẹp nên trong quá trình làm bài em không
thể không tránh khỏi những sai sót, rất mong sự đóng góp ý kiến của các thầy
giáo, cô giáo và các bạn.
Một lần nữa em xin chân thành cảm ơn thầy giáo Ths. Phạm Đức Long
đã giúp em hoàn thành bài đồ án này.
Thái Nguyên, tháng 04 năm 2011
Sinh viên

Lê Thị Thu Phương


LỜI CẢM ƠN

Nhờ có sự hướng dẫn, chỉ bảo tận tình của thầy giáo Phạm Đức Long, sự
giúp đỡ nhiệt tình của Ban lãnh đạo và nhân viên khách sạn Nhật Anh, sự đóng


góp ý kiến của các bạn trong lớp... Đến nay đồ án tốt nghiệp của em đã hoàn
thành. Qua đây, cho em được bày tỏ lòng biết ơn sâu sắc tới các thầy, cô giáo của
khoa công nghệ thông tin - ĐHTN, đặc biệt Thầy giáo hướng dẫn Phạm Đức
Long, Ban giám đốc và nhân viên Khách sạn Nhật Anh, cùng toàn thể các bạn
đồng nghiệp đã giúp đỡ để em hoàn thành bài đồ án này.
Em xin chân thành cảm ơn!
Sinh Viên Thực Hiện
Lê Thị Thu Phương


MỤC LỤC
Trang
PHẦN MỞ ĐẦU..................................................................................................1
I. LÝ DO CHỌN ĐỀ TÀI.....................................................................................1
1. Cơ sở lý thuyết..................................................................................................1
2. Cở sở thực tiễn..................................................................................................1
II. ĐỐI TƯỢNG....................................................................................................1
III. MỤC ĐÍCH CỦA ĐỒ ÁN TỐT NGHIỆP......................................................2
IV. PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN ĐẶT RA...................................2
V. NỘI DUNG ĐỀ TÀI CẦN THỰC HIỆN.........................................................2
CHƯƠNG I: CƠ SỞ LÝ THUYẾT...................................................................3
1.1. GIỚI THIỆU CHUNG VỀ VISUAL BASIC.................................................3
1.1.1. Thiết kế giao diện........................................................................................4
1.1.2. Viết lệnh cho các đối tượng.........................................................................8
1.1.3. Biến.............................................................................................................9
1.1.4. Các kiểu dữ liệu...........................................................................................9
1.1.5. Điều khiển luồng chương trình.................................................................11
1.1.6. Hiển thị và nhận thông tin.........................................................................13
1.1.7. Các hàm về chuỗi......................................................................................14
1.1.8. Hàm và thủ tục do người dùng định nghĩa.................................................18

1.1.9. Visual Basic được sử dựng trong bài toán.................................................22
1.2. GIỚI THIỆU VỀ ACCESS...........................................................................22
1.2.1. Giới thiệu chung về Access.......................................................................22
1.2.2. Bảng (Table)..............................................................................................23
1.2.3. Mẫu biểu (Form).......................................................................................24
1.2.4. Báo cáo (Report).......................................................................................25
CHƯƠNG II: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG
.................................................................................................................... 26
2.1. KHẢO SÁT THỰC TẾ HT QUẢN LÝ KHÁCH SẠN NHẬT ANH.........26


2.1.1. Tìm hiểu hiện trạng hệ thống cũ................................................................26
2.1.1.1. Đặc điểm của khách sạn Nhật Anh.........................................................26
2.1.1.2. Cơ cấu tổ chức hệ thống quản lí khách sạn.............................................27
2.1.1.3. Quy trình quản lý khách sạn thủ công và nhược điểm...........................28
2.2.2. Xây dựng hệ thống quản lý khách sạn Nhật Anh.......................................30
2.2.2.1. Khái quát chung.....................................................................................30
2.2.2.2. Mô hình chung về công tác quản lý trong các khách sạn........................31
2.2.3. Yêu cầu về hệ thống..................................................................................31
2.2.4. Phân tích chi tiết bài toán..........................................................................32
2.2.4.1. Mục tiêu quản lý và yếu tố thành công của bài toán...............................32
2.2.4.2. Mục tiêu quản lý.....................................................................................32
2.2.4.3. Yếu tố thành công quan trọng.................................................................32
2.2.5. Phân tích và thiết kế hệ thống....................................................................32
2.2.5.1. Xây dựng biểu đồ phân cấp chức năng...................................................33
2.2.5.2. Xây dựng biểu đồ luồng dữ liệu.............................................................34
2.2.5.2.1 Biểu đồ luồng dữ liệu mức khung cảnh................................................34
2. 2.5.2.2. Biểu đồ luồng dữ liệu mức đỉnh.........................................................35
2.2.5.2.3. Biểu đồ luồng dữ liệu mức dưới đỉnh..................................................36
2.2.5.3. Xây dựng mô hình thực thể....................................................................40

2.2.5.4. Thiết kế cơ sở dữ liệu.............................................................................41
2. 2.5.5 Sơ đồ thực thể liên kết...........................................................................43
CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH.................................................44
3.1. THIẾT KẾ GIAO DIỆN...............................................................................44
3.2. THIẾT KẾ CÁC FORM NHẬP DỮ LIỆU..................................................45
3.2.1. Chức năng đăng nhập................................................................................45
3.2.2. Chức năng cập nhật...................................................................................47
3.2.3 Chức năng theo dõi thanh toán...................................................................50
3.2.4. Chức năng theo dõi báo cáo......................................................................51
KẾT LUẬN........................................................................................................53


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


PHẦN MỞ ĐẦU
I. LÝ DO CHỌN ĐỀ TÀI
1. Cơ sở lý thuyết
Sự ra đời phát triển mạnh mẽ của tin học là thành quả vĩ đại của con
người. Công nghệ máy tính đã đạt được nhiều thành tựu to lớn nếu như không
muốn nói là những bước đột phá mạnh mẽ. Máy tính đang được sử dụng rộng rãi
trong các hoạt động của con người. trong các lĩnh vực kinh tế, máy tính được ứng
dụng để quản lý tài chính, ngân hàng, quản lý nhân sự…Trong các lĩnh vực khác
như xây dựng, y học, ngành chế tạo, văn hoá, công nghiệp và nông nghiệp nó
cũng đóng vai trò hết sức quan trọng và được ứng dụng rộng rãi trên phạm vi
toàn thế giới.
Đối với các khách sạn tin học đóng một vai trò hết sức quang trọng trong
việc cung cấp những phần mềm quản lí, đặc biệt là quản lý hoạt động của khách
sạn. Với phần mềm này giúp người quản lý xử lý nhanh chóng, đảm bảo chính
xác và đáp ứng được yêu cầu của công việc.

2. Cở sở thực tiễn
Quản lý khách sạn là một nhiệm vụ hết sức quan trọng đặc biệt là ở các
khách sạn lớn, vì số lượng khách hàng lớn, nhiều loại hình dịch vụ kèm theo.
Cùng việc cải tiến phong cách phục vụ, trang bị thêm tiện nghi, nâng cao chất
lượng phòng nghỉ, công tác quản lý khách sạn đã góp phần vào việc nâng cao
chất lượng phục vụ của khách sạn với mỗi khách sạn việc quản lý phụ thuộc vào
tình trạng quản lý của khách sạn đó.
Do nhu cầu thực tế của khách sạn Nhật Anh và được sự đồng ý của thầy
giáo hướng dẫn Phạm Đức Long tôi chọn đề tài “Xây dựng chương trình quản
lý khách sạn Nhật Anh” để làm đồ án tốt nghiệp.
II. ĐỐI TƯỢNG
- Bước đầu nghiên cứu ngôn ngữ Access và lập trình VB
- Vận dụng kiến thức đã học để thiết kế một bài toán thực tế
- Tìm hiểu cơ chế quản lí khách sạn của khách sạn Nhật Anh. Những thao
tác cơ bản với phần mềm Access.
1


- Những yêu cầu về quản lí và định hướng phát triển trong hệ thống quản
lý khách sạn của khách sạn Nhật Anh.
III. MỤC ĐÍCH CỦA ĐỒ ÁN TỐT NGHIỆP
Chọn và nghiên cứu bài đồ án này, mục đích của em là tổng hợp vận dụng
kiến thức chuyên ngành đã học thông qua việc xây dựng một chương trình quản lý.
Tìm hiểu về Access, ngôn ngữ lập trình Visual Basic và phân tích bài toán
quản lý khách sạn của khách sạn Nhật Anh. Thiết kế các chức năng cần thiết của
bài toán bằng ngôn ngữ lập trình Visual Basic. Bằng cách tìm hiểu hiện trạng
thực tế và những yêu cầu đưa ra của công việc quản lý khách sạn của khách sạn
Nhật Anh, em sẽ tìm ra những thành công và hạn chế của bài toán. Từ đó áp dụng
chương trình quản lý khách sạn bằng công nghệ thông tin vào thực tế.
IV. PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN ĐẶT RA

Để giải quyết bài toán này em sử dụng những phương pháp sau đây:
- Tìm hiểu thực tế công tác quản lý khách sạn và quản lý khách sạn Nhật Anh.
- Tìm hiểu phần mềm Access thông qua tài liệu
- Tìm hiểu ngôn ngữ lập trình Visual Basic thông qua tài liệu
- Phân tích và thiết kế hệ thống thông tin
- Tiến hành cài đặt chương trình
V. NỘI DUNG ĐỀ TÀI CẦN THỰC HIỆN
Ngoài phần mở đầu, kết luận và mục tài liệu tham khảo, thì đồ án tốt
nghiệp bao gồm các phần chính sau:
Chương 1: Cơ sở lý thuyết
Chương 2: Khảo sát và phân tích thiết kế hệ thống.
Chương 3: Cài đặt chương trình.

2


CHƯƠNG I
CƠ SỞ LÝ THUYẾT
1.1. GIỚI THIỆU CHUNG VỀ VISUAL BASIC
Visual Basic được xem là một công cụ phát triển phần mềm. Đã gần mười
năm, Visual Basic quả không hổ danh là một ngôn ngữ lập trình phổ dụng nhất
trên Thế Giới hiện nay. Nhưng tất cả những tuyên bố này là về cái gì. Chính xác
Visual Basic là gì và nó giúp gì cho ta.
Vâng, Bill Gates đã mô tả Visual Basic như một “công cụ vừa dễ lại vừa
mạnh để phát triển các ứng dụng Windows bằng Basic”. Điều này dường như
chưa đủ để minh chứng cho tất cả những phô trương trên, trừ khi ta hiểu ra rằng
hiện đang có hàng chục triệu người dùng Microsoft Windows.
Visual Basic 2.0 đã từng nhanh hơn, mạnh hơn và thậm chí dễ dùng hơn
Visual Basic 1.0. Visual Basic 3 bổ sung các cách thức đơn giản để điều khiển
các cơ sở dữ liệu mạnh nhất sẵn có. Visual Basic 4 lại bổ sung thêm phần hổ trợ

phát triển 32 bit và bắt đầu tiến trình chuyển Visual Basic thành một ngôn ngữ
lập trình hướng đối tượng đầy đủ. Visual Basic 5 đã bổ sung khả năng tạo các tập
tin thi hành thực sự, thậm chí có khả năng tạo các điều khiển riêng. Và giờ đây,
Visal Basic 6.0 bổ sung một số tính năng ngôn ngữ đã được mong đợi từ lâu, tăng
cường năng lực Internet, và cả các tính năng cơ sở dữ liệu mạnh hơn. Quả thật,
Visual Basic đã trở thành mạnh nhất và trôi chảy nhất chưa từng thấy.
Mặt khác, điểm tiện lợi khi dùng Visual Basic chính là ở chỗ tiết kiệm thời
gian và công sức so với các ngôn ngữ lập trình khác khi xây dựng cùng một ứng
dụng.
Visual Basic gắn liền với khái niệm lập trình trực quan ( Visual ), nghĩa là
khi thiết kế chương trình, ta nhìn thấy ngay kết quả qua từng thao tác và giao
diện khi chương trình thực hiện. Đây là thuận lợi lớn so với các ngôn ngữ lập
trình khác, Visual Basic cho phép ta chỉnh sửa đơn giản, nhanh chóng, màu sắc,
kích thước, hình dáng của các đối tượng có mặt trong ứng dụng.
3


Một khả năng khác của Visual Basic chính là khả năng kết hợp các thư
viện liên kết động DLL (Dynamic Link Library). DLL chính là phần mở rông cho
Visual Basic tức là khi xây dựng một ứng dụng nào đó có một số yêu cầu mà
Visual Basic chưa đáp ứng đủ, ta viết thêm DLL phụ trợ.
Khi viết chương trình bằng Visual Basic, chúng ta phải qua hai bước:
- Thiết kế giao diện (Visual Programming)
- Viết lệnh (Code Programming)
1.1.1. Thiết kế giao diện
Do Visual Basic là ngôn ngữ lập trình hướng đối tượng nên việc thiết kế
giao diện rất đơn giản bằng cách đưa các đối tượng vào Form và tiến hành thay
đổi một số thuộc tính của các đối tượng đó.
* Form.
Form là biểu mẫu của mỗi ứng dụng trong Visual Basic. Ta dùng Form

(như là một biểu mẫu) nhằm định vị và sắp xếp các bộ phận trên nó khi thiết kế
các phần giao tiếp với người dùng.
Ta có thể xem Form như là bộ phận mà nó có thể chứa các bộ phận khác.
Form chính của ứng dụng, các thành phần của nó tương tác với các Form khác và
các bộ phận của chúng tạo nên giao tiếp cho ứng dụng. Form chính là giao diện
chính của ứng dụng, các Form khác có thể chứa các hộp thoại, hiển thị cho nhập
dữ liệu và hơn thế nữa.

Trong nhiều ứng dụng Visual Basic, kích cỡ và vị trí của biểu mẫu vào lúc
hoàn tất thiết kế (thường mệnh danh là thời gian thiết kế, hoặc lúc thiết kế) là
kích cỡ và hình dáng mà người dùng sẽ gặp vào thời gian thực hiện, hoặc lúc
4


chạy. Điều này có nghĩa là Visual Basic cho phép ta thay đổi kích cỡ và di
chuyển vị trí của các Form đến bất kỳ nơi nào trên màn hình khi chạy một đề án,
bằng cách thay đổi các thuộc tính của nó trong cửa sổ thuộc tính đối tượng
(Properties Windows). Thực tế, một trong những tính năng thiết yếu của Visual
Basic đó là khả năng tiến hành các thay đổi động để đáp ứng các sự kiện của
người dùng.
* Tools Box (Hộp công cụ).
Bản thân hộp công cụ này chỉ chứa các biểu tượng biểu thị cho các điều
khiển mà ta có thể bổ sung vào biểu mẫu, là bảng chứa các đối tượng được định
nghĩa sẵn của Visual Basic. Các đối tượng này được sử dụng trong Form để tạo
thành giao diện cho các chương trình ứng dụng của Visual Basic. Các đối tượng
trong thanh công cụ sau đây là thông dụng nhất:
* Scroll Bar (Thanh cuốn).
Các thanh cuốn được dùng để nhận nhập liệu hoặc hiển thị kết xuất khi ta
không quan tâm đến giá trị chính xác của một đối tượng nhưng lại quan tâm sự
thay đổi đó nhỏ hay lớn. Nói cách khác, thanh cuốn là đối tượng cho phép nhận

từ người dùng một giá trị tùy theo vị trí con chạy (Thumb) trên thanh cuốn thay
cho cách gõ giá trị số.
Thanh cuốn có các thuộc tính quan trọng nhất là:
- Thuộc tính Min: Xác định cận dưới của thanh cuốn
- Thuộc tính Max: Xác định cận trên của thanh cuốn
- Thuộc tính Value: Xác định giá trị tạm thời của thanh cuốn
* Option Button Control (Nút chọn)
Đối tượng nút chọn cho phép người dùng chọn một trong những lựa chọn
đưa ra. Như vậy, tại một thời điểm chỉ có một trong các nút chọn được chọn.
* Check Box (Hộp kiểm tra):
Đối tượng hộp kiểm tra cho phép người dùng kiểm tra một hay nhiều điều
kiện của chương trình ứng dụng. Như vậy, tại một thời điểm có thể có nhiều hộp
kiểm tra được đánh dấu.
5


* Label (Nhãn):
Đối tượng nhãn cho phép người dùng gán nhãn một bộ phận nào đó của
giao diện trong lúc thiết kế giao diện cho chương trình ứng dụng. Dùng các nhãn
để hiển thị thông tin không muốn người dùng thay đổi. Các nhãn thường được
dùng để định danh một hộp văn bản hoặc một điều khiển khác bằng cách mô tả
nội dung của nó. Một công cụ phổ biến nhất là hiển thị thông tin trợ giúp.
* Image (Hình ảnh):
Đối tượng Image cho phép người dùng đưa hình ảnh vào Form
* Picture Box:
Đối tượng Picture Box có tác dụng gần giống như đối tượng Image.
* Text Box (Hộp soạn thảo):
Đối tượng Text Box cho phép đưa các chuỗi kí tự vào Form
Thuộc tính quan trọng nhất của Text Box là thuộc tính Text cho biết nội dung
hộp Text Box.

* Command Button (Nút lệnh):
Đối tượng Command Button cho phép quyết định thực thi một công việc
nào đó khi người dùng Click hoạt nó.
* Directory List Box, Drive List Box, File List Box:
Đây là các đối tượng hỗ trợ cho việc tìm kiếm các tập tin trên một thư mục
của ổ đĩa nào đó
* List Box (Hộp danh sách):
Đối tượng List Box cho phép xuất các thông tin về chuỗi.
k/ Treeview:
Điều khiển Treeview có trong mọi ấn bản của VB 6.0. Điều khiển này
hiển thị một danh sách phân cấp của các đối tượng Node, mỗi đối tượng có nhãn
và hình ảnh tuỳ chọn đi kèm.
6


Sau khi tạo xong điều khiển, ta có thể thêm, xóa, sắp xếp và thao tác với
các đối tượng Node thông qua thuộc tính và phương thức. Có thể mở rộng hay
rút gọn một nút trong cây phân cấp, thông qua các sự kiện Collapse, Expand và
NodeClick. Có thể duyệt qua cây để lấy về một tham chiếu đến Node bằng cách
dùng các thuộc tính Root, Parent, Child, FirstSibling, Next, Previous và
LastSibling. Điều khiển TreeView còn dùng điều khiển ImageList để hiển thị
hình ảnh.
Trên đây là những đối tượng được sử dụng thường xuyên nhất trong phần
thiết kế giao diện cho một chương trình ứng dụng của Visual Basic.
* Properties windows (Cửa sổ thuộc tính):

Properties Windows là nơi chứa danh sách các thuộc tính của một đối tượng cụ thể. Các
thuộc tính này có thể thay đổi được để phù hợp với yêu cầu về giao diện của các chương
trình ứng dụng.


* Project Explorer.

Do các ứng dụng của Visual Basic thường dùng chung mã hoặc các Form
đã tùy biến trước đó, nên Visual Basic tổ chức các ứng dụng thành các Project.
Mỗi Project có thể có nhiều Form và mã kích hoạt các điều khiển trên một Form
7


sẽ được lưu trữ chung với Form đó trong các tập tin riêng biệt. Mã lập trình
chung mà tất cả các Form trong ứng dụng chia sẻ có thể được phân thành các
Module khác nhau và cũng được lưu trữ tách biệt, gọi là các Module mã. Project
Explorer nêu tất cả các biểu mẫu tùy biến được và các Module mã chung, tạo nên
ứng dụng của ta.
1.1.2. Viết lệnh cho các đối tượng
Điểm mấu chốt cần phải nhận thức rõ trong khâu lập trình Visual Basic là
Visual Basic xử lí mã chỉ để đáp ứng các sự kiện. Thực vậy, không như nhiều
ngôn ngữ lập trình khác, các dòng mã thi hành trong một chương trình Visual
Basic phải nằm trong các thủ tục hoặc các hàm, các dòng mã bị cô lập sẽ không
làm việc.
* Cửa Sổ Code:
Cửa sổ Code luôn là nơi để viết mã. Cửa sổ Code có một thanh tách (Split
bar) nằm bên dưới thanh tiêu đề, tại đầu thanh cuộn dọc. Thanh cuộn này có tác
dụng tách cửa sổ Code thành hai cửa sổ Code con để có thể xem cả hai phần cửa
sổ Code cùng lúc.
* Hộp liệt kê Object:
Hộp liệt kê bên trái cửa sổ Code là hộp Object, nó liệt kê mọi đối tượng
trên Form, cùng với một đối tượng trên General lưu giữ mã chung mà tất cả mọi
thủ tục dính kèm với Form có thể sử dụng.
* Hộp liệt kê Procedure:
Hộp liệt kê bên phải cửa sổ Code là hộp liệt kê Procedure. Hộp liệt kê này

cung cấp mọi sự kiện mà đối tượng đã lựa trong hộp liệt kê Object nhận ra.
* Intellisense:
Intellisense là một công nghệ bổ sung hoàn thành phức hợp của hãng
Microsoft, nó cho phép đỡ mất công gõ và tra cứu. Intellisense bật ra các hộp nhỏ
với các thông tin hữu ích về đối tượng mà ta đang làm việc. Nó có ba thành phần
như mô tả dưới đây:
8


- QuickInfo: Đây là nơi ta có thông tin về cú pháp của một toán tử Visual
Basic. Mỗi khi nhập một từ khóa theo sau là một dấu cách hoặc dấu ngoặc đơn
mở, một thủ thuật gợi ý hiện ra cung cấp cú pháp của thành phần đó.
- List Properties / Methods: Tính năng Intellisense này đưa ra một danh
sách các tính chất và phương pháp của một đối tượng ngay sau khi ta gõ dấu
chấm.
- Available Constants: Tính năng Intellisense tiện dụng này cung cấp một
danh sách các hằng sẵn có.
1.1.3. Biến
Trong Visual Basic, các biến [variables] lưu giữ thông tin (các giá trị).
Khi dùng một biến, Visual Basic xác lập một vùng trong bộ nhớ máy tính để lưu
giữ thông tin. Trong Visual Basic, tên biến có thể dài tới 255 ký tự và trừ ký tự
đầu tiên phải là một mẫu tự, ta có thể gộp một tổ hợp mẫu tự, con số và dấu gạch
dưới bất kỳ. Chữ hoa, chữ thường trong tên biến không quan trọng.
Khai báo biến: Dim Tên Biến As Kiểu của biến
Ví dụ: Dim Dem As Integer
1.1.4. Các kiểu dữ liệu
Dữ liệu cũng có nhiều kiểu: kiểu dữ liệu số, chuỗi và Boolean. Thực tế,
Visual Basic điều quản 14 kiểu dữ liệu chuẩn. Ta cũng có thể định nghĩa các kiểu
biến riêng. Các kiểu thường dùng để điều tác dữ liệu là:
*Kiểu String:

Các biến chuỗi [String] lưu giữ kí tự. Một chuỗi có thể có thể có một hay
nhiều kí tự. Tất nhiên, biến lưu trữ một chuỗi được gọi là một biến chuỗi. Một
phương pháp để định danh các biến kiểu náy đó là đặt một dầu đồng đô la ($) vào
cuối tên biến: Astring Variables.
Trên lý thuyết, các biến chuỗi có thể lưu giữ khoảng 2 tỷ kí tự. Trong thực
tế, một máy cụ thể có thể lưu giữ ít hơn, do các hạn chế của bộ nhớ, các yêu cầu
phần việc chung của Windows, hoặc số lượng chuỗi dùng trong biểu mẫu.
9


*Kiểu Integer:
Các biến số nguyên Integer lưu trữ các giá trị số nguyên tương đối nhỏ
(giữa -32768 và +32767). Số học số nguyên tuy rất nhanh song bị hạn chế trong
các phạm vi này. Dấu định danh được dùng là dấu “ % ”
* Kiểu Long Integer:
Các biến số nguyên dài Long Integer lưu trữ các số nguyên giữa
-2,147,483,648 và +2,147,483,647. Dấu định danh được dùng là dấu “ &”
* Kiểu Single Precision:
Các biến kiểu này lưu giữ các con số ở các mức xấp xỉ. Chúng có thể là
phân số nhưng chỉ có thể bảo đảm độ chính xác ở mức bảy chữ số. Dấu định
danh được dùng là dấu “ ! ”
* Kiểu Double Precision:
Kiểu dữ liệu chính đôi [double _ precision] khi cần các con số có tới 16 vị
trí độ Chính xác và cho phép có hơn 300 chữ số. Các phép tính cũng là xấp xỉ cho
kiểu biến này, chỉ có thể căn cứ trên 16 chữ số đầu. Ngoài ra, với các con số chính
đôi, phép tính thực hiện tương đối chậm, chủ yếu được dùng trong các phép tính
khoa học của Visual Basic. Dấu định danh dùng cho biến chính đôi là dấu “ # ” .
Phải dùng số # tại cuối con số thực tế, nhất là khi có tương đối ít chữ số
bởi bằng không Visual Basic sẽ mặc nhận ý ta muốn dùng biến với độ chính xác
hạn chế của một số chính đơn. Chính xác hơn nếu ta viết:

AdoublePrecisionVariable # = 12.345 #
* Kiểu Currency:
Các biến kiểu này được thiết kế để tránh một số vấn đề trong khi chuyển
từ các phân số nhị phân thành các phân số thập phân (không thể tạo 1/10 từ số tổ
hợp 1/2, 1/4, 1/8, 1/16 ). Kiểu Currency có thể có 4 chữ số về bên phải của vị trí
thập phân và lên tới 14 chữ số về bên trái của dấu chấm thập phân. Dấu định
danh được dùng là “@”
10


* Kiểu Date:
Kiểu dữ liệu ngày tháng là một phương cách tiện dụng để lưu trữ thông tin
cả ngày tháng lẫn giờ khắc cho bất kỳ thời điểm nào giữa nửa đêm ngày 1 tháng
giêng năm 100 đến nửa đêm ngày 31 tháng 12 năm 9999. Ta phải bao phép gán
cho các biến ngày tháng bằng dấu #
Ví dụ: Ngày = # January, 1, 2000#
Nếu không gộp một giờ khắc vào ngày, Visual Basic mặc nhận nó là nửa đêm
*Kiểu Byte:
Kiểu Byte mới có trong Visual Basic 5 và có thể lưu giữ các số nguyên
giữa và 255.
* Kiểu Boolean:
Dùng kiểu Boolean khi cần các biến là True hay False
* Kiểu Variant:
Kiểu Variant được thiết kế để lưu trữ toàn bộ dữ liệu khả dĩ khác nhau của
Visual Basic nhận được trong một chỗ. Nếu ta không báo cho Visual Basic biết
kiểu thông tin mà một biến đang lưu giữ, nó sẽ dùng kiểu Vriant.
Ngoài cách dùng dấu định danh để chỉ định kiểu, Visual Basic còn cho
phép dùng điều lệnh
“Dim” để khai báo biến
Ví dụ: Dim A as integer

Dim B as string, C as Byte
1.1.5. Điều khiển luồng chương trình.
*Phát biểu IF:
IF <điều kiện> THEN
Các lệnh thực hiện khi điều kiện thỏa
ELSE
Các lệnh thực hiện khi điều kiện không thỏa
END IF
11


* Phát biểu SELECT CASE: Đây là cấu trúc chọn lựa
SELECT CASE X
CASE 0:
Các lệnh thực hiện khi X = 0
CASE 1:
Các lệnh thực hiện khi X = 1
...
CASE n:
Các lệnh thực hiện khi X = n
END SELECT
* Lệnh DO WHILE . . LOOP:
Đây là cấu trúc lặp kiểm tra điều kiện trước, vòng lặp tiếp tục khi điều
kiện lặp còn đúng
DO WHILE <Điều kiện>
Các lệnh thực hiện khi điều kiện còn thỏa
LOOP
* Lệnh DO . . LOOP WHILE:
Đây là cấu trúc lặp kiểm tra điều kiện sau, vòng lặp tiếp tục khi điều kiện
lặp còn đúng.

DO
Các lệnh
LOOP WHILE Điều kiện
Như vậy với cấu trúc này, vòng lặp thực hiện ít nhất 1 lần
* Lệnh FOR . . NEXT: Đây là cấu trúc lặp hay dùng nhất trong Visual Basic
FOR . . TO STEP n
Các lệnh
NEXT
Trong đó Step là bước tăng. Mặc định Step là 1
12


* Lệnh DO . . LOOP UNTIL:
DO . .
Các lệnh
LOOP UNTIL <Điều kiện>
Tương tự như DO . . LOOP WHILE. Vòng lặp thực hiện ít nhất 1 lần
* Phát biểu EXIT . . FOR:
Phát biểu EXIT được sử dụng khi cần dừng ngay quá trình lặp của FOR
* Lệnh EXIT DO:
Phát biểu EXIT DO sử dụng khi cần dừng ngay quá trình lặp của phát biểu
DO.
1.1.6. Hiển thị và nhận thông tin
Ta sử dụng các hộp đối thoại để hiển thị thông tin cho người dùng hoặc
nhận thông tin. Trong Visual Basic có ba loại hộp đối thoại:
- Hộp đối thoại có sẵn (Predefined Dialog Box)
- Hộp đối thoại của người dùng (Custom Dialog Box)
- Hộp đối thoại chung (Common Dialog Box)
* Hộp đối thoại có sẵn:
Các hộp đối thoại này do Visual Basic định nghĩa sẵn, chúng có các tham

số qui định dạng hiển thị chung. Ta có thể hiển thị các hộp đối thoại có sẵn
thông qua:
- Phát biểu MsgBox hay hàm MsgBos ( )
- Hàm InputBox
* Phát biểu MsgBox hay hàm MsgBox ( ):
Ta sử dụng MsgBox hay hàm MsgBox ( ) để hiển thị thông báo và nhận
lại trả lời của người dùng.
13


Phát biểu MsgBox hay hàm MsgBox ( ) có ba đối:
- Thông báo cần hiển thị: chuỗi kí tự
- Dạng hộp đối thoại: số nguyên (integer)
- Tiêu đề hộp đối thoại: chuỗi kí tự
MsgBox (Message, Dialog Type, Tittle).
Khi sử dụng hàm MsgBox ( ) thì ta phải có giá trị trở về
* Hàm InputBox ( ):
Hàm inputBox ( ) dùng nhận thông tin từ người dùng. Hàm InputBox ( )
gồm một dòng thông báo (Message), hộp soạn thảo và hai nút OK, Cancel.
Người dùng đưa thông tin nhập vào hộp soạn thảo và bấm OK.
Tham số thứ nhất của InputBox ( ) là dòng thông báo, tham số thứ hai là
tiêu đề hộp đối thoại InputBox ( ) trả về chuỗi kí tự nằm trong hộp soạn thảo.
Hàm InputBox còn có thêm ba thông số khác. Đối thứ ba xác định chuỗi
ban đầu trong hộp soạn thảo ngay khi hộp đối thoại xuất hiện. Hai đối số cuối
xác định tọa độ của hộp đối thoại.
* Hộp đối thoại của người dùng:
Đây là loại hộp đối thoại do người lập trình định nghĩa để tương thích yêu
cầu nhập thông tin của người sử dụng
Dùng phương thức Show với đối số 1 (do hộp thoại dạng Modal) để hiển
thị hộp thoại người dùng

* Hộp đối thoại dùng chung:
Ta có thể thực hiện (run time) bằng cách thay đổi một số thuộc tính của nó.
1.1.7. Các hàm về chuỗi
* Chuỗi
Do thông tin trong các hộp văn bản Visual Basic luôn được lưu trữ dưới
dạng văn bản, nên trong Visual Basic, các chuỗi tỏ ra quan trọng hơn nhiều so
14


với trong Basic bình thường. Một chuỗi chẳng qua là một nhóm kí tự được bao
trong các dấu nháy kép. Khi có người nhập thông tin vào hộp văn bản, Visual
Basic luôn lưu trữ chúng dưới dạng một chuỗi. Do đó, cho dù ta có một hộp văn
bản chủ ý để lưu giữ một khối lượng, thì nội dung đó vẫn được xem là một chuỗi.
Phép toán phổ dụng nhất đối với các chuỗi thường là gom hai chuỗi lại với
nhau (thuật ngữ gọi là ghép nối [concatenate]). Để ghép nối hai chuỗi, ta dùng
dấu “&” hay dấu “+”.
Dấu và nối các chuỗi theo thứ tự mà ta nêu chúng. Do đó, không giống
như việc cộng các con số, thứ tự là quan trọng khi dùng dấu & để ghép hai chuỗi
với nhau. Cũng có thể dùng dấu & để nối các chuỗi theo số lượng tùy ý trước khi
Visual Basic thực hiện điều lệnh gán.
Tuy trong Visual Basic ta vẫn có thể dùng dấu + để ghép các chuỗi với
nhau, song không nên làm thế. Nó có thể dẫn đến các mối rất khó tìm. Vì Visual
Basic có thói quen là chuyển đổi các chuỗi thành các con số khi nó cho là có
nghĩa.
* Các hàm chuỗi.
Phần lớn cái ta cần trong lập trình là phân tích dữ liệu. Tiến trình này có
thể đơn giản chỉ là việc tách nhỏ một tên đầy đủ thành tên thường gọi và tên họ,
song cũng có thể phức tạp như viết mã cần thiết để chuyển đổi một tập tin từ
dạng thức này sang dạng thức khác. Mọi kiểu điều khác như vậy buộc ta phải
nắm vững các hàm điều quản chuỗi của Visual Basic. Trong Visual Basic, các

hàm này cho phép ta xem xét từng kí tự trong mỗi chuỗi, tách riêng các chuỗi,
thay một phần trong chuỗi bằng nội dung khác…
* Phân tích chuỗi bằng hàm Mid, Left và Right:
Để tiến hành phân tích một chuỗi hiện có, ta phải đặt một hàm trong
thân vòng lặp cho phép kéo từng mẫu tự riêng lẻ hoặc các chùm lớn hơn ra
khỏi một chuỗi.
For I = 1 To Len (The String)
‘ mã hàm làm việc với các kí tự riêng lẻ
15


Next I
* Hàm Mid:
Trong các hàm trên, quan trọng nhất, ta có hàm Mid, trả về một chuỗi lưu
trữ trong một variant, và hàm Mid$, hàm trả về chuỗi thực tế. Có thể dùng hoán
đổi hai phiên bản này.
Cú pháp của hàm Mid là:
Mid (String, start ,[length])
Khoản nhập đầu tiên lưu giữ chuỗi (hoặc biểu thức chuỗi) mà ta muốn cắt
bỏ. Tiếp theo là vị trí khởi đầu của các kí tự mà ta muốn ra khỏi chuỗi. Vị trí chót
tùy chọn sẽ chỉ định số lượng kí tự mà ta muốn kéo ra. Hai tùy chọn chót này có
thể là những số nguyên hoặc các số nguyên dài hoặc một biểu thức mà Visual
Basic có thể làm tròn để nằm trong miền này.
Mid là một hàm có ba (hoặc thỉnh thoảng là hai) tham số, hay đối số. Cả
hai thuật ngữ này đều vay mượn từ toán học. Trong một hàm, từng đối số được
tách biệt với nhau bằng dấu phẩy. Hàm Mid thường dùng ba mẩu tin: một chuỗi
tại ví trí đầu tiên và các số nguyên hay các số nguyên dài tại hai vị trí còn lại.
Mid còn một tính năng hữu ích khác. Ta có thể dùng nó như một điều lệnh
để tiến hành các thay đổi bên trong một chuỗi.
* Hàm Left và Right:

Hàm Mid có hai hàm bà con (Left và Right) đôi lúc cũng rất hữu ích ;
cũng như mọi hàm chuỗi khác, chúng cũng có hai phiên bản: một bình thường và
một có kèm dấu $.
Như tên gọi gợi ý, Left (Left$ ) tạo một bản sao các kí tự tính từ đầu một từ
và Right (Right$ ) chọn từ cuối trở lên. Right thường được dùng hơn. Nó tránh được
phép trừ bên trong hàm Mid và có thể làm việc nhanh hơn. Left cũng làm việc tương
tự nhưng chỉ giúp ta đỡ mất công đưa một 1 vào vị trí thứ hai trong hàm Mid.

16


*Hàm InStr:
Cũng như hàm Mid, hàm InStr cũng làm việc với ba (và đôi lúc là hai )
mẩu tin nghĩa là, nó là một hàm có ba (thỉnh thoảng là hai ) đối số.
Giả sử, ta muốn tìm tất cả mọi chữ số đứng trước dấu chấm thập phân
trong một con số. Tất nhiên, có thể dùng hàm Mid để rà qua biên bản chuỗi của
con số đó, theo từng kí tự một, cho đến khi tìm thấy dấu chấm thập phân. Tuy
nhiên, làm như vậy sẽ nhọc công và chạy chậm hơn nhiều so với hàm InStr.
Hàm InStr báo cho biết chuỗi có thuộc thành phần của một chuỗi khác hay
không (chuyên ngữ gọi là “ chuỗi con của” ). Nếu có, InStr sẽ báo cho biết vị trí
bắt đầu chuỗi con.
Hàm InStr cũng cho phép chỉ định bắt đầu tìm kiếm tại một kí tự nhất định.
Ví dụ: InStr ([nơi bắt đầu,]) chuỗi tìm kiếm, chuỗi tìm thấy) định nơi bắt
đầu tìm kiếm. Nếu để trống mục này, cuộc tìm kiếm sẽ bắt đầu từ vị trí thứ nhất.
Do hàm InStr trả về giá trị zêrô (nghĩa là False ) khi Visual Basic không
tìm thấy một kí tự, hoặc một giá trị phi zêrô (True) khi tìm thấy, nên thông
thường ta phải tự mình viết các vòng lặp If _ Then hoặc Do dùng hàm InStr để
tiến hành kiểm tra.
Nếu dùng giá trị mà hàm InStr đạt được trước đó, ta có thể tìm kiếm các
lần xuất hiện lặp lại của một chuỗi.

* Hàm Val:
Visual Basic có một hàm tên Val. Đây là một dạng hàm chuyển đổi tất thảy,
vì thế trong Visual Basic người ta vẫn thường dùng Val để chuyển đổi một chuỗi số
thành một con số. Mặt khác, Val lại tỏ ra dễ dãi với các chuỗi nhập liệu hơn. Val
đơn giản đọc qua chuỗi cho đến khi gặp một kí tự phi số (hoặc một dấu chấm thứ
hai). Con số mà ta có được từ nó sẽ được xác định bởi nơi nó ngưng tìm.
* Hàm Str (Str$ ):
Visual Basic cho phép chuyển ngược một con số thành một chuỗi. Có
nhiều cách để thực hiện, song hàm Str vẫn là cách đơn giản nhất. Hàm Str trả về
17


một variant lưu giữ một chuỗi còn hàm Str$ lại trả về một chuỗi thuần túy. Các
hàm Str và Str$ chuyển đổi các con số thành chuỗi, song không xóa sạch chúng
hoàn toàn.
* Hàm Format:
Để trau chuốt việc hiển thị, hàm Str được thay bằng hàm Format. Khác
với hàm Str, hàm Format không chừa chỗ cho một dấu + mặc định. Hàm Format
rất linh hoạt. Trong số nhiều tính năng của nó, hàm này cho phép ta cắt cụt các
chữ số dư và hiển thị một con số (lớn) có các dấu phẩy hoặc một dấu đồng đô la
$ dẫn đầu.
Visual Basic giúp ta dễ dàng đối phó với các tình huống định dạng phổ
biến nhất, bằng cách bổ sung cái gọi là các dạng thức hữu danh vào hàm Format.
* Hàm Trim:
Hàm này được sử dụng để loại bỏ các khoảng trắng ở hai đầu một chuỗi.
Ngoài ra, còn có hàm Ltrim và RTrim dùng để cắt bỏ các khoảng trắng ở bên trái,
bên phải chuỗi.
1.1.8. Hàm và thủ tục do người dùng định nghĩa
Trong Visual Basic, thực tế có hai kiểu thủ tục chung: các thủ tục Function
và thủ tục Sub.

Thủ tục Function, còn gọi là hàm do người dùng định nghĩa, là phương
cách để xây dựng các hàm riêng ngoài các hàm do Visual Basic định sẵn. Dẫu
đó là hàm do ta viết hay của các lập trình viên Visual Basic cung cấp, nói chung
ta xem nó như một đoạn mã tự chứa, được thiết kế để xử lí dữ liệu và trả về một
giá trị.
Trong khi đó, các thủ tục Sub là những “chương trình trợ lực” nho nhỏ,
được dùng khi cần. Như vậy các thủ tục Sub là những phần tổng quát hóa của các
thủ tục sự kiện mà ta đã quen thuộc. Khác với hàm, thường trả về một giá trị, các
thủ tục đơn giản thực hiện các việc.

18


Tóm lại, dẫu chọn thủ tục Function hay thủ tục Sub, điểm chủ yếu vẫn là:
các thủ tục Function và Sub thực hiện một hay nhiều nội dung dưới đây:
- Giúp tách nhỏ các công việc lớn thành các phần việc nhỏ.
-Tự động hóa các tác vụ lặp lại.
- Làm rõ nội dung mà ta đang gắng hoàn tất bằng cách “nêu tên” một
đoạn mã.
Các tính năng này giúp giảm bớt đáng kể thời gian gỡ rối chương trình.
* Hàm(Function)
Khi phải dùng một biểu thức phức hợp nhiều lần trong một đề án thì cũng
là lúc ta nên nghĩ đến phương án định nghĩa các hàm riêng. Ta có thể vận dụng
một cách nào đó để tự động hóa tiến trình, nghĩa là để Visual Basic thực hiện một
phần công việc. Đây là vai trò của chương trình con, muốn trả về một giá trị, ta
phải tạo một thủ tục Function, tức là hàm do người dùng định nghĩa. Như thường
lệ, cửa sổ Code vẫn là nơi để tạo mã cho các thủ tục Function.
Tên hàm cũng linh hoạt như tên biến, do đó ta nên chọn các tên có ý
nghĩa. Nhờ vậy, chương trình sẽ minh bạch hơn và cũng dễ gỡ rối hơn. Lưu ý, trừ
phi gán cho nó một dấu định danh kiểu rõ rệt ở cuối tên hoặc thông qua mệnh đề

As, kiểu của hàm sẽ ngầm định theo kiểu dữ liệu Variant. Dưới đây là một dạng
định nghĩa hàm, tuy đơn giản nhất nhưng khá phổ biến.
Pulic Function FunctionName (parameter 1, paratemeter 2,... )
Statements
FunctionName = expression
Statements
FunctionName = expression
Statements
….
End Function

19


Ở đó, parameter 1, paratemeter 2, vân vân , đều là biến. Các biến này
được xem như những tham số hay đối số của hàm. Kiểu của tham số có thể được
chỉ định bởi các thẻ gán khai báo kiểu hoặc bằng các cụm từ As.
Khi một điều lệnh Visual Basic sử dụng một hàm, thường có: gọi hàm và
chuyển các biểu thức cho các tham số. Hàm được xem là trả về giá trị của nó.
Kiểu giá trị mà hàm trả về sẽ được chỉ định bằng một thẻ gán khai báo
biến (%, !, &, #, hoặc $ ) được chắp vào tên hàm, hoặc tên dùng trong mệnh đề
As ở cuối dòng Function, hoặc một điều lệnh DefType xuất hiện bên trên phần
định nghĩa Function.
Ngoài ra, với một ngoại lệ ta chỉ có thể gọi một hàm khi dùng cùng với số
lượng đối số như các tham số trong phần định nghĩa hàm. Từng biến muốn gởi
cho một tham số phải thuộc cùng kiểu (số nguyên, số nguyên dài, vân vân) với
tham số tương ứng. Ngoài ra, có thể dùng bất kỳ biến nào nếu như tham số thuộc
kiểu variant.
Có nghĩa là, chỉ có thể chuyển một đối số biến số nguyên cho một tham số
số nguyên. Ta không thể trực tiếp chuyển nó cho một tham số số nguyên dài của

một hàm.
Như ta đã biết, Visual Basic từ chối chuyển một biến có kiểu số nguyên
cho một tham số kiểu long, cho dù trong hầu hết các trường hợp một số nguyên
sẽ làm việc tại mọi nơi số nguyên dài làm việc.
Cuối cùng, đừng quên rằng trong tất cả các hàm, chúng ta chưa thay đổi
các biến bằng cách đưa biến tham số vào bên trái của một điều lệnh gán bên
trong thân hàm. Nghĩa là, ta chưa thực hiện phép gán nào cho các tham số trong
thân các hàm. Tuy nhiên, trong thực tế, hiếm khi phải thay đổi giá trị của một
tham số trong thủ tục Function. Nói chung, một hàm sẽ đơn giản điều tác các giá
trị hiện có và trả về một giá trị mới.
* Thủ tục (sub)

20


×