ứng dụng Visual Basic trong bài toán quản lý bán hàng
Trang 1Mở đầ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àngdữ liệu hay hệ cơ sở dữ liệu dựa trên máy tính điện tử là phơngtiệ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ềuyếu tố hợp thành, nhiều mối quan hệ Để có thể khai thác đợcnguồ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ácdoanh 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ủadoanh nghiệp Có thể nói, hoạt động của doanh nghiệp có thànhcô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ộtcô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ánhàng cho phép nhân viên quản lý bán hàng xác định đợc năngsuấ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ácnhau: theo nhân viên bán hàng, theo địa đIểm bán hàng haytheo 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ạimột địa đIểm nào đó, xác định xu thế mua hàng của kháchhà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ứccác công việc khác một cách dễ dàng và nhanh chóng Phần mềmquản lý bán hàng có thể truy nhập dữ liệu từ hệ thống thông tintàI chính hoặc từ cơ sở dữ liệu đợc cập nhật bởi các nhân viênbán hàng
Nội dung của đề án:
Trang 2Chơ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 VisualBasic, kết hợp hệ quản trị cơ sở dữ liệu Access Môi trờng làmviệc: Windows 2000
Mặc dù có nhiều cố gắng nhng do thời gian và trình độ hiểubiết còn hạn chế, đồng thời việc tiếp cận ngôn ngữ Visual Basiccha đợc bao lâu nên chơng trình còn có nhiều sai sót, khiếmkhuyế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 trongqúa trình viết đề tài
Trang 4b 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ö
9III Hµm vµ thñ tôc
Trang 5II Chức năng của chơng trình
25III Cơ sở dữ liệu và dữ liệu mẫu
40II
52III Phơng hớng hoàn thiện đề tài
Trang 6Phiê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ậptrình trên mạng Visual Basic 6.0 là chơng trình 32 bit, chỉ chạytrong 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áchoạ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ừngthao 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ácnút điều khiển hay một trình đơn quy định cách làm việccủ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ợngthự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 thaotá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ụ đặcbiệ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
Trang 7b.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ụngcho ứ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ậptrì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ốngriê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ơngthức (method) Lập trình viên phảI đa ra các thuộc tính và ph-
Mặc dù mỗi đối tợng có những bộ thuộc tính khác nhau, nhngtrong đó, vẫn có một số thuộc tính thông dụng cho hầu hết các
Trang 8chứa nó.
Height Chiều cao của điều khiển
Width Chiều rộng của điều khiển
Name điều khiển.Một giá trị chuỗi đợc dùng để nói đếnEnabled
Giá trị logic (True hoặc False) quyết
định ngời sử dụng có đợc làm việc với điềukhiể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 haykhông
Một thuộc tính quan trọng khác là BorderStyle, quyết địnhthành phần của cửa sổ (nh thanh tiêu đề, nút Phóng to, nút Thunhỏ, ) 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ácnhau, nhng vẫn có một số phơng thức rất thông dụng cho hầuhết các đIều khiển
Trang 94 Sự kiện
Nếu nh thuộc tính mô tả đối tợng, phơng thức chỉ ra cáchthức đối tợng hành động thì sự kiện là những phản ứng của đốitợng Ví dụ khi ngời sử dụng nhấn vào nút lệnh, nhiều sự kiện xảyra: nút chuột đợc nhấn, CommandBotton trong ứng dụng đợcnhấn, sau đó, nút chuột đợc thả Ba hoạt động này tơng đơngvớ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ầuhế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ủamột hành động nào đó, nh là di chuyển chuột, nhấn nút bànphí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ự
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
Trang 10KeyUp 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
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ànhkhi ngời sử dụng làm một thao tác trên giao diện hoặc có mộtviệc gì đó xảy ra trong Windows Dĩ nhiên, lập trình theo cáchnà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ênbiểu mẫu, tính toán kết quả một công thức, hoặc ghi dữ liệuvà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ẽ thihà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ấnvào nút View Code Chọn đối tợng từ cửa sổ Code
Trang 11Visual Basic tự động phát sinh ra các thủ tục xử lý sự kiệnngay 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ạchdớ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ácnhau, nhng chúng thờng xuyên liên hệ với nhau Ví dụ, nếu ta dichuyể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 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ử
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ếnthì giá trị trả về của biến là bất kỳ
Trang 12- Khai báo trong phần General: Biến sử dụng nh là biếncụ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 ghinhầ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 BasicphảI báo lỗi khi gặp một tên biến không khai báo Dùng dòng lệnhsau trong phần Declarations của modul
Option ExplicitMộ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 VisualBasic 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ácmodul này ta phảI thêm dòng lệnh bằng tay
Tầm hoạt động của biến
Trang 13Thủ tục Biến chỉ tồn tại
và hoạt động trongthủ tục
Không có
và hoạt động trongmodul
Biến tồn tại vàhoạt động trên mọimodul
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ụcnà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 đổitrong suốt thời gian chơng trình hoạt động Sử dụng hằng số làmchơng trình sáng sủa, dễ đọc nhờ những tên gợi nhớ thay vì cáccon 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áchằ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ùngcách chỉ rõ tham chiếu hằng:
Trang 14Có thể đặt nhiều khai báo hằng trên cùng một dòng, cácdò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ộtbiể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áotrong thủ tục chỉ hoạt động trong thủ tục; hằng khai báo trongmodul chỉ hoạt động trong modul; hằng khai báo Public trongphầ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ểumẫu hoặc modul lớp
3 Kiểu dữ liệu
Cho biết số lợng bộ nhớ dùng để lu trữ giá trị Visual Basic chophé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)
Trang 1510/3 = 3
Các toán tử so sánh:
= (bằng); < (nhỏ hơn); > (lớn hơn); <> (khác); <= (nhỏ hơnbằng); >= (lớn hơn bằng)
Các toán tử logic:
And, or, Not
(Gt1)Tru
e e Tru e Tru e Tru e Fals
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ề
Trang 16-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
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
Trang 17Dù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ộtcách làm tắt thay vì gõ giá trị tham số Có thể cung cấp cáctham số bất kỳ, theo một thứ tự bất kỳ bằng cách gán giá trị chotham 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ựchiệ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ọnbiể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 2dò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
Trang 18Dò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áptrong khi viết lệnh và báo lỗi nếu gặp lỗi sai Dòng lệnh trongVisual Basic không cho phép ngắt xuống dòng, bạn có thể dùngdấ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”
Trang 192 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ợpcần xét nhiều đIều kiện chọn lựa xảy ra trên một biến nào đó
Dig = 2Case Else
Dig = 3End Select
Kết qủa của đoạn lệnh: Dig = 3.
Trang 20Mặ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ùngthê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.
Dig = 2Case Else
Dig = 3End 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àycâu lệnh đợc thực hiện từ đầu cho đến khi hết số bớc lặp
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
Trang 21ý 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ệnsai thi bỏ qua các câu lệnh và thực hiện các lệnh phía dới dòngLoop
Loop Until Điều kiện
Trong đó: Điều kiện có thể là kiểu số hay kiểu chuỗi
Trang 22ý 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ênthuộc tí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ơngtrì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
Trang 23Khi chơng trình treo, kiểm tra giá trị của các biến hay thuộctí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ơIgây lỗi Để thay đổi tạm thời tuỳ chọn này, chọn Toggle từ menucả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ứcduy 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ửalỗi
Nếu một biến hay thuộc tính gây lỗi, dùng dòng lệnhDebug.Assert để ngng chơng trình khi có giá trị sai đợc gán chobiến hay thuộc tính
Trang 24+ Đơ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ậphoá đơ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áchhàng và chuyển cho khách hàng hoá đơn bán hàng sau khi đã thutiền Kết thúc giao dịch, hoá đơn bán hàng đợc lu vào kho dữ liệu
Trang 251 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ácthông tin sau:
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 tinmới, hoặc bổ sung vào trong Danh mục Khách hàng tên và cácthô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ầnphảI lấy đợc các thông tin chi tiết về nhân viên đã yêu cầu Cácthông tin đa ra gồm:
+ 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:
Trang 26+ 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ủachứng từ
Các yêu cầu đối với mỗi loại chứng từ khác nhau:
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
Trang 27+ 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ìnhhì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ìnhhì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ântích kỹ hơn để thấy đợc các đặc điểm, tính chất của các đốitợ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, đơngiá
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ànghóa nào đó)
-Phục vụ cho quá trình lên đơn đặt hàng gửi tới nhà cungcấp
-Hỗ trợ cho nhân viên bán hàng trong việc viết hóa đơn bánhàng
3 Khách hàng
Trang 28Khách hàng là một nhân tố quan trọng quyết định sự thànhcông trong kinh doanh Cần phảI lu trữ các thông tin về kháchhà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ếtnhững địa điểm bán hàng hiệu qủa
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ếpvào máy tính hàng ngày Hóa đơn có thể có nhiều và rất phứctạ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à baonhiê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? )
Trang 29- 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àynhậ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ônghóa đơn vào máy tính Hóa đơn này phục vụ cho qúa trìnhquản lý hàng hóa, quản lý số lợng hàng Hỗ trợ cho qúa trình lênbá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ánhàng hàng tháng, báo cáo về hàng nhập kho, bảng kê hóa đơnbá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 trongviệ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ăngsuấ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ứckhá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ứcnă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ánhà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 doanhvớ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
Trang 30III 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:
Ma_KH lµ khãa chÝnh
M·_
§iÖn tho¹i
Sè_tµi_ kho¶n
Trang 31§iÖn tho¹i
Sè_tµi_ kho¶n
Type d Size Fiel mat For gi¶i DiÔn
203 Tivi Samsung Golden Eye 17 ChiÕc 2.600.000
Table TonKho