3.2.1 Giao diện chính của chương trình
Dựa theo phân tích về các chức năng chính của hệ thống quản lý doanh nghiệp. Giao diện được bố trí đơn giản, lấy MDIForm là khung chính của chương trình, chia các Menu theo các phần chức năng chính. Đặt tên các chức năng chính rõ ràng theo sát với phần phân tích. Như vậy khi khởi động chương trình người sử dụng sẽ rất dễ dàng sử dụng chương trình. Để sử dụng chương trình trước tiên người sử dụng cần phải đăng nhập vào hệ thống thông qua hai tài khoản chính, đó là:
- Tài khoản dành cho chủ doanh nghiệp User Name: Admin
Password :123456
- Tài khoản dành cho nhân viên User Name: Sales
Đăng nhập hệ thống sau khi vào menu Hệ thống > Đăng nhập, ta có form Login như sau:
Sau khi đăng nhập được hệ thống, người sử dụng đi sâu vào các Menu vì trong này là các chức năng con của hệ thống. Ví như trong quản lý danh mục có các danh mục sản phẩm, nhân viên…. Trong quản lý kinh doanh có lập phiếu nhập, lập phiếu xuất,…
Các chức năng con được trình bày dưới dạng các MDIChild Form, trên form là những thông tin cần thiết cung cấp cho người sử dụng. Từ đó người sử dụng có thể thêm mới, sửa thông tin và xóa các thông tin không cần thiết. Đó chính là các thao tác đặc trưng cơ bản của chức năng quản lý danh mục. Chức năng quản lý danh mục có thể được hiểu là một bản kế hoạch chi tiết của doanh nghiệp. Nó được coi như là một chính sách rõ ràng đã được vạch ra từ trước như làm ăn với ai, buôn bán những sản phẩm gì, khách hàng thường xuyên quan hệ là ai … Đây là công việc đầu tiên mà hệ thống cần được cung cấp thông tin đầy đủ trước khi hệ thống thực hiện các công việc khác. Với giao diện đơn giản và tương đồng, chắc chắn người dùng sẽ cảm thấy đơn giản hơn khi làm quen với chức năng này. Sau đây là một số Form đặc trưng cho chức năng quản lý danh mục:
- Quản lý cập nhật danh mục sản phẩm Quản lý danh mục > Sản phẩm
Chức năng này cung cấp cho người dùng thực hiện các thao tác cơ bản như thêm mới, sửa và xóa các thông tin không cần thiết về một đối tượng nào đó.
Khi muốn thêm mới người dùng chỉ việc kích vào nút thêm, khi muốn sửa thông tin của đối tượng nào thì chỉ cần kích vào nút sửa, tương tự khi muốn xóa đối tượng nào thì người dùng chỉ cần chọn đối tượng và nhấn nút xóa, khi đó chương trình sẽ hỏi lại một lần nữa là bạn có chắc với quyết định đó không? Nếu đồng ý nhấn OK, không đồng ý nhấn Cancel.
- Quản lý cập nhật nhân viên Quản lý danh mục > Nhân viên
- Quản lý cập nhật nhân viên Quản lý danh mục > Nhà cung cấp
- Riêng chức năng cập nhật giá bán có một số điểm khác biết so với các chức năng còn lại. Ngoài ra các chức nằng quản lý cập nhật khách hàng và quản lý cập nhật nhà cung cấp cũng tương tự như hai chức năng trên là cập nhật nhân viên và cập nhật sản phẩm. Sau là giao diện chính của chức năng cập nhật giá bán Quản lý danh mục > Giá bán
Trên là toàn bộ các chức năng của phần quản lý danh mục, sau đây là toàn bộ giao diện của chức năng quản lý kinh doanh như lập phiếu nhập và thanh toán. Với các thông tin vừa đủ, kèm các tính năng hỗ trợ tự động mà người dùng không cần phải đau đầu tính toán. Giờ đây công việc của họ chỉ còn là thao tác nhập mà thôi. Vào chức năng lập phiếu nhập như sau Quản lý kinh doanh > Phiếu nhập
Người dùng chỉ cần chọn các thông tin cơ bản là người nhập, ngày nhập, nhà cung cấp. Sau đó chọn các sản phẩm cần nhập với số lượng và đơn giá tương ứng nhấn nút >> để đưa sản phẩm vào giỏ hàng. Trong một lần nhập, người sử dụng có thể nhập nhiều mặt hàng cùng lúc, khi muốn thay đổi hoặc không muốn lấy sản phẩm nào mà đã chót cho vào giỏ hàng thì nhấn nút << để loại sản phẩm đó khỏi giỏ hàng. Sau khi đã nhất trí với giỏ hàng của mình, doanh nghiệp có thể thanh toán cho nhà cung cấp toàn bộ hay một phần tiền nào đó vào phần tiền trả ở dưới cùng. Rồi nhấn chấp nhận. Khi thao tác chấp nhận được nhấn có nghĩa là sản phẩm bạn vừa lựa chọn đã được nhập vào kho hàng của doanh nghiệp, điều này không thể thay đổi được nữa. Với các chức năng tương tự, ta dễ dàng sử dụng được chức năng lập phiếu xuất và thanh toán. Với giao diện tương đương với chức năng lập phiếu nhập và thanh toán, có thể phần nào giúp cho người sử dụng hệ thống cảm thấy dễ
dàng hơn, đơn giản hơn. Để vào chức năng lập phiếu xuất và thanh toán thì ta làm theo các bước sau Quản lý kinh doanh > Phiếu xuất
Dựa trên các thông tin được lưu từ các số phiếu nhập và phiếu xuất, hệ thống nhanh chóng đưa ra những con số chính xác về doanh thu cũng như công nợ của doanh nghiệp với các nhà cung cấp, công nợ của doanh nghiệp với các khách hàng. Đó cũng chính là hai chức năng còn lại của phần quản lý kinh doanh. Đây là giao diện chính của phần hạch toán doanh thu của doanh nghiệp.
Phần hạch toán doanh thu cho doanh nghiệp được chương trình hỗ trợ 3 lựa chọn chính là theo tháng, theo quý và theo năm. Với các lựa chọn như vậy, chắc chắn sẽ giúp cho chủ doanh nghiệp có cái nhìn tổng quan hơn về tình hình kinh doanh của mình.
- Hạch toán lỗ lãi theo quý:
- Hạch toán lỗ lãi theo năm:
Công việc kinh doanh đôi khi không thể tránh khỏi các khoản công nợ. Chính vì thế hệ thống hỗ trợ cho doanh nghiệp phần thanh toán công nợ với hai đối tượng chính là nhà cung cấp và khách hàng. Hình thức thanh toán là có thể trả một
lần hoặc nhiều lần, mỗi lần thanh toán sẽ được ghi lại ngày tháng rõ ràng. Các khoản nợ cũng được thông báo chi tiết, tường minh. Sau là giao diện chính của chức năng này.
- Thanh toán công nợ với khách hàng:
- Thanh toán công nợ với nhà cung cấp:
Người dùng chỉ cần lựa chọn khách hàng hoặc nhà cung cấp cần thanh toán công nợ, chọn ngày thanh toán và ghi số tiền của khách hàng hoặc của nhà cung cấp
trả, sau đó nhấn nút “Chấp nhận” như vậy đã hoàn thành việc thanh toán công nợ với khách hàng. Như hình trên chúng ta thấy rõ khoản nợ của khách hàng và khoản khách hàng đã thanh toán trước đó. Tương tự phần thanh toán công nợ với nhà cung cấp cũng vậy, chúng ta làm tương tự như phần thanh toán công nợ với khách hàng.
Để xem chi tiết của các khoản công nợ của khách hàng với doanh nghiệp, của doanh nghiệp với nhà cung cấp người dùng nhấn vào nút “Xem chi tiết” của phần lựa chọn thanh toán theo nhà cung cấp hay theo khách hàng từ đó hệ thống sẽ hiện Form chi tiết về các khoản công nợ, đây chính là sổ sách để hai bên đối chiếu với nhau về các khoản nợ.
Form chi tiết công nợ của khách hàng với doanh nghiệp được thể hiện bởi hình dưới đây:
Form chi tiết về công nợ của doanh nghiệp với nhà cung cấp được thể hiện chi tiết bởi hình dưới đây:
Phần thanh toán công nợ được chi ra theo hai tượng nhưng lại được bố trí và thao tác tương tự nhau, nhằm giúp người sử dụng chương trình dễ làm và dễ theo dõi hơn. Riêng phần hỗ trợ cho người sử dụng xem được chi tiết từng khoản nợ của mình với nhà cung cấp, và từng khoản nợ của khách hàng với doanh nghiệp là được đánh giá rất cao. Bởi chức năng này đã góp phần giảm bớt đi gánh nặng cho doanh nghiệp. Bởi trên thực tế mỗi khi phải đi đối chứng sổ sách các khoản công nợ của mình thì doanh nghiệp tốn rất nhiều thời gian để tìm tòi và tổng hợp số liệu. Đôi khi còn gây ra nhiều sai sót, và thiếu hụt. Khi hệ thống cung cấp chức năng này, nghĩa là doanh nghiệp đã bớt đi được những gánh nặng hành chính không cần có.
Phần quản lý kho là phần lấy dữ liệu từ các số phiếu nhập và phiếu xuất để từ đó đưa ra các con số thống kê về lượng sản phẩm nhập và lượng sản phẩm xuất trong một thời gian kinh doanh xác định cụ thể. Chức năng thống kê nhập, thống kê xuất có ý nghĩa quan trọng trong việc tổng hợp doanh thu của doanh nghiệp và hơn nữa nó nới lên tiến độ làm ăn của doanh ngiệp. Ngoài ra chúng còn có ý nghĩa trong việc tổng hợp sản phẩm tồn kho. Đây cũng chính là chức năng quan trọng nhất của phần quản lý kho. Với các chức năng thống kê thì hệ thống hỗ trợ phần thống kê theo nhiều lựa chọn khách nhau nhằm tạo ra một góc độ mới cho chủ doanh nghiệp, để từ đó họ đưa ra những kế hoạch cụ thể mới cho doanh nghiệp của mình. Riêng chức năng tổng hợp tồn kho hệ thống cũng đưa ra các lựa chọn khác nhau để người dùng lựa chọn, ngoài ra chức năng tổng hợp tồn còn cung cấp khả năng báo cáo sản phẩm tồn đó được nhập vào thời gian nào, đơn giá tại thời điểm nhập là bao nhiêu. Dưới đây là giao diện chính của các chức năng kể trên, với các lựa chọn sáng sủa và dễ hiểu đã góp phần tạo cho người dùng sự thân thiện và đơn giản.
- Chức năng thống kê nhập theo sản phẩm:
- Chức năng thống kê xuất theo ngày tháng:
- Chức năng thống kê xuất theo khách hàng:
3.2.2 In ấn và báo cáo:
Trong các chức năng lập phiếu nhập, phiếu xuất, cập nhật giá bán, thông kê nhập và thông kê xuất đều cung cấp cho người dùng chức năng in ấn và báo cáo. Đây là phần việc tự động mà hệ thống cung cấp nhằm giảm bớt các công việc thủ công phiền phức. Hơn nữa việc tạo lập các phiếu cũng như các báo cáo thông kê nếu như được làm từ máy tính sẽ có độ chính xác hơn rất nhiều. Sau là một số mẫu phiếu in được thiết lập từ chương trình.
- Phiếu xuất:
- Thống kê nhập:
- Thống kê xuất theo ngày tháng:
KẾT LUẬN
Trải qua một thời gian ngắn khi tiếp xúc với các công việc thực tế em đã dần trưởng thành hơn, tích luỹ được nhiều kinh nghiệm thực tế và ứng dụng công nghệ thông tin vào lĩnh vực quản lý giúp giảm bớt công việc thủ công, công việc quản lý phức tạp trước kia nay sẽ đơn giản hơn nhiều.
Sau thời gian tìm hiểu và nghiên cứu em đã cố gắng vận dụng những kiến thức về Ngôn ngữ lập trình Visual Basic kết hợp bộ môn Phân tích và thiết kế hệ thống cùng với cơ sở dữ liệu cụ thể là phần mềm MicroSoft Access, kết hợp với sự học hỏi cộng với sự hướng dẫn của các thầy cô giáo trong khoa, các bạn sinh viên mà em đã hoàn thành được chương trình thực tập tốt nghiệp này.
Trong quá trình làm thực tập, em đã cố gắng nhưng không thể tránh khỏi những thiếu sót, do thời gian có giới hạn và kiến thức còn nhiều hạn chế. Nên em rất mong nhận được sự góp ý của các thầy, các cô và các bạn trong khoa để đề tài của em hoàn thiện hơn và đạt hiệu quả tốt hơn.
Trong thời gian tới em sẽ cố gắng nâng cao các chức năng của chương trình, đồng thời em sẽ cố gắng mở rộng thêm các chức năng mới cho chương trình để chương trình mang tính ứng dụng cao hơn nữa.
Một lần nữa em xin chân thành cảm ơn các thầy cô giáo và các bạn trong khoa đã tạo điều kiện, giúp đỡ em trong đợt làm đồ án tốt nghiệp này, đặc biệt em gửi lời cảm ơn chân thành nhất đến cô giáo, ThS.Nông Thị Hoa là người trực tiếp hướng dẫn em trong suốt quá trình làm đồ án tốt nghiệp này.
TÀI LIỆU THAM KHẢO
[1] Nguyễn Thị Kiều Duyên – 2000 - Lập trình Visual Basic 6.0 - NXB Thống kê.
[2] Nguyễn Đình Tê – 2002 - Tự học lập trình CSDL với Visual Basic 6-NXB Giáo Dục.
[3] Đinh Xuân Lâm – 2001 - Những bài thực hành CSDL Visual Basic 6.0 - NXB Giao thông vân tải.
[4] Nguyễn Thị Ngọc Mai - 2003 - Visual Basic 6.0 & Lập trình CSDL - NXB Thống kê.
[5] Trịnh Anh Toàn – 200 - Hướng dẫn học bằng hình Visual Basic 6.0 - NXB Giáo dục.
[6] Lê Tiến Vượng – 2000 - Nhập môn CSDL quan hệ - NXB Đại học quốc gia HN.
[7] Thạch Bình Cường – 2001 - Phân tích và Thiết kế hệ thống thông tin - NXB thống kê.
[8] Đoàn Thiện Ngân – 2004 - Tự học Microsoft Access 2002 trong 21 ngày - NXB Giáo dục.
NHẬN XÉT CỦA GIÁO VIÊN ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Giáo viên hướng dẫn
NHẬN XÉT CỦA GIÁO VIÊN ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
PHỤ LỤC
Phần phụ lục, em xin trình bày mã nguồn của một số chức năng chính trong chương trình.
1. Module kết nối cơ sở dữ liệu :
Option Explicit
Public Conn As New ADODB.Connection Public rs As New ADODB.Recordset Public strConn As String
Public pathApp As String Sub ConnectData()
pathApp = App.Path pathApp = pathApp & "\"
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & pathApp & "CSDL\QLBSL.MDB;" & _ "Persist Security Info=false"
Conn.Open strConn End Sub
2. Module xử lý tính sản phẩm tồn kho
Public Function TinhTon(dtNgay As Date) As Integer Dim rs Xuat As New ADODB.Recordset
Dim rsNhap As New ADODB.Recordset Dim rsTon As New ADODB.Recordset
Dim strXuat As String, strNhap As String, strTon As String Dim sl As Long, i As Long, dgtb As Double
strNhap = "SELECT chitietnhap.masp,
sum(chitietnhap.sl),first(sanpham.tensp),avg(dg) " & _ "FROM phieunhap, chitietnhap,sanpham " & _
"WHERE (phieunhap.sopn=chitietnhap.sopn) and " & _ " (chitietnhap.masp=sanpham.masp) and " & _
" (phieunhap.ngayn <= #" & dtNgay & "#) " & _ "GROUP BY chitietnhap.masp"
strTon = "select * from ton" rsNhap.Open strNhap, Conn Conn.Execute "delete * from ton" i = 0
While Not rsNhap.EOF sl = rsNhap(1)
dgtb = rsNhap(3)
strXuat = "SELECT chitietxuat.masp, sum(chitietxuat.sl),avg(dg)" & _ "FROM phieuxuat, chitietxuat " & _
"WHERE (phieuxuat.sopx=chitietxuat.sopx) and " & _ " (chitietxuat.masp=" & rsNhap(0) & ") and " & _ " (phieuxuat.ngayx <= #" & dtNgay & "#) " & _ "GROUP BY chitietxuat.masp"
rsXuat.Open strXuat, Conn If Not rsXuat.EOF Then sl = sl - rsXuat(1)
dgtb = Round((dgtb + rsXuat(2)) / 2, 2) End If
If sl > 0 Then i = i + 1
rsTon.Open strTon, Conn, 1, 3 rsTon.AddNew rsTon(0) = dtNgay rsTon(1) = rsNhap(0) rsTon(3) = sl rsTon(2) = dgtb rsTon.Update rsTon.Close End If
rsXuat.Close rsNhap.MoveNext Wend rsNhap.Close TinhTon = i End Function
Public Function TonChiTiet(dtNgay As Date) As Integer Conn.Execute "delete * from tonchitiet"
Dim rsXuat As New ADODB.Recordset Dim rsNhap As New ADODB.Recordset Dim strXuat As String, strNhap As String Dim sl As Integer, i As Integer
strNhap = "select masp,sl,ngayn,dg " & _ "from phieunhap,chitietnhap " & _
"where phieunhap.sopn=chitietnhap.sopn and " & _ " ngayn<=#" & dtNgay & "# " & _
"order by masp" rsNhap.Open strNhap, Conn i = 0
While Not rsNhap.EOF sl = rsNhap(1)
strXuat = "select sl from phieuxuat,chitietxuat " & _ "where phieuxuat.sopx=chitietxuat.sopx and " & _ " chitietxuat.masp=" & rsNhap(0) & " and " & _ " ngayn=#" & rsNhap(2) & "# and " & _
" ngayx<= #" & dtNgay & "#"