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

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

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 (527.06 KB, 50 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ü tht 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 nhng 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 cha đợ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.

2


mục lục
Mở đầu

2

Chơng i: Visual basic

5


a. Giới thiệu về Visual Basic
I. Sơ lợc về Visual Basic
II. Tính năng của Visual Basic.
III. Một số định nghĩa.

5
5
5
5

b. Tìm hiểu về Visual Basic.
I. Thuộc tính, phơng thức, và sự kiện.
II. Biến, hằng, kiểu dữ liệu và các toán tử.
III. Hàm và thủ tục.
IV. Câu lệnh trong Visual Basic.
V. Gỡ rối chơng trình.

6
6
9
13
14
20

Chơng II: phân tích, thiết kế hệ thống QLBH
I. Khảo sát và phân tích hệ thống QLBH.
II. Chức năng của chơng trình.
III. Cơ sở dữ liệu và dữ liệu mẫu.
IV. Sơ đồ BFD, IFD, DFD.


21
21
25
26
33

Chơng III: chơng trình QLBH
I. Giới thiệu phần mềm

40
40

II. Kết qủa bớc đầu.

52

III. Phơng hớng hoàn thiện đề tài.

53

Kết luận

54

TàI liệu tham khảo

55

3



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 ... Nh 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.
4


+ 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) nh 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 thc 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, nhng 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

tính

Thuộc
Left
Top
Height
Width
Name
Enabled

GiảI thích
Vị trí cạnh tráI của điều khiển so với vật chứa nó.
Vị trí cạnh trên của điều khiển so với vật chứa nó.
Chiều cao của điều khiển.
Chiều rộng của điều khiển.
Một giá trị chuỗi đợc dùng để nói đến điều khiển.
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.

5


Giá trị logic (True hoặc False) quyết định ngời sử
Visible
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ổ (nh 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, nhng
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

GiảI thích

Move
Drag

Thay đổi vị trí một đối tợng theo yêu cầu của chơng trình.
Thi hành hoạt động kéo và thả của ngời sử dụng.

thức

SetFocus
Zorder

Cung cấp tầm ngắm cho đối tợng đợc chỉ ra trong lệnh gọi
phơng thức.
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 nh 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, nhng 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.

6


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.
MouseDown 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 chun con trá cht 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 chun 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 ... }
7


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, nhng chúng thờng xuyên liªn hƯ víi nhau. VÝ dơ, nÕu ta di chun 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 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 để lu 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 nhng 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
8


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 nh 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 nh 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 nh 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 nhng 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, nhng 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

Thủ tục

Private

Public

Biến chỉ tồn tại và
hoạt động trong thđ tơc.
9

Kh«ng cã.


Modul

Biến chỉ tồn tại và
Biến tồn tại và hoạt
hoạt động trong modul.
độ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 nhng 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, nhng 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, nhng
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ự nh 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

10


Cho biết số lợng bộ nhớ dùng để lu 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


True

True

True

True

11

Not
(Gt1)
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 nhng 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.
12


-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
.
End Sub
Trun 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 nh 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 đó cha đợ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 xt 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.
13


Ví dụ:
Private Sub Command1_Click() (1)
End Sub
(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
14


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.
Ví dụ:
Dim Num, Dig as Integer
Num = 50
Selcet Case Num
Case 10
Dig = 1
Case 30
Dig = 2
Case Else
Dig = 3

15


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, Dig AS 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.

16


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 Loop.
Cú pháp:
Do While Điều kiện
<Câu lệnh>
[Exit Do]
<Câu lệnh>
Loop
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
Loop
17


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 thc 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.

18


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 để ngng 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:
19


+ Đơ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 lu 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
20


+ Đị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à:
21


+ 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.
22


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 lu 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 lu 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 lu vào kho lu 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? ...).

23


- 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
Gồm các báo cáo: Báo cáo bán hàng hàng ngày, báo cáo bán hàng hàng tháng,
báo cáo về hàng nhập kho, bảng kê hóa đơn bán hàng.
Các báo cáo này trợ giúp cho nhân viên quản lý bán hàng trong việc xác định
tình hình kinh doanh hàng ngày, hàng tháng. Hỗ trợ cho các qúa trình lên chiến lợc
kinh doanh của nhà quản lý. Cũng qua các báo cáo này, nhà quản lý có thể xác định
đợc năng suất của nhân viên bán hàng, triển vọng kinh doanh tại các địa điểm, mức
độ thành công của mỗi mặt hàng theo các tiêu thức khác nhau. Xác định đợc tồn kho
cuối tháng và cuối quý.
II. Chức năng của hệ thống
Trên cơ sở phân tích các yêu cầu đặt ra của bàI toán, rút ra đợc chức năng của
chơng trình. Chơng trình bao gồm các chức năng chính sau:
- Quản lý số lợng hàng bán, hàng nhập.
- Quản lý lợng hàng tồn kho phục vụ cho các giao dịch bán hàng, đáp ứng nhu
cầu mua hàng của khách.
- Quản lý tồn kho giúp cho nhà quản lý có những kế hoạch về hàng hóa nh gửi
đơn đặt hàng tới nhà cung cấp, liên doanh với cơ sở khác ... nhằm phục vụ tốt hoạt
động của doanh nghiệp.
- Quản lý khách hàng.
- Quản lý hàng hóa

III. Thiết kế cơ sở dữ liệu và dữ liệu mẫu
Chơng trình xây dựng có sự hỗ trợ của hệ quản trị cơ sở dữ liệu Microsoft
Access. Các tổ chức dữ liệu trên Access nh sau:

Cấu trúc các table lu trữ dữ liệu và dữ liệu mẫu:
24


Table KhachHang
Field
Data Type

Field Size

Format

Diễn giải

>

MÃ số khách hàng

Ma_KH

Text

10

Ten_KH

Text

30


Họ và tên

Dia_chi

Text

50

Địa chỉ

Dien_thoai

Number

50

Điện thoại

So_TK

Number

15

Số tài khoản

Ma_KH là khóa chính.

MÃ_
KH


Tên_KH

Địa_chỉ

Điện thoại

KL01 Khách lẻ
LG

Công ty điện tử LG

NK Công ty TNHH NK
SS

Công ty
Samsung

điện

Hai Bà Trng - Hà Nội

8546837

Thái Hà- Hà Nội

8372888

tử Lý Thờng Kiệt - Hà Nội


9127842

K02 Công ty điện tử Hải Bạch Mai - Hà Nội
Phong

8645732

K03 Trung tâm thơng mại Định Công - Hà Nội
Ace

6417346

K04 Trung tâm thơng mại Giải Phóng - Hà Nội
Marko

8425334

K05 Chi nhánh điện HBT

Hai Bà Trng - Hà Nội

5412454

K06 Công ty điện lực I

Hoàn Kiếm - Hà Nội

7648619

Table HangHoa


25

Số_tài_
khoản


×