quản lý cửa hàng
Trang 1Lời giới thiệu
Ngày nay song song với quá trình phát triển công nghệ khoa học và kỹ thuật thì nghành khoa học tính toán đã đóng vai trò quan trọng,nó đã đạt đợc những thành tựu khoa học kỹ thuật rực rỡ với những bớc tiến nhảy vọt.Việc áp dụng các công nghệ khoa học kỹ thuật vào lĩnh vực đời sống của con ngời ngày càng tăng và không ngừng can thiệp vào hầu hết các công việc trong đời sống Công nghệ thông tin là một trong những ngành khoa học đó.Đi đôi với sự phát triển của công nghệ chế tạo các thiết bị máy tính thì việc các sản phẩm phần mềm ứng dụng ra đời có tính chất quyết định đối với việc áp dụng ngành khoa học này.
Trên thế giới cũng nh ở Việt Nam ,công nghệ thông tin đã trở thành một ngành công nghiệp mũi nhọn,nó là một ngành khoa học kỹ thuật không thể thiếu trong việc áp dụng vào các hoạt động xã hội nh: Quản lý ,kinh tế ,thông tin Đặc biệt trong lĩnh vực quản lý và kinh doanh,công nghệ thông tin đã trở thành một phần không thể thiếu giúp con ngời giải quyết rất nhiều vấn đề một cách nhanh chóng,tiện lợi và có hiệu quả cao.
Mặc dù rất cố gắng để hoàn thành công việc,xong thời gian có hạn và kinh nghiệm kiến thức cha nhiều nên chơng trình quản lý cửa hàng chắc còn có những vấn đề cha đợc tối u hoàn hảo.Vì vậy ,em mong nhận đợc ý kiến đóng góp của thầy cô và bạn bè để đề tài ngày càng hoàn thiện hơn.
Cuối cùng em xin chân thành cảm ơn thầy Đinh Hùng và các thầy trong khoa Công nghệ thông tin trờng đại học Bách Khoa Hà Nội đã tận tình chỉ bảo hớng dẫn chúng em hoàn thành đề tài này.
1
Trang 2Phần IGiới thiệu ngôn ngữ và công cụ
Chơng trình quản lý cửa hàng đợc thực hiện bằng hai công cụ rất phổ biến và đợc a chuộng hiện nay trên thế giới nói chung và Việt Nam nói riêng,đó là Cơ sở dữ liệu với MicrosoftAccess và VisualBasic.Sau đây em xin trình bày tóm tắt về u điểm và tính năng của hai ngôn ngữ này:
Ưu điểm của việc sử dụng cơ sở dữ liệu MicrosoftAccess MicrosoftAccess là một trong bốn phần mềm ứng dụng của bộ MicrosoftOffice.Nó là một hệ quản trị cơ sở dữ liệu.Nói đến quản trị cơ sở dữ liệu,ngời ta nghĩ ngay đến Foxpro và Foxbase là những phần mềm hầu nh có thể làm đợc mọi việc,thờng dùng trong các hệ cơ sở dữ liệu lớn.Access thể hiện nhiều đặc tính u việt mà nổi bật hơn cả là tính đơn giản hiệu quả,nó có thể đáp ứng hầu hết các yêu cầu về quản trị cơ sở dữ liệu.
Trong Access:
Bảng đợc dùng lu trữ dữ liệu.Truy vấn là công cụ mạnh của Access dùng để tổng hợp,sắp xếp,tìm kiếm dữ liệu trên các bảng,có thể sử dụng truy vấn một bảng để xây dựng các truy vấn khác.Với truy vấn có thể giải quyết khá nhiều dạng bài toán trong hệ cơ sở dữ liệu.
Mẫu biểu (Form) thờng dùng để tổ chức cập nhật dữ liệu cho các bảng và thiết kế giao diện chơng trình.Ngoài khả năng nhập dữ liệu trực tiếp vào các bảng,mẫu biểu cung cấp nhiểu khả năng nhập dữ liệu khác:Nhập từ một danh sách,nhập các hình ảnh,nhập dữ liệu đồng thời trên nhiều bảng,nhập giá trị đơn lẻ từ bàn phím.Mẫu biểu còn có khả năng quan trọng khác là tổ chức giao diện chơng trình dới dạng các nút lệnh hoặc hệ thống menu.
Báo biểu (Report) là công cụ tốt để phục vụ cho in ấn với khả năng: -In dữ liệu dới dạng bảng
-In dữ liệu dới dạng bảng biểu
Trang 3Sắp xếp,phân nhóm,tổng hợp dữ liệu trớc khi in.In dữ liệu của nhiều bảng trên một thông báo.
Macro bao gồm dãy các hành động dùng để tự động hoá một loạt các thao tác,thờng dùng Macro với biểu mẫu tổ chức giao diện chơng trình.
Module là nơi chứa các hàm,thủ tục viết bằng ngôn ngữ VBA (Visual Bassic for Application).Các hàm và thủ tục sẽ trợ giúp giải quyết những phần việc khó mà công cụ không làm nổi.
Từ các ứng dụng của Access ta có thể tạo nên một ứng dụng cơ sở dữ liệu Access hoàn chỉnh lu trữ chỉ trong một tập tin mdb.
Hầu hết các ứng dụng của Access chúng ta đề ra yêu cầu viết rất ít hoặc không viết mã VBA.Một số ứng dụng của Access chủ yếu dựa vào Macro thay vì dùng mã VBA tự động hoá các ứng dụng.Dùng Macro sẽ dễ dàng thực hiện các thao tác đơn giản nh đóng,mở Form,hiển thị và ẩn các thanh công cụ,thi hành các báo cáo.
2)VisualBasic 6.0:
Lập trình với VisualBasic ngày càng đợc yêu cầu trong các đề án thực hiện trong và ngoài nớc.VB 6 là phiên bản mới và mạnh nhất của VisualBasic.
VB lập trình trên window tạo chơng trình có giao diện đẹp mắt và thân thiện với ngời dùng.
VB có đầy đủ những đặc điểm cũng nh những u việt của những ngôn ngữ lập trình trớc đó nh Pascal,C, Hơn thế nữa VB còn loại bỏ một số những khái niệm phức tạp,dễ gây nhầm lẫn nh khái niệm con trỏ trong C.
Ưu điểm của VB là đơn giản,dễ học,dễ tiếp cận với ngời lập trình,VB có nhiều công cụ giúp cho ngời lập trình tiết kiệm thời gian trong quá trình thiết kế giao diện và viết code.Ngoài ra VB còn mang dáng vẻ của phong cách lập trình hớng đối tợng,một phong cách lập trình mới hiện đại có nhiều u việt hơn
3
Trang 4phong cách lập trình hớng thủ tục của những ngôn ngữ lập trình nh Pascal và C.
Bên cạnh đó VB còn có nhiều công cụ và đặc điểm mới nh lập trình kết hợp cơ sở dữ liệu,đặc biệt là với Access,có nhiều kỹ thuật lập trình nh ODBC,DAO,RDO,ADO,RDS.
VisualBasic đang ngày càng trở nên phổ biến trên mọi lĩnh vực lập trình và trở thành ngôn ngữ đợc a chuộng nhất với những nhà lập trình chuyên nghiệp.
Trang 5Phần II Đề tài thực tập
Lập chơng trình quản lý cửa hàng đơn giản
Mục đích:luyện ngôn ngữ,tập xây dựng một bài toán nhỏ,tập tổ chực chơng trình.
Nội dung:
Đối tợng cần quản lý là hàng hoá gồm các thuộc tính
Mã hàng,Tên hàng,Đơn giá,Đặc điểm,Số lợng tối thiểu,Số lợng trong kho Lập chơng trình trên ngôn ngữ:
1.Nhập hàng và ghi lên đĩa dới dạng các File bản ghi(Record).
2.Đọc và đa các bản ghi của File ra màn hình để xem,10 bản ghi một lần 3.Nhập yêu cầu mua gồm tên khách hàng,mã hàng,số lợng.Kiểm tra:
-Nếu đủ hàng thì in vận đơn ra màn hình và filetext gồm: mã,tên khách hàng,tên hàng,số lợng,giá v.v
-Nếu không đủ thì in thông báo ra màn hình và filetext cho khách hàng.
5
Trang 6Phần III Cách giải quyết vấn đề
Công nghệ thông tin đang đợc ứng dụng rất nhiều trong mọi lĩnh vực của cuộc sống,mọi sự việc đều đợc tin học hoá và đợc xử lý bằng máy tính dựa trên các phần mềm ngày càng đợc phát triển.Công việc quản lý trong các công ti và cửa hàng trớc đây dùng sổ sách giấy tờ phức tạp,tốn nhiều thời gian,nay đã đợc giải quyết một cách đơn giản,hiệu quả và nhanh chóng bằng các phần mềm quản lý.Dới đây em xin trình bày hớng giải quyết,phân tích,thiết kế cho một chơng trình phần mềm quản lý cửa hàng nhỏ.
Chơng trình quản lý cửa hàng nhỏ,với đối tợng chủ yếu là hàng hoá gồm có các thuộc tính:Mã hàng,Tên hàng,Đơn giá,Đặc điểm,Số lợng tối thiểu,Số lợng trong kho.Ta phải xây dựng một cơ sở dữ liệu bằng Access:gồm có bảng hàng hoá có các trờng tơng ứng với các thuộc tính của hàng hoá:Mã hàng có kiểu dữ liệu Number mô tả mã hiệu của hàng hoá,Tên hàng có kiểu dữ liệu Text thể hiện tên của loại hàng,Đơn giá có kiểu dữ liệu là Currency thể hiện giá trị của loại hàng,Đặc điểm có kiểu dữ liệu Text nêu lên những đặc tính của loại hàng,Sl tối thiểu có kiểu dữ liệu Number,SL trong kho có kiểu dữ liệu Number.
Lập trình bằng ngôn ngữ VB kết hợp với cơ sở dữ liệu,dùng mô hình ADO(Access Data Object) tạo một form nhập hàng gồm có các textbox cho ngời sử dụng nhập vào các thuộc tính (tơng đơng với các trờng trong cơ sở dữ liệu) của đối tợng hàng hoá.Mỗi khi nhập vào một loại hàng ngời dùng lại trực tiếp ghi loại hàng đó vào File bản ghi(Record) thông qua một nút nhấn(button),lúc đó chơng trình sẽ đọc những dữ liệu cho hàng hoá đ-ợc nhập vào trên các textbox rồi ghi vào File Record.Ngời dùng có thể xoá một loại hàng họ muốn khỏi cơ sở dữ liệu sau khi chọn loại hàng và nhấn nút Delete.
Trang 7Sau đó,ta lập một form hiển thị các loại mặt hàng đã đợc ghi vào file,đọc lần lợt các bản ghi (Record) trong file,10 bản ghi một lần.Ta dùng vòng lặp đọc lần lợt từng bản ghi trong file rồi in ra màn hình.
Đến phần yêu cầu của khách hàng,ta lập một form mua hàng,gồm có các textbox để khách hàng nhập vào tên,mã số khách hàng,địa chỉ,số điện thoại,email,mã hàng của loại hàng cần mua và số lợng.Nếu nh khách hàng nhập thiếu mục nào chơng trình sẽ hiện ra thông báo yêu cầu khách hàng phải nhập đủ.Sau đó chơng trình sẽ kiểm tra xem mã hàng mà khách hàng nhập vào có trong cơ sở dữ liệu hàng hoá không,nếu không có thì in thông báo cho khách hàng,nếu có chơng trình sẽ tiếp tục kiểm tra số lợng hàng mà khách hàng yêu cầu cửa hàng có đủ không.Nếu không đủ lợng hàng chơng trình sẽ in ra thông báo cho khách hàng và ghi vào file thông báo,nếu đủ lợng hàng chơng trình sẽ in ra hoá đơn gồm có tên khách hàng,mã số khách hàng,địa chỉ,điện thoại,email,tên hàng,mã hàng,số l-ợng,giá tiền và ghi vào file hoá đơn.
7
Trang 8Phần IV Chơng trình
1.Xây dựng cơ sở dữ liệu:dùng MicrosoftAccess,ta xây dựng bảng hàng hoá
cho đối tợng hàng hoá gồm các trờng:Mã hàng,Tên hàng,Đơn giá,Đặc điểm,SL tối thiểu,SL trong kho.
Trang 102.ThiÕt kÕ giao diÖn MDI:
thiÕt kÕ menu gåm cã c¸c môc:
File:-Hµng ho¸:-NhËp hµng:nhËp c¸c lo¹i mÆt hµng -HiÓn thÞ:hiÓn thÞ c¸c lo¹i mÆt hµng
Trang 113.Thiết kế form nhập dữ liệu:
Thiết kế formnhập hàng vào cơ sở dữ liệu dùng mô hình ADO(Access Data Objects) và DataformWizard.Dùng nút Record để ghi bản ghi về loại hàng vào file sau mỗi lần nhập vào một loại hàng,sau khi nhập vào các trờng cho một loại hàng,ấn nút Record chơng trình sẽ đọc dữ liệu trong các textbox và ghi vào file bản ghi.
Private Type Hanghoa
Trang 12Open "c:\thuctap\banghi.txt" For Random As #1 Len = 10000'tao mot file record
Trang 13Private Type Hanghoa
Formhthi.Print a.mahang, a.tenhang, a.dongia, a.dacdiem, a.SLtoithieu, a.SLtrongkho
Formhthi.Print a.mahang, a.tenhang, a.dongia, a.dacdiem, a.SLtoithieu, a.SLtrongkho
Trang 145.Thiết kế form mua hàng:
Sau khi khách hàng nhập vào các trờng trong các textbox:khách hàng,mã số khách hàng,địa chỉ,số điện thoại,email,mã hàng,số lợng.Chơng trình sẽ kiểm tra khách hàng có bỏ xót trờng nào cha nhập:
Private Sub Command1_Click()Dim thongbao As Boolean
'kiem tra qua trinh nhapIf Text1.Text = "" Then
MsgBox " Ban hay nhap vao ten khach hang", (vbOKOnly + vbExclamation), "thong bao"
End If
If Text2.Text = "" Then
MsgBox "Ban hay nhap vao ma hang", (vbOKOnly + vbExclamation), "thong bao"
End If
If Text3.Text = "" Then
MsgBox "Ban hay nhap vao so luong hang", (vbOKOnly + vbExclamation), "thong bao"
Trang 15If Text12.Text = "" Then
MsgBox "Ban hay nhap vao ma so khach hang cua ban", (vbOKOnly + vbExclamation), "thong bao"
End If
If Text9.Text = "" Then
MsgBox "Ban hay nhap vao dia chi cua ban", (vbOKOnly + vbExclamation), "thong bao"
End If
If Text10.Text = "" Then
MsgBox "Ban hay nhap vao so dien thoai cua ban", (vbOKOnly + vbExclamation), "thong bao"
End If
If Text11.Text = "" Then
MsgBox "Ban hay nhap vao dia chi email cua ban", (vbOKOnly + vbExclamation), "thong bao"
End If
Đầu tiên chơng trình sẽ kiểm tra mã hàng của loại hàng khách hàng cần mua có trong cơ sở dữ liệu hàng hoá không,không có thì hiển thị thông báo:
If (thongbao = False) Then
If (Text1.Text <> "") And (Text2.Text <> "") And (Text3.Text <> "") And (Text9.Text <> "") And (Text10.Text <> "") And (Text11.Text <> "") And (Text12.Text <> "") Then
MsgBox "Xin loi quy khach!" & Chr$(10) & "Loai hang quy khach can mua hien nay" & Chr$(10) & "cua hang chung toi khong co.", (vbOKOnly + vbExclamation), "thong bao"
End If
Nếu loại hàng mà khách hàng yêu cầu có trong cơ sở dữ liệu thì kiểm tra xem số lợng có đủ không,nếu không đủ thì thông báo cho khách hàng và ghi vào file thông báo,nếu đủ thì in hoá đơn và ghi vào file hoá đơn
'kiem tra so luong hang can mua co du khong
15
Trang 16If Data1.Recordset.Fields("SLtrongkho") >= Val(Text3.Text) Then
'in hoa don
If (Text1.Text <> "") And (Text2.Text <> "") And (Text3.Text <> "") And (Text9.Text <> "") And (Text10.Text <> "") And (Text11.Text <> "") And 'ghi vao file hoa don
Open "c:\thuctap\hoadon.txt" For Output As #2Write #2, "Ten khach hang", Text1.Text
Write #2, "Ma so khach hang", Text12.TextWrite #2, "Dia chi", Text9.Text
Write #2, "Dien thoai", Text10.TextWrite #2, "Email", Text11.Text
Write #2, "Ma hang", Text2.TextWrite #2, "Ten hang",
Data1.Recordset.Fields("Tenhang")Write #2, "So luong", Text3.TextWrite #2, "Gia tien",
If (Text1.Text <> "") And (Text2.Text <> "") And (Text3.Text <> "") And (Text9.Text <> "") And (Text10.Text <> "") And (Text11.Text <> "") And (Text12.Text <> "") Then
MsgBox "Xin loi quy khach!" & Chr$(10) & "Loai hang quy khach can mua hien nay" & Chr$(10) & "cua hang chung toi khong du so luong.",
(vbOKOnly + vbExclamation), "thong bao"
Open "c:\thuctap\thongbao.txt" For Output As #3Write #3, "Cua hang chung toi xin loi quy khach!
Trang 17chung toi khong du so luong.Mong quy khach thong