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

giới thiệu phần mềm quản lý bán hàng

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.05 MB, 56 trang )

MỞ ĐẦU
Một nhiệm vụ quan trọng của công tác quản lý là quản lý dữ liệu, tức là những
số liệu và tài liệu thu thập được. Dữ liệu được coi là nguyên liệu để chế biến thành
thông tin dưới dạng tiện dùng và có Ých cho việc ban hành các quyết định. Ngày
nay, ngân hàng dữ liệu hay hệ cơ sở dữ liệu dùa trên máy tính điện tử là phương
tiện chủ yếu để quản lý dữ liệu một cách thành công. Cùng với sự phát triển của xã
hội, thông tin ngày càng phong phú với nhiều yếu tố hợp thành, nhiều mối quan hệ.
Để có thể khai thác được nguồn tài nguyên quý giá Êy đòi hỏi phải có những
phương pháp và công cụ mới. Tin học đã cung cấp cho ta những phương pháp và
những công cụ đó. Việc ứng dụng tiến bộ của khoa học kỹ thuật mà đặc biệt là
công nghệ thông tin vào hoạt động của các doanh nghiệp là vấn đề tất yếu và cần
thiết. Thông tin có vai trò quan trọng trong việc ra những quyết định kinh doanh
của doanh nghiệp. Có thể nói, hoạt động của doanh nghiệp có thành công hay
không và có mang lại lợi nhuận hay không phụ thuộc chủ yếu vào những thông tin
mà hệ thống sẽ cung cấp cho các nhà quản lý.
Đối với các công ty kinh doanh thì quản lý bán hàng là một công việc phức
tạp và đòi hỏi người quản lý phảI có trình độ chuyên môn nhất định. Vì thế cần
phảI có một phần mềm hỗ trợ, đáp ứng yêu cầu công việc đặt ra. Phần mềm quản lý
bán hàng cho phép nhân viên quản lý bán hàng xác định được năng suất của lực
lượng bán hàng, triển vọng kinh doanh tại cơ sở đó và mức độ thành công của các
sản phẩm theo các tiêu thức khác nhau: theo nhân viên bán hàng, theo địa đIểm bán
hàng hay theo nhóm khách hàng. Nó cũng cho phép nhà quản lý tìm ra các đIểm
kinh doanh yếu kém hay các sản phẩm tiêu thụ chậm tại một địa đIểm nào đó, xác
định xu thế mua hàng của khách hàng, xác định tồn kho dưới mức tối thiểu hoặc
trên mức tối đa để thực hiện các qúa trình lên kế hoạch, kiểm tra và tổ chức các
công việc khác một cách dễ dàng và nhanh chóng. Phần mềm quản lý bán hàng có
thể truy nhập dữ liệu từ hệ thống thông tin tàI chính hoặc từ cơ sở dữ liệu được cập
nhật bởi các nhân viên bán hàng.
Nội dung của đề án:
Chương I: Visual Basic
Chương này trình bày khái quát về Visual Basic, và các kỹ tính năng của ngôn


ngữ lập trình này.
Chương II: Phân tích, thiết kế hệ thống quản lý bán hàng
Khảo sát hệ thống, các yêu cầu đặt ra trong bài toán quản lý bán hàng. Cũng
trong chương này sẽ trình bày các thiết kế cơ sở dữ liệu, sơ đồ luồng thông tin,
luồng dữ liệu.
Chương III: Giới thiệu phần mềm Quản lý bán hàng
Giới thiệu các Form giao diện, nhập liệu, các báo cáo phục vụ quá trình quản
lý bán hàng.
Các kết qủa bước đầu và phương hướng hoàn thiện đề tài.
Chương trình được xây dựng trên ngôn ngữ lập trình Visual Basic, kết hợp hệ
quản trị cơ sở dữ liệu Access. Môi trường làm việc: Windows 2000.
Mặc dù có nhiều cố gắng nhưng do thời gian và trình độ hiểu biết còn hạn
chế, đồng thời việc tiếp cận ngôn ngữ Visual Basic chưa được bao lâu nên chương
trình còn có nhiều sai sót, khiếm khuyết. Rất mong nhận được sự góp ý của các
thầy cô, các bạn bè để có thể hoàn thiện chương trình được tốt hơn.
Em xin chân thành cảm ơn các GV trong khoa Tin học Kinh tế, đặc biệt ThS
Nguyễn Văn Thư đã tận tình giúp đỡ em trong qúa trình viết đề tài.

MỤC LỤC
MỞ ĐẦU 2
Chương i: Visual basic 5 5
a. Giới thiệu về Visual Basic 5 5
I. Sơ lược về Visual Basic 5
II. Tính năng của Visual Basic. 5
III. Một số định nghĩa. 5
b. Tìm hiểu về Visual Basic. 6
I. Thuộc tính, phương thức, và sự kiện. 6
II. Biến, hằng, kiểu dữ liệu và các toán tử. 9
III. Hàm và thủ tục. 13

IV. Câu lệnh trong Visual Basic. 14
V. Gỡ rối chương trình. 20
CHƯƠNG II: PHÂN TÍCH, THIẾT KẾ HỆ THỐNG QLBH 21
I. Khảo sát và phân tích hệ thống QLBH. 21
II. Chức năng của chương trình. 25
III. Cơ sở dữ liệu và dữ liệu mẫu. 26
IV. Sơ đồ BFD, IFD, DFD. 33
CHƯƠNG III: CHƯƠNG TRÌNH QLBH 40
40
I. Giới thiệu phần mềm 40
II. Kết qủa bước đầu. 52
III. Phương hướng hoàn thiện đề tài. 53
53
Kết luận54 54
TÀI LIỆU THAM KHẢO 55

Chương I. Visual Basic
A. Giới thiệu về Visual basic
I. Sơ lược về Visual Basic
Visual Basic là sản phẩm phần mềm của hãng Microsoft. Visual Basic là ngôn
ngữ lập trình hướng đối tượng.
Phiên bản mới nhất của Visual Basic là Visual Basic 6.0 (1998), Visual Basic
6.0 cung cấp một số tính năng mới phục vụ cho lập trình trên mạng. Visual Basic
6.0 là chương trình 32 bit, chỉ chạy trong môI trường Windows 95 trở lên.
II. Tính năng của Visual Basic
Visual Basic tiết kiệm được thời gian và công sức so với một số ngôn ngữ lập
trình có cấu trúc khác vì có thể thiết lập được các hoạt động trên từng đối tượng
được Visual Basic cung cấp.
Khi thiết kế chương trình có thể thấy ngay kết qủa qua từng thao tác và giao
diện khi thi hành chương trình.

Cho phép chỉnh sửa dễ dàng, đơn giản.
Khả năng kết hợp với các thư viện liên kết động DLL.
III. Một số định nghĩa
Một chương trình bằng Visual Basic có 2 phần: Form và Code.
- Form là “bộ mặt” của chương trình và người sử dụng làm việc với chương
trình qua đối tượng này, trên đó thể hiện các nót điều khiển hay một trình đơn
quy định cách làm việc của Form.
- Code là phần bên trong của chương trình để điều khiển toàn chương trình.
Phần này chỉ người lập trình mới có thể thấu suốt nó và thiết lập những đoạn lệnh
ra lệnh cho đối tượng thực hiện một công việc nào đó.
- Khi đã thực hiện xong việc tạo ra hai bước trên nghĩa là đã lập được một dự
án (Project). Mỗi dự án có thể có nhiều Form, hoặc có những tập tin chứa mã lệnh
riêng để xử lý những thao tác đặc biệt, hoặc có một số tập tin dùng để quản lý toàn
bộ dự án  vậy, một dự án có thể có:
+ Tập tin .FRM cho mỗi Form được thiết kế.
+ Tập tin .FRX cho Form được thiết kế với các công cụ đặc biệt.
+ Tập tin .BAS cho các mã lệnh riêng.
+ Tập tin .RES chứa các tài nguyên của dự án như Bitmap, Icon.
+ Tập tin duy nhất . VBP (chương trình chính) cho toàn bộ dự án.
b. Tìm hiểu về Visual Basic
I. Thuộc tính, phương thức và sự kiện
1. Đối tượng
Đối tượng là những thành phần tạo nên giao diện người sử dụng cho ứng
dụng. Các điều khiển là những đối tượng. Những nới chứa (container)  biểu mẫu
(Form), khung (frame), hay hộp ảnh (picture box) cũng là một đối tượng.
Visual Basic 6.0 hỗ trợ một cách lập trình tương đối mới là lập trình hướng
đối tượng ( Object Oriented Programming).
Với lập trình hướng đối tượng, lập trình viên sẽ chia nhỏ vấn đề cần giải quyết
thành các đối tượng. Từng đối tượng có đời sống riêng của nó. Nó có những đặc
đIểm mà ta gọi là thuộc tính (properties) và những chức năng riêng biệt mà ta gọi là

phương thức (method). Lập trình viên phảI đưa ra các thuộc tính và phương thức
mà đối tượng cần thể hiện.
2. Thuộc tính
Nói một cách đơn giản, thuộc tính (properties) mô tả đối tượng.
Mỗi đối tượng đều có một bộ thuộc tính mô tả đối tượng. Biểu mẫu và đIều
khiển đều có thuộc tính. Thậm chí, màn hình và máy in, là những đối tượng chỉ cho
phép can thiệp lúc thi hành, cũng có thuộc tính. Ví dụ: vị trí và kích cỡ của biểu
mẫu trên màn hình được xác định trong các thuộc tính Left, Top, Height và Width.
Màu nền của biểu mẫu được quy định trong thuộc tính BackColor. Thuộc tính
BorderStyle quyết định người sử dụng có thể co giãn cửa sổ được hay không.
Mặc dù mỗi đối tượng có những bộ thuộc tính khác nhau, nhưng trong đó, vẫn
có một số thuộc tính thông dụng cho hầu hết các đIều khiển.
Các thuộc tính thông dụng
Thuộc
tính GiảI thích
Left Vị trí cạnh tráI của điều khiển so với vật chứa nó.
Top Vị trí cạnh trên của điều khiển so với vật chứa nó.
Height Chiều cao của điều khiển.
Width Chiều rộng của điều khiển.
Name Một giá trị chuỗi được dùng để nói đến điều khiển.
Enabled
Giá trị logic (True hoặc False) quyết định người sử
dụng có được làm việc với điều khiển hay không.
Visible
Giá trị logic (True hoặc False) quyết định người sử
dụng có thấy điều khiển hay không.
Một thuộc tính quan trọng khác là BorderStyle, quyết định thành phần của cửa
sổ ( thanh tiêu đề, nót Phóng to, nót Thu nhá, ) mà một biểu mẫu sẽ có.
3. Phương thức
Là những đoạn chương trình chứa trong đIều khiển, cho đIều khiển biết cách

thức để thể hiện một công việc nào đó, chẳng hạn dời đIều khiển đến một vị trí mới
trên biểu mẫu. Tương tự thuộc tính, mỗi đIều khiển có những phương thức khác
nhau, nhưng vẫn có một số phương thức rất thông dụng cho hầu hết các đIều khiển.
Các phương thức thông dụng
Phương
thức
GiảI thích
Move Thay đổi vị trí một đối tượng theo yêu cầu của chương
trình.
Drag Thi hành hoạt động kéo và thả của người sử dụng.
SetFocus Cung cấp tầm ngắm cho đối tượng được chỉ ra trong lệnh
gọi phương thức.
Zorder Quy đnh thứ tự xuất hiện của các đIều khiển trên màn
hình.
4. Sự kiện
Nếu  thuộc tính mô tả đối tượng, phương thức chỉ ra cách thức đối tượng
hành động thì sự kiện là những phản ứng của đối tượng. Ví dụ khi người sử dụng
nhấn vào nót lệnh, nhiều sự kiện xảy ra: nót chuột được nhấn, CommandBotton
trong ứng dụng được nhấn, sau đó, nót chuột được thả. Ba hoạt động này tương
đương với ba sự kiện: MouseDown, Click và MouseUp. Đồng thời, hai sự kiện
GotFocus và LostFocus của CommnadButton cũng xảy ra.
Tương tự thuộc tính và phương thức, mỗi đIều khiển có những bộ sự kiện
khác nhau, nhưng một số sự kiện rất thông dụng với hầu hết các đIều khiển. Các sự
kiện này xảy ra thường là kết qủa của một hành động nào đó, như là di chuyển
chuột, nhấn nót bàn phím, hoặc gõ vào hộp văn bản. Kiểu sự kiện này được gọi là
sự kiện khởi tạo bởi người sử dụng, và ta sẽ phảI lập trình cho chóng.
Các sự kiện thông dụng
Sự kiện Xảy ra khi
Change Người sử dụng sửa đổi chuỗi kí tự trong hộp kết hợp (combobox)
hoặc hộp văn bản (textbox).

Click Người sử dụng sử dụng nót chuột để nhấn lên đối tượng.
DblClick Người sử dụng sử dụng nót chuột để nhấn đúp lên đối tượng.
DragDrop Người sử dụng kéo lê một đối tượng sang nơI khác.
DragOver Người sử dụng kéo lê một đối tượng ngang qua một đIều khiển
khác.
GotFocus Đưa một đối tượng vào tầm ngắm của người sử dụng.
KeyDown Người sử dụng nhấn một nót trên bàn phím trong khi một đối
tượng đang trong tầm ngắm.
KeyPress Người sử dụng nhấn và thả một nót trên bàn phím trong khi một
đối tượng đang trong tầm ngắm.
KeyUp Người sử dụng thả một nót trên bàn phím trong khi một đối tượng
đang trong tầm ngắm.
LostFocus Đưa một đối tượng ra khỏi tầm ngắm.
MouseDow
n
Người sử dụng nhấn một nót chuột bất kì trong khi con trỏ chuột
đang nằm trên một đối tượng
MouseMove Người sử dụng di chuyển con trỏ chuột ngang qua một đối tượng.
MouseUp Người sử dụng thả nót chuột trong khi con trỏ chuột đang nằm
trên một đối tượng.
Tầm quan trọng của lập trình theo sự kiện
Khi tạo một chương trình trong Visual Basic, ta lập trình chủ yếu theo sự kiện.
ĐIều này có nghĩa là chương trình chỉ thi hành khi người sử dụng làm một thao tác
trên giao diện hoặc có một việc gì đó xảy ra trong Windows. Dĩ nhiên, lập trình
theo cách này có nghĩa là ta phảI biết khi nào sự kiện xảy ra và làm gì khi sự kiện
đó xảy ra.
Đoạn chương trình sau là một thủ tục (procedure), được gọi từ trong ứng
dụng. Nó có thể dùng để di chuyển một đối tượng trên biểu mẫu, tính toán kết quả
một công thức, hoặc ghi dữ liệu vào cơ sở dữ liệu. Một thủ tục có dạng sau:
[ Public | Private ] [ Static ] Sub | Function | Property _

function_name ( arguments) [As Type]
{ Code }
End Sub | Function | Property
Một thủ tục xử lý sự kiện là nơI chứa đoạn chương trình sẽ thi hành khi sự
kiện xảy ra. Để tạo một thủ tục xử lý sự kiện, ta mở cửa sổ Code của đối tượng theo
những cách sau:
-Nhấn đúp chuột lên đối tượng;
-Hoặc chọn đối tượng bằng chuột và nhấn F7;
-Hoặc chọn đối tượng từ Menu View, chọn Code;
-Hoặc trong cửa sổ Project Explorer, chọn biểu mẫu và nhấn vào nót View
Code. Chọn đối tượng từ cửa sổ Code.
Visual Basic tự động phát sinh ra các thủ tục xử lý sự kiện ngay sau khi ta
chọn tên sự kiện trong cửa sổ Code. Tên thủ tục là kết hợp giữa tên đối tượng và
tên sự kiện cách nhau bằng dấu gạch dưới (ví dụ: cmdExit_Click()).
5. Mối quan hệ giữa thuộc tính, phương thức và sự kiện
Mặc dù thuộc tính, phương thức và sự kiện có vai trò khác nhau, nhưng chúng
thường xuyên liên hệ với nhau. Ví dụ, nếu ta di chuyển một đIều khiển bằng
phương thức Move (thường để đáp ứng sự kiện), một số thuộc tính  Top, Height,
Left, Width sẽ thay đổi theo. Bởi vì khi kích cỡ của đIều khiển thay đổi, sự kiện
Resize xảy ra.
II. Biến, hằng, kiểu dữ liệu và các toán tử
1. Biến
Dùng để chứa dữ liệu tạm thời cho tính toán, so sánh và các hoạt động khác.
Dùng để lưu trữ các giá trị trong qúa trình xử lý chương trình. Biến không có
sẵn trong chương trình nên muốn sử dụng nó cần phảI khai báo.
Khai báo biến:
Dim Tên biến [As Kiểu biến]
Ví dô:
Dim X,Y As Double
Trong đó:

• X, Y là tên biến cần khai báo.
• Double là kiểu của biến.
NgoàI ra, khi khai báo biến nhưng không khai báo kiểu biến thì giá trị trả về
của biến là bất kỳ.
Ví dô:
Private Sub Cong_Click()
Dim X, Y
X = 3,14
Y = “SCC”
End Sub
Khi đó:
X: kiểu số.
Y: Kiểu chuỗi.
• Phạm vi sử dụng của biến: Phạm vi sử dụng của biến tùy thuộc
cách khai báo và vị trí khai báo biến.
- Khai báo trong phần General: Biến sử dông  là biến cục bộ, có thể dùng ở
bất cứ đoạn lệnh nào trong Form.
- Khai báo trong một thủ tục hoặc hàm: Biến sử dông  là biến cục bộ, chỉ sử
dụng trong thủ tục hay hàm đó.
Ta dùng toán tử (=) để tính toán và gán giá trị vào biến.
Biến khai báo trong thủ tục chỉ tồn tại khi thủ tục thi hành. Nó sẽ biến mất khi
thủ tục chấm dứt. Giá trị của biến trong thủ tục là cục bộ đối với thủ tục đó, nghĩa
là ta không thể truy nhập biến từ bên ngoàI thủ tục. Nhờ đó, ta có thể dùng trùng
tên biến cục bộ trong những thủ tục khác nhau.
Kiểu dữ liệu trong khai báo Dim có thể là những kiểu cơ bản  Integer,
String, hoặc Currency.
Khai báo ngầm
Nghĩa là không thể khai báo tường minh trước khi sử dụng biến. Mặc dù cách
này có vẻ thuận tiện nhưng có thể gây lỗi nếu ghi nhầm tên biến.
Khai báo tường minh

Để tránh những rắc rối trên, người ta quy định Visual Basic phảI báo lỗi khi
gặp một tên biến không khai báo. Dùng dòng lệnh sau trong phần Declarations của
modul.
Option Explicit
Một cách khác, từ menu Tools, chọn Options, chọn tab Editor và đánh dấu vào
tùy chọn Require Variable Declaration. Visual Basic tự động chèn dòng lệnh
Option Explicit vào một modul mới, nhưng không phảI là những modul đã được
tạo. Do đó. đối với các modul này ta phảI thêm dòng lệnh bằng tay.
Tầm hoạt động của biến
Tầm hoạt động Private Public
Thủ tục Biến chỉ tồn tại và
hoạt động trong thủ tục.
Không có.
Modul Biến chỉ tồn tại và
hoạt động trong modul.
Biến tồn tại và hoạt
động trên mọi modul.
Khai báo biến Static
Để khai báo tất cả biến cục bộ trong một thủ tục là Static, đặt từ khóa Static
vào tên thủ tục:
Static Function RunningTotal(num)
Visual Basic sẽ hiểu rằng tất cả biến khai báo trong thủ tục này đều là Static,
dù cho chúng được khai báo là Private, là Dim, hoặc thậm chí là khai báo ngầm.
2. Hằng
Dùng để chứa những dữ liệu tạm thời nhưng không thay đổi trong suốt thời
gian 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è. Visual Basic cung cấp một số hằng định
nghĩa sẵn, nhưng cũng có thể tự tạo hằng.
Ta có thể dùng cửa sổ Object Browser để xem danh sách các hằng có sẵn của
Visual Basic và Visual Basic for Application. Trường hợp trùng tên hằng trong

những thư viện khác nhau, có thể dùng cách chỉ rõ tham chiếu hằng:
[<Libname>.] [<tên modul>.] <tên hằng>
Libname là tên líp, tên đIều khiển hoặc tên thư viện.
Khai báo hằng
[Public | Private | Const <tên hằng> [As <kiểu dữ liệu> | = <biểu thức>
Ví dô:
Const conPi = 3.14159265358979
Public Const conMaxPlanets As Integer = 9
Const conReleaseDate = #1/1/02#
Có thể đặt nhiều khai báo hằng trên cùng một dòng, các dòng cách nhau bằng
dấu phẩy. Biểu thức bên phảI dấu bằng là một con sè hay một chuỗi tường minh,
nhưng nó cũng có thể là một biểu thức cho ra kết qủa là số hay chuỗi
Tầm hoạt động
Hằng cũ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 Public trong phần Declarations của modul chuẩn có tầm hoạt động
trên toàn ứng dụng. Khai báo Public không thể dùng trong modul của biểu mẫu
hoặc modul líp.
3. Kiểu dữ liệu
Cho biết số lượng bộ nhớ dùng để lưu trữ giá trị. Visual Basic cho phép khai
báo biến với các kiểu dữ liệu:
Boolean: kiểu logic (True/False) (8 bytes)
Byte : kiểu nguyên (1 byte)
Integer : kiểu số nguyên (2 bytes)
Long : kiểu số nguyên dàI (4 bytes)
Single : kiểu thực (4bytes)
Double : kiểu số thực (8 bytes)
Currency: kiểu tiền tệ (8 bytes)
Date : kiểu ngày giê ( 8 bytes)
String : kiểu kí tự (1 byte cho 1 kí tự)

Variant : Null, error (16 bytes + 1 byte cho 1 kí tự)
Object : kiểu Object trỏ đến đối tượng (4 bytes)
Array : kiểu mảng
Người sử dụng định nghĩa
4. Các toán tử
Các toán tử tính toán:
_ Cộng (+), Trừ (-), Nhân (*), Chia (/)
_ Mod (lấy phần dư), \ ( lấy phần nguyên)
Ví dô: 10 mod 3 = 1
10/3 = 3
Các toán tử so sánh:
= (bằng); < (nhá hơn); > (lớn hơn); <> (khác); <= (nhá hơn bằng); >= (lớn hơn
bằng)
Các toán tử logic:
And, or, Not
Gt1 Gt2 And Or Not
(Gt1)
True True True True False
True False False True False
False Frue False True True
False False False False true
III. Hàm và thủ tục
1. Thủ tục: Thủ tục là đoạn mã lệnh do chương trình tự phát sinh hay do
người dùng taọ ra.
Thủ tục có thể nhận giá trị được truyền đến mà không có giá trị trả về.
Cách khai báo:
< Private/Public Sub> <Tên thủ tục> ([các tham sè])
Statement
<End Sub>
-Từ khoá Public: Thủ tục được sử dụng trong toàn bộ chương trình.

-Từ khoá Private: Thủ tục chỉ sử dụng trong Form chứa nó.
-Tham số: Có thể có hoặc không.
Trước khi sử dụng một thủ tục cần phảI định nghĩa nó.
Private/Public Sub <Tên thủ tục> (<Các tham sè> As <Kiểu>)

End Sub
Cách gọi thủ tục:
<Tên thủ tục> [Các tham sè]
2. Hàm
KháI niệm: Hàm do người sử dụng tự tạo. Hàm tương tự thủ tục nhưng có
chứa giá trị trả về.
Cách khai báo:
<Private/Public Function> <Tên hàm> ([Các tham số]><Kiểu trả về>
<Tên hàm> = Giá trị trả về
<End Function>
-Từ khoá Public: hàm được sử dụng trong toàn bộ chương trình.
-Từ khoá Private: Hàm chỉ sử dụng trong Form chứa nó.
-Tham số: Có thể có hoặc không.
-Kiểu trả về: là các kiểu giá trị có trong Visual Basic.
Cách gọi hàm:
<Tên hàm> [ Các tham sè]
Thủ tục thuộc tính: có thể trả về và gán giá trị, hay đặt tham chiếu đến đối
tượng.
Thoát khỏi thủ tục / hàm
Exit Sub dùng để thoát khỏi thủ tục, Exit Function dùng để thoát khỏi hàm.
Truyền tham số bằng giá trị
Sub PostAccounts (ByVal inAcctNum As Integer)
.
. ‘ Place statements here ‘ Place statements here
.

End Sub
Truyền tham số bằng tham chiếu là mặc định của Visual Basic.
Dùng tham số tùy chọn: tham số tùy chọn được khai báo với từ khoá
Optional.
Dùng mét số vô hạn các tham sè: từ khóa ParamArray cho phép thủ tục chấp
nhận một mảng các tham số truyền vào.
Dòng lệnh đơn giản với tham số được đặt tên (Nomed Arguments): đối
với các hàm, các phương thức có sẵn, Visual Basic cung cấp khả năng dùng các
tham số được đặt tên  mét cách làm tắt thay vì gõ giá trị tham số. Có thể cung
cấp các tham số bất kỳ, theo một thứ tự bất kỳ bằng cách gán giá trị cho tham số
này, và chúng cách nhu bằng dấu phẩy.
Hỗ trợ tham số có tên ( Named Arguments): trong cú pháp được hiển thị
đậm và nghiêng.
III. Câu lệnh trong Visual Basic
Khi đặt một đối tương lên Form thì đối tượng đó chưa được thực hiện công
việc nào cả. Đó là lý do phảI viết lệnh cho đối tượng.
i. Cách viết lệnh cho các biến cố trên đối tượng:
DoubleClick lên đối tượng cần xây dựng biến cố hoặc chọn biểu tượng View
Code trong khung Project Explorer.
Cửa sổ lệnh xuất hiện với thanh trên cùng là thanh tiêu đề hiển thị tên Form
mà bạn đang viết lệnh cho các đối tượng trên đó. ComboBox Object cho biết đối
tượng nào đang được viết lệnh và ComboBox Procedure cho biết biến cố nào đang
sử dụng cho đối tượng. Với mỗi đối tượng và biến cố sẽ xuất hiện mặc nhiên 2
dòng mở đầu và kết thúc cho một thủ tục hoặc hàm. Phần giữa 2 dòng này để viết
lệnh cho đối tượng.
Ví dô:
Private Sub Command1_Click() (1)
End Sub (2) (2)
Dòng sè (1): Khai báo tên hàm và thao tác trên đối tượng, đồng thời quy định
phạm vi sử dụng của hàm.

Dòng sè (2): Dấu hiệu kết thúc hàm.
Chó ý: Visual Basic có khả năng tự động kiểm tra cú pháp trong khi viết lệnh
và báo lỗi nếu gặp lỗi sai. Dòng lệnh trong Visual Basic không cho phép ngắt
xuống dòng, bạn có thể dùng dấu nối (_) khi muốn xuống dòng mà không ảnh
hưởng đến cú pháp của câu lệnh.
Các cấu trúc lệnh
1. Cấu tróc If Then Else
Ý nghĩa: là một cấu trúc điều kiện, thực hiện công việc nào đó nếu đIều kiện
đề ra là đúng hoặc ngược lại. Nói nôm na là “ Nếu đIều này đúng thì làm việc này,
ngược lại thì làm việc kia”.
Cú pháp:
if Biểu thức điều kiện Then
< Các câu lệnh>
[ Elseif Biểu thức đIều kiện 2 Then
< Các câu lệnh 2> ]
Else
< Các câu lệnh>
End if
Trong đó: biểu thức đIều kiện có thể là các phép so sánh chuỗi hoặc số, hay
các phép toán logic khác.
Ví dô:
Dim Num, Dig as Integer
Num = 20
If Num < 50 Then
Dig =1
Else
Dig = 2
End if
Kết qủa của đoạn lệnh Dig = 1
2. Cấu trúc Select Case

Ý nghĩa: Là một cấu trúc chọn lùa theo một biến hay một đIều kiện nào đó.
Cấu trúc này thường sử dụng trong trường hợp cần xét nhiều đIều kiện chọn lùa
xảy ra trên một biến nào đó.
Cú pháp:
Select Case <Biến hay biểu thức đIều kiện>
Case <giá trị>
<Câu lệnh 1>

Case <giá trị n>
<Câu lệnh n>
[Case Else
<Câu lệnh Else>]
End Select
Trong đó:
Biến cũng có thể là một biểu thức.
Giá trị có thể dùng các phép so sánh. Nếu giá trị là một dãy liên tục, có thể
viết gọn lại theo cú pháp:
Case giá trị 1 to giá trị n. Case gi¸ trÞ 1 to gi¸ trÞ n.
Ví dô:
Dim Num, Dig as Integer
Num = 50
Selcet Case Num
Case 10
Dig = 1
Case 30
Dig = 2
Case Else
Dig = 3
End Select
Kết qủa của đoạn lệnh: Dig = 3.

Mặc nhiên điều kiện Select Case sẽ dùng phép so sánh giá trị trong từng Case.
Nếu muốn dùng các phép so sánh khác ta dùng thêm cấu trúc IS hoặc tên biến của
điều kiện cần so sánh đó là các giá trị so sánh.
Ví dô:
Dim Num,  Integer
Num = 20
Select Case Num
Case Is < 10
Dig = 1
Case Is < 30
Dig = 2
Case Else
Dig = 3
End Select
Kết qủa: Dig = 2
3. Cấu trúc lặp For Next
Ý nghĩa: là một cấu trúc lặp với số bước lặp là cố định. Cấu trúc này thường
sử dụng khi biết trước số bước lặp. ở cấu trúc này câu lệnh được thực hiện từ đầu
cho đến khi hết số bước lặp.
Cú pháp:
For counter = Start To End [ Step step]
<Câu lệnh>
[exit For]
<Câu lệnh>
Next [counter]
Trong đó:
Counter: biến đếm kiểu số nguyên.
Start: Giá trị đầu của Counter.
End: Giá trị kết thúc của Counter.
Step: Bước lặp sau mỗi lần lặp. nếu giá trị Step này không có, mặc nhiên bước

lặp là 1.
Ví dô:
Dim I as Byte
For I = 1 to 10
Debug.Print I
Next
Kết qủa thể hiện: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.
4. Cấu trúc lặp Do While
Ý nghĩa: là một cấu trúc lặp thực hiện câu lệnh cho đến khi biểu thức điều
kiện thực sự được thoả mãn. ở câu lệnh này, khi gặp điều kiện thoả mãn thì vòng
lặp dừng. Nếu điều kiện sai thi bá qua các câu lệnh và thực hiện các lệnh phía dưới
dòng .
Cú pháp:
Do While Điều kiện
<Câu lệnh>
[Exit Do]
<Câu lệnh>

Hoặc có thể dùng cú pháp:
Do
<Câu lệnh>
[Exit Do]
<Câu lệnh>
Loop Until Điều kiện
Trong đó: Điều kiện có thể là kiểu số hay kiểu chuỗi.
Ví dô:
Dim I As Byte
I = 1
Do While I < 10
Debug.Print I

I = I + 1

Kết qủa thể hiện: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.
Hoặc tương tự:
Dim I As Byte
I = 0
Do
I = I + 1
Debug.Print I
Loop Until I = 10
5. Câu lệnh With
Ý nghĩa: Câu lệnh With cho phép truy cập đến thuộc tính của đối tượng mà
không cần phải gõ đầy đủ tên đôí tượng và tên thuộc tính.
Cú pháp:
With Đối tượng
.Thuộc tính 1 = Thuộc tính
.Thuộc tính 2 = Thuộc tính

End With
Ví dô:
With cmdMyButton
.Height = 200
.Width = 700
.Caption = “&My Button”
End With
V. Gỡ rối chương trình
Một số mẹo khi gỡ rối:
Khi ứng dụng không cho kết quả đúng, duyệt qua chương trình và tìm dòng
lệnh gây lỗi. Đặt điÓm dừng ở đó và khởi động lại ứng dụng.
Khi chương trình treo, kiểm tra giá trị của các biến hay thuộc tính quan trọng.

Dùng Quick Watch hoặc đặt biểu thức để theo dõi giá trị này. Dùng cửa sổ
Immediate để kiểm tra các biến và biểu thức.
Sử dụng khả năng Break On All Errors để quyết định nơI gây lỗi. Để thay đổi
tạm thời tuỳ chọn này, chọn Toggle từ menu cảm ngữ cảnh trong cửa sổ Code. Dò
từng dòng chương trình, dùng biểu thức và cửa sổ Locals để theo dõi xem các biến
thay đổi như thế nào khi chương trình chạy.
Nếu lỗi xảy ra trong vòng lặp, định nghĩa một biểu thức duy nhất thoát để xác
định nơI gây lỗi. Dùng cửa sổ Immediate và cửa sổ Set Next Statement để chạy lại
vòng lặp sau khi sửa lỗi.
Nếu một biến hay thuộc tính gây lỗi, dùng dòng lệnh Debug.Assert để ngưng
chương trình khi có giá trị sai được gán cho biến hay thuộc tính.
Chương II : Phân tích, Thiết kế httt
QUản lý bán hàng
I. HỆ THỐNG QUẢN LÝ BÁN HÀNG
I.1. Khảo sát
Bài toán đặt ra là hỗ trợ công việc kinh doanh cho một cửa hàng kinh doanh
sản phẩm. Tại cửa hàng một qui trình kinh doanh diễn ra như sau:
+ Đơn đặt hàng: Khách hàng gửi đơn đặt hàng tới bộ phận bán hàng. Bộ
phận bán hàng sẽ xử lý đơn đặt hàng (duyệt đơn) thành những dữ liệu cần thiết để
hỗ trợ cho qúa trình xử lý tiếp theo ở những bộ phận liên quan khác.
+ Lệnh bán hàng: Nếu hoá đơn bán hàng không được chấp nhận, bộ phận bán
hàng sẽ gửi thông báo tới khách hàng. Ngược lại, bộ phận bán hàng sẽ gửi đơn đặt
hàng được chấp thuận tới bộ phận lập hoá đơn. Trên cơ sở lệnh bán hàng và phiếu
gửi hàng do bộ phận gửi hàng gửi tới, bộ phận lập hóa đơn sẽ tiến hành lập hoá
đơn. Hoá đơn gồm số lượng hàng bán, giá bán, và một số thông tin liên quan.
+ Hoá đơn bán hàng: hệ thống lập hoá đơn bán hàng sẽ gửi hoá đơn bán hàng
tới kế toán thu. Kế toán thu sẽ thu tiền của khách hàng và chuyển cho khách hàng hoá
đơn bán hàng sau khi đã thu tiền. Kết thúc giao dịch, hoá đơn bán hàng được lưu vào
kho dữ liệu.
+ Báo cáo tình hình bán hàng: bộ phận bán hàng tổng hợp tình hình bán hàng

theo từng ngày, từng tháng và gửi đến bộ phận quản lý theo các hoá đơn bán hàng đã
phát sinh.
Trong qúa trình kinh doanh cửa hàng phảI quản lý các đối tượng sau :
+ Hàng hoá
+ Khách Hàng
+ Nhân Viên
+ Kho hàng
+ Các Loại Chứng Từ
I.2. YÊU CẦU TRONG QUẢN LÝ
1. Yêu cầu đối với Hàng hoá
Quản lý hàng hoá phảI đáp ứng được nhu cầu đưa ra được các thông tin sau:
+ Tên gọi
+ Đơn vị tính
+ Đơn vị giá
+ Sè lượng
Khi cần có thể thực hiện các yêu cầu đưa vào các thông tin mới, hoặc bổ sung
vào trong Danh mục Hàng hoá tên và các thông tin về một loại hàng hoá mới.
2. Yêu cầu đối với Khách hàng
PhảI đưa ra được các thông tin cần thiết về một Khách hàng khi có yêu cầu.
Các thông tin chi tiết về Khách hàng gồm có:
+ Tên gọi của Khách Hàng
+ Địa chỉ liên hệ
+ Sè điện thoại
+ Mét số các thông tin khác ( Sè tàI khoản, )
Khi cần có thể thực hiện các yêu cầu đưa vào các thông tin mới, hoặc bổ sung
vào trong Danh mục Khách hàng tên và các thông tin về một Khách hàng mới.
3. Yêu cầu đối với Nhân viên
Khi có yêu cầu xem thông tin về một Nhân viên nào đó, cần phảI lấy được các
thông tin chi tiết về nhân viên đã yêu cầu. Các thông tin đưa ra gồm:
+ Tên nhân viên

+ Ngày sinh
+ Giới tính
+ Địa chỉ liên hệ
+ Sè điện thoại
+ Tình hình bán hàng trong ngày của nhân viên.
4. Các yêu cầu với Kho hàng
Các thông tin về Kho hàng bao gồm:
+ Tên kho
+ Địa chỉ của kho
+ Lượng hàng trong kho.
5. Các yêu cầu đối với các loại chứng từ
Các chứng từ phát sinh gồm có :
+ Các Hóa đơn nhập_xuất.
+ Các báo cáo tình hình kinh doanh của cửa hàng.
Các yêu cầu chung:
Đảm bảo hoàn thành công việc thiết lập các loại chứng từ khi có một yêu cầu
đòi hỏi nào đó.
Khi có yêu cầu cho thông tin về một loại chứng từ nào, phảI đưa ra được các
thông tin của loại chứng từ đó và nội dung của chứng từ.
Các yêu cầu đối với mỗi loại chứng từ khác nhau:
5.1. Các hoá đơn
5.1.1. Hoá đơn bán hàng
Thông tin cần đưa ra trên một hóa đơn bán hàng là:
+ Sè hoá đơn
+ Ngày bán
+ Người bán
+ Mã hàng hoá
+ Mã khách hàng
+ Sè lượng bán
+ Tổng tiền

+ Thanh toán

Hàng ngày, hoá đơn bán hàng sẽ được nhân viên bán hàng nhập trực tiếp vào
máy tính.
5.1.2. Hóa đơn hàng nhập
Thông tin cần đưa ra trên một hóa đơn hàng nhập là:
+ Ngày nhập hàng vào kho.
+ Tên người nhận hàng.
+ Chi tiết các thông tin về hàng hoá nhập ( tên, số lượng, giá nhập).
5.2. Báo cáo tình hình kinh doanh
+ Báo cáo bán hàng hàng ngày: Thực hiện tổng kết tình hình bán hàng của cửa
hàng trong một ngày.
+ Báo cáo bán hàng hàng tháng: Thực hiện tổng kết tình hình bán hàng của
cửa hàng trong một tháng.
+ Báo cáo về hàng nhập kho trong một khoảng thời gian nào đó theo yêu cầu.
+ Bảng kê hóa đơn bán hàng.
I. 3. PHÂN TÍCH BÀI TOÁN
Để đáp ứng yêu cầu của bàI toán, cần một qúa trình phân tích kỹ hơn để thấy
được các đặc điểm, tính chất của các đối tượng đã nêu ở phần trên.
2. Hàng hóa
Hoạt động kinh doanh chính là bán hàng, do vậy việc quản lý những thông tin
về hàng hóa là luôn cần thiết. Các thông tin mô tả chi tiết về một loại hàng hóa bất
kỳ luôn luôn có thể có ngay được. Các thông tin mô tả về hàng hóa gồm:
Các thông tin mô tả hàng hóa: Tên hàng, đơn vị tính, đơn giá.
Thông tin về số lượng hàng hiện có.
Giá mua vào.
Giá bán ra.
Các thông tin đó phục vụ cho việc:
-Đáp ứng yêu cầu thông tin về hàng hóa của khách hàng (khách hàng yêu cầu
cho biết thông tin chi tiết về một loại hàng hóa nào đó).

-Phục vô cho quá trình lên đơn đặt hàng gửi tới nhà cung cấp.
-Hỗ trợ cho nhân viên bán hàng trong việc viết hóa đơn bán hàng.
3. Khách hàng
Khách hàng là một nhân tố quan trọng quyết định sự thành công trong kinh
doanh. Cần phảI lưu trữ các thông tin về khách hàng, các thông tin này bao gồm:
Tên của khách hàng, địa chỉ liên hệ, số điện thoại, tàI khoản, các ghi chú cần thiết
khác.
Với việc lưu trữ các thông tin về khách hàng này ta có thể xác định xu thế mua
hàng của khách hàng. Trên cơ sở đó nhà quản lý có thể đưa ra chính sách bán hàng
hợp lý hơn nữa, và biết những địa điểm bán hàng hiệu qủa.
4. Nhân viên.
Yêu cầu đối với quản lý nhân viên là luôn đưa ra được các thông tin cụ thể của
mỗi nhân viên. Thông tin về nhân viên bao gồm: Họ tên nhân viên, địa chỉ liên hệ
(nơI ở hiện nay), số điện thoại, chức vụ_phòng ban.
Quản lý nhân viên để biết năng suất bán hàng của từng nhân viên
5. Kho Hàng
Các thông tin về kho bao gồm: Tên kho, địa chỉ kho, số lượng hàng trong kho.
Các thông tin đó hỗ trợ cho qúa trình bán hàng (lượng hàng trong kho là bao
nhiêu), hỗ trợ cho qúa trình lập đơn mua hàng gửi tới nhà cung cấp.
5. Các loại chứng từ
Hoá đơn bán hàng
Thông tin đưa ra trên một hóa đơn bán hàng là: Số hóa đơn, ngày bán, người
bán, mã hàng hóa, mã khách hàng, số lượng bán, tổng tiền, thanh toán
Hoá đơn bán hàng sẽ được nhân viên bán hàng nhập trực tiếp vào máy tính
hàng ngày. Hóa đơn có thể có nhiều và rất phức tạp, do đó trong hóa đơn bán hàng
có thể xóa/ sửa/ thêm Hóa đơn bán hàng sẽ được lưu vào kho lưu trữ. Hỗ trợ cho
qúa trình:
- Bán hàng.
- Kiểm tra về một mặt hàng (lượng bán ra trong ngày là bao nhiêu? Tiền thu
được? )

- Yêu cầu thông tin về nhân viên bán hàng ( mỗi nhân viên có bao nhiêu hoá
đơn bán hàng trong ngày, tháng? ).
- Hỗ trợ cho việc lên báo cáo hàng ngày, hàng tháng.
Hóa đơn nhập hàng
Thông tin cần đưa ra trên một hóa đơn hàng nhập là: Ngày nhập hàng vào kho,
tên của người nhập hàng, số lượng hàng nhập
Sau mỗi lần nhập hàng thì nhân viên cũng nhập thủ công hóa đơn vào máy
tính. Hóa đơn này phục vụ cho qúa trình quản lý hàng hóa, quản lý số lượng hàng.
Hỗ trợ cho qúa trình lên báo cáo gửi nhà quản lý
Báo cáo tình hình kinh doanh

×