Bắt đầu J : = 1 Nhập tên người sử dụng Kiểm tra tên? I<= Kết thúc i: = 1 Nhập mật khẩu Kiểm tra mật
Thông báo mật khẩu i: = i+1
Thoát khỏi chương trình
Vào trang mặc định Thông báo tên
J: = j+1 J<=3 Đ Đ S S Đ S Đ S
Hình.3.11 Thuật toán đăng nhập chương trình 3.3.3.2. Thuật toán thêm mới bản ghi
Bắt đầu
Mở trang mặc định
Mã trống Thêm trang mới
Mã đã tồn tại Đóng trang Nhập mã Tiếp tục Thông báo mã trống Nhập lại Thông báo mã đã tồn tại Đ Đ S S S Đ S
Hình.3.12 .Thuật toán thêm mới bản ghi
3.3.3.3. Thuật toán sửa bản ghi
Bắt đầu
Dữ liệu hợplệ?
Ghi lại thông tin đã sửa
Sửa tiếp?
Kết thúc Đ
S
Hiển thị lỗi Sửa lại?
Đ
S S
Đ
Chọn danh mục cần sửa, nhập các thông tin thay đổi
Hình.3.13. Thuật toán sửa bản ghi
3.3.3.4. Thuật toán xoá bản ghi
Bắt đầu
Hiện thông tin cần xoá Chọn danh mục
cần xoá
Đồng ý xoá?
Xoá bản ghi trong CSDL
Kết thúc S
Hình.3.14 .Thuật toán xoá bản ghi
3.3.3.5. Thuật toán tìm kiếm bản ghi
Hình.3.15. Thuật toán tìm kiếm bản ghi
Nhập điều kiện tìm kiếm
Tồn tại?
Hiện đầy đủ dữ liệu thoả mãn
Kết thúc
Hiện thông báo không
có dữ liệu thoả mãn tìm kiếm?Tiếp tục
Bắt đầu
Đ
S S
3.3.3.6. Thuật toán in báo cáo
Hình.3.16. Thuật toán in báo cáo
Nhập điều kiện báo cáo
Hiện báo cáo
Đồng ý in? In báo cáo Kết thúc S Đ Bắt đầu
3.3.4. Thiết kế giao diệnForm Login Form Login
Để sử dụng chương trình quản lý vật tư, người dùng phải nhập mã người dùng và mật khẩu vào 2 ô Textbox trong Form Login. Sau khi nhập tên và mật khẩu chọn OK để đăng nhập vào chương trình. Nếu người dùng nhập đúng tên và mật khẩu Form Main của chương trình sẽ hiện ra và bắt đầu cho phép
chương trình sẽ thông báo và yêu cầu người dùng nhập lại. Người dùng được phép nhập tối đa 3 lần, nếu không đúng tên và mật khẩu hệ thống sẽ tự thoát.
Form Main ( Giao diện chính của chương trình)
Tại Form Main bao gồm các chức năng của chương trình quản lý vật tư. Người sử dụng muốn khai thác chức năng nào sẽ kích chuột vào menu tương ứng trên thanh thực đơn
Form main bao gồm các chức năng: Hệ thống, Báo cáo, Phat sinh, Trợ giúp, Edit.
Menu Hệ thống
Menu hệ thống bao gồm các chức năng chinh: vào hệ thống, thay đổi mật khẩu, thoát khỏi chương trình. Người dùng muốn sử dụng chức năng nào thì kích chuột vào menu thể hiện chức năng đó.
Form thay đổi mật khẩu
Để thay đổi mật khẩu người dùng cần nhập mã nhân viên, mật khẩu cũ, mật khẩu mới và xác nhận lại mật khẩu mới vào các ô textbox tương ứng trên Form thay đổi mật khẩu. Sau đó chọn OK để đồng ý thay đổi thay đổi mật khẩu hoặc chọn Close để huỷ bỏ và thoát khỏi Form.
Khi người dùng không muốn sử dụng chương trình quản lý vật tư nữa thì có thể kích chuột vào menu thoát khỏi chương chình để đóng toàn bộ chương trình.
Ngoài các chức năng chính như trên thì menu hệ thống còn cung cấp các chức năng tiện ích khác như máy tính, lịch công tác…
c.Menu quản lý phát sinh
Menu này quản lý tất cả các danh mục của chương trình như danh mục khách hàng, danh mục kho, danh mục vật tư hàng hoá, danh mục mã hàng và cho phép cập nhật các phiếu nhập kho, xuất kho cũng như vào số dư vật tư hàng hoá với các thao tác thêm mới, sửa, xoá, tìm hay in phiếu xuất nhập.
Form danh mục vật tư hàng hoá
Form danh mục vật tư hàng hoá cho phép người dùng quản lý và cập nhật vật tư hàng hoá với các nút chức năng chính như:
Thêm: khi muốn thêm mới một vật tư hàng hoá người dùng chỉ cần gõ mã số,
tên vật tư và đơn vị tính vào 3 ô textbox tương ứng trên Form rồi nhấn nút Thêm khi đó chương trình sẽ tự động cập nhật thông tin vào DataGrid phía trên.
Xoá: muốn xoá thông tin về một vật tư nào đó ta chọn khách hàng cần xoá rồi nhấn nút Xoá. Chương trình sẽ đưa ra thông báo “ Bạn có muốn xoá trường này không”, chọn Yes để xoá, chọn No để huỷ bỏ.
Print: muốn in danh sách vật tư hiện có trong cơ sở dữ liệu ta chọn Prỉnt để
in trên màn hình.
Close: để kết thúc làm việc với Form danh mục vật tư ta chọn Close để đóng
Form danh mục khách hàng
Form danh mục khách hàng cho phép người dùng quản lý và cập nhật khách hàng là các nhà cung cấp của công ty với các nút chức năng chính như:
Thêm: khi muốn thêm mới một khách hàng người dùng chỉ cần gõ mã số và
tên khách hàng vào 2 ô textbox tương ứng trên Form rồi nhấn nút Thêm khi đó chương trình sẽ tự động cập nhật thông tin vào DataGrid phía trên.
Xoá: muốn xoá thông tin về một khách hàng nào đó ta chọn khách hàng cần xoá rồi nhấn nút Xoá. Chương trình sẽ đưa ra thông báo “ Bạn có muốn xoá trường này không”, chọn Yes để xoá, chọn No để huỷ bỏ.
Print: muốn in danh sách khách hàng hiện có trong cơ sở dữ liệu ta chọn
Prỉnt để in trên màn hình.
Close: để kết thúc làm việc với Form danh mục khách hàng ta chọn Close để
đống lại Form này và quay trở về Form Main.
Form danh mục kho
Menu này cho phép quản lý các kho vật tư hàng hoá với các chức năng tương tự như trong Form danh mục khách hàng và danh mục vật tư hàng hoá như trên.
Form danh mục mã hàng
Form này cho phép người dùng cập nhật và quản lý các mặt hàng được sản xuất từ các vật tư được nhập kho cho sản xuất tượng tự như các Form danh mục trên.
Form hồ sơ số dư vật tư hàng hoá
Form này cho phép người dùng cập nhật số dư (tồn kho) vật tư hàng hoá khi bắt đầu sử dụng chương trình với các thông tin: mã kho, mã hàng, mã vật tư, số lượng, thành tiền. Các chức năng chính gồm: thêm, xoá thông tin số dư về một loại vật tư nào đó. Muốn kết thúc làm việc với form ta chọn Close để đóng Form.
Form cập nhật phiếu nhập
Form cập nhật phiếu nhập cho phép người dùng cập nhật các thông tin trên phiếu nhập kho với các thông tin
- Số chứng từ : Tự động tăng trong năm
- Ngày PS : Ngày phát sinh chứng từ, bắt buộc phải là ngày trong năm làm việc
- Số hoá đơn : Số hoá đơn mua hàng đính kèm phiếu nhập kho nếu có - Kho hàng : Mã số kho hàng (Bắt buộc phải có)
- Khách hàng : Mã số khách hàng, nhà cung cấp (Bắt buộc phải có) - Họ tên : Tên người giao, nhận vật tư
- Kiểm tra : Tên người kiểm tra nhận hoặc xuất vật tư - Nội dung : nội dung phiếu nhập xuất kho
- Mã hàng : mã hàng hoá sẽ sản xuất từ số vật tư nhập kho. Chương trình sẽ tính số tồn kho vật tư theo từng mã hàng nhập kho.
- Mã sản phẩm : mã hàng hoá sản xuất từ số vật tư xuất kho. - Mã vật tư : mã vật tư nhập xuất kho
- Đơn giá : đơn giá vật tư
- Tỷ giá : sử dụng trong trường hợp đơn giá vật tư là ngoại tệ, theo dõi số thành tiền nhập kho là VND (Mặc định là 1)
- Hợp đồng : số hợp đồng, dùng để thống kê báo cáo số vật tư nhập xuất theo từng hợp đồng sản xuất.
Form cập nhật phiếu hỗ trợ các chức năng chính trong cập nhật cũng như thay đổi thông tin trên phiếu như sau:
- Nhấn nút Phiếu để nhập một phiếu mới, sau khi nhập xong từng mục, chương trình sẽ ghi lại và con trỏ sẽ quay về mục mã hàng để tiếp tục nhập liệu cho một mục mới. Sau khi nhập xong tất cả các mục trong một phiếu vật tư nhấn nút Ngưng để nhập phiếu mới
- Trong quá trình nhập liệu nếu chưa nhấn nút Ghi mà nhấn nút Ngưng thì chương trình sẽ không ghi nhận kết quả nhập liệu vào cơ sơ dữ liệu
- Để nhập bổ sung mục vật tư vào phiếu có sẵn nhấn nút tìm chọn phiếu cần bổ sung mục vật tư, nhấn phím ESC để trở về màn hình nhập liệu. Nhấn nút
Mục để thêm một mục mới vào phiếu vật tư đã có sẵn
- Để sửa mục vật tư có sẵn nhấn nút Tìm chọn phiếu cần sửa, nhấn phím
ESC để trở về màn hình nhập liệu. Chọn mục vật tư cần sửa, Nhấn nút Sửa
để mục vật tư đã có sẵn.
Để xem in phiếu ta chọn phiếu cần in rồi nhấn Print để in phiếu trên màn hình như sau:
Form cập nhật phiếu xuất
Việc cập nhật phiếu xuất kho tương tự như cập nhật phiếu nhập kho cũng với các chức năng hỗ trợ tưong tự như: thêm phiếu mới, sửa thông tin, xoá , tìm, in và thoát khỏi form làm việc như trên.
Để kết thúc làm việc với Form ta chọn Thoát để đóng Form để quay về Form Main tiếp tục khai thác các chức năng khác của hệ thống.
b. Menu Báo cáo
Trong menu báo cáo có các loại báo cáo sau: liệt kê chứng từ xuất nhập kho, sổ chi tiết vật tư hàng hoá,sổ chi tiết nhập xuất tồn kho, báo cáo nhập xuất tồn. Ngoài các loại báo cáo trong menu báo cáo còn hỗ trợ chức năng tra cứu thông tin.
Ngưòi sử dụng sẽ chọn từng loại báo cáo bằng cách kích chuột vào menu báo cáo thể hiện chức năng tương ứng
Form liệt kê chứng từ nhập xuất kho
Form này cho phép người dùng liệt kê chứng từ xuất nhập vật tư theo các tiêu chí khác nhau như theo khách hàng, kho hàng, mã hàng, mã vật tư… Nếu người dùng không chọn tiêu chí nào chương trình sẽ tổng hợp toàn bộ thông tin trên báo cáo.
Form Sổ chi tiết nhập xuất tồn
Form này cho phép in bảng kê chi tiết nhập xuất tồn vật tư theo từng tiêu chí khác nhau: theo khách hàng, mã hàng hay mã vật tư. Nếu không chọn các tiêu chí chương trình sẽ tổng hợp toàn bộ dữ liệu trên báo cáo.
Form báo cáo nhập xuất tồn
Cho phép tổng hợp báo cáo nhập xuất tồn vật tư hàng hoá theo mã hàng hoặc mã vật tư.
Form báo cáo này giúp người dùng hệ thống tổng hợp các báo cáo về tình hình tồn kho theo mã hàng hoặc mã vật tư.
Form Tra cứu
Hệ thống cho phép tìm kiếm thông tin theo 2 điều kiện: tìm kiếm thông tin tồn kho và tìm kiếm chứng từ.
Để tra cứu thông tin tồn kho ta chọn option tồn kho và nhấn nút số liệu để hiện thông tin tìm kiếm được.
Để tra cứu chứng từ ta chon option chứng từ sau đó nhấn nút số liệu để hiện thông tin tìm kiếm
c. Menu Trợ giúp
Bao gồm các chức năng giới thiệu chương trình và hướng dẫn sử dụng
Khi người dùng kích chuột vào chức năng giới thiệu chương trình hoặc hướng dẫn sử dụng các form thông tin sẽ hiện ra.
KẾT LUẬN
Thế giới đang bước vào kỷ nguyên của khoa học công nghệ và chúng ta không thể phủ nhận những thành công của công nghệ thông tin đem lại cho con người. Nhờ tin học mà con người đã bước lên tầm cao mới, bươc sang một nền kinh tế mới - nền kinh tế tri thức.
Trong những năm gần đây việc ứng dụng công nghệ thông tin vào công tác quản lý càng nhiều và là một nhu cầu cấp bách của nền kinh tế hiện nay.Việc quản lý kho hàng hoá vật tư tại Công ty TNHH Quốc Minh hiện nay còn gặp nhiều hạn chế và phức tạp. Nhằm khắc phục được những nhược điểm
đó em chọn đề tài “Xây dựng phần mềm quản lý kho tại công ty TNHH
Quốc Minh”. Chương trình này giải quyết được phần nào khó khăn trong công việc của các nhân viên xuất nhập vật tư, giúp tiết kiệm thời gian, chi phí quản lý cũng như cung cấp các thông tin đúng đắn kịp thời hỗ trợ các quyết định.
Chương trình được xây dựng hoàn toàn trên hướng mở để có thể hoàn thiện nâng cấp trong tương lai. Tuy nhiên đây chưa phải là một phần mềm hoàn chỉnh do còn nhiều hạn chế về sự hiểu biết, về mặt thực tế cũng như vấn đề thời gian.
Cuối cùng em xin chân thành cảm ơn những góp ý, chỉ bảo của cô giáo Trần Thị Song Minh và các cán bộ phòng triển khai Công ty TNHH Quốc Minh đã giúp đỡ em hoàn thành chuyên đề này.
TÀI LIỆU THAM KHẢO
1. TS. Trương Văn Tú – TS. Trần Thị Song Minh Giáo trình hệ thống thông tin quản lý
NXB Thống kê, Hà Nội, 2000 2. Nguyễn Văn Vy
Phân tích và thiết kế các hệ thống thông tin hiện đại NXB Thống kê, Hà Nội, 2003
3. Ths. Trần Công Uẩn Giáo trình cơ sở dữ liệu 1,2 NXB Thống kê, Hà Nội, 2004 4. Phạm Hữu Khang
Ví dụ và bài tập Visual Basic.Net: lập trình cơ sở dữ liệu và Report NXB Lao động xã hội
5. PGS.TS Hàn Viết Thuận Bài giảng công nghệ phần mềm
PHỤ LỤC Một số đoạn code của chương trình Form Đăng nhập hệ thống
Private Sub cmdOK_Click() Unload Me
FrmMain.Show End Sub
Private Sub Form_Load() On Error GoTo ErrHand: txtPassword.Text = "" AdodcPass.Refresh AdodcPass.Recordset.Requery AdodcPass.Recordset.MoveFirst Do Until AdodcPass.Recordset.EOF cmbUsername.AddItem AdodcPass.Recordset.Fields("Username") AdodcPass.Recordset.MoveNext Loop cmbUsername.ListIndex = 0 Exit Sub ErrHand:
MsgBox Err.Description, vbInformation, "Error" End Sub
Private Sub cmdClose_Click() Unload Me
End Sub
Private Sub txtPassword_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
Dim Found As Boolean UName = cmbUsername.Text
If txtPassword.Text = "" Then
MsgBox "Hay nhap mat khau!", vbInformation, "Mat khau sai" txtPassword.SetFocus
Else
AdodcPass.Recordset.MoveFirst
Do Until AdodcPass.Recordset.EOF Or Found
If AdodcPass.Recordset.Fields("Username") = cmbUsername.Text And AdodcPass.Recordset.Fields("Password") = txtPassword.Text Then
Found = True Else
AdodcPass.Recordset.MoveNext End If
Loop
If Found = True Then FrmMain.Show Unload Me Else
MsgBox "Mat khau khong hop le", vbExclamation, "Mat khau sai" txtPassword.Text = ""
End If End If End If End Sub
Form đổi mật khẩu
Private Sub cmdOK_Click() Dim Found As Boolean Dim Change As Boolean Dim Box As VbMsgBoxResult FrmLogin.AdodcPass.Refresh
If cmbUsername.Text = "" Or txtCurrPassword.Text = "" Or txtConfirmPass.Text = "" Or txtNewPass.Text = "" Then
MsgBox "Please fill in all non-optional fields", vbInformation, "Password configuration | Error"
ElseIf txtConfirmPass.Text <> txtNewPass.Text Then
MsgBox "Passwords dont match", vbInformation, "Password configuration | Error" txtNewPass.Text = ""
txtConfirmPass.Text = "" txtNewPass.SetFocus
ElseIf Len(txtNewPass.Text) < 6 Then
MsgBox "Your password should have at least 6 characters" txtNewPass.Text = ""
txtConfirmPass.Text = "" txtNewPass.SetFocus Else
Box = MsgBox("Are you sure?", vbQuestion + vbYesNo, "Change user password") If Box = vbYes Then
FrmLogin.AdodcPass.Refresh
FrmLogin.AdodcPass.Recordset.MoveFirst
Do Until FrmLogin.AdodcPass.Recordset.EOF Or Found
If FrmLogin.AdodcPass.Recordset.Fields("Username") = cmbUsername.Text And FrmLogin.AdodcPass.Recordset.Fields("Password") = txtCurrPassword.Text Then
Found = True Else
FrmLogin.AdodcPass.Recordset.MoveNext End If
Loop
If Found = True Then
FrmLogin.AdodcPass.Refresh
FrmLogin.AdodcPass.Recordset.MoveFirst
Do Until FrmLogin.AdodcPass.Recordset.EOF Or Change
If FrmLogin.AdodcPass.Recordset.Fields("Password") = txtCurrPassword.Text Then
Change = True Else FrmLogin.AdodcPass.Recordset.MoveNext End If Loop Else
MsgBox "Incorrect Old Password ", vbExclamation, "Incorrect Old Password" txtCurrPassword.Text = ""
txtCurrPassword.SetFocus End If
If Change = True Then
MsgBox "Password changed." & vbCrLf & vbCrLf & "Password will take effect next time the application is started.", vbInformation, "Password Status"
FrmLogin.AdodcPass.Recordset.Update Call CleanUp End If FrmLogin.AdodcPass.Refresh End If End If End Sub
Private Sub CleanUp() txtCurrPassword.Text = "" txtNewPass.Text = "" txtConfirmPass.Text = "" End Sub
Private Sub Form_Load() cmbUsername.Clear
FrmLogin.AdodcPass.Recordset.MoveFirst Do Until FrmLogin.AdodcPass.Recordset.EOF
FrmLogin.AdodcPass.Recordset.MoveNext Loop
cmbUsername.ListIndex = 0 End Sub
Private Sub txtconfirmpass_Change()
If txtConfirmPass.Text = txtNewPass.Text Then lblStatus.Caption = "MËt khÈu hîp nhau!" Else
lblStatus.Caption = "MËt khÈu kh«ng hîp nhau!" End If End Sub Form danh mục khách hàng Option Explicit Dim recnum Dim xThem
Private Sub CmdCuoi_Click() On Error GoTo Err_Cuoi_Click If AdodcKH.Recordset.EOF Then
MsgBox "Ban dang o ban ghi cuoi", vbOKOnly, "Thong bao" Else AdodcKH.Recordset.MoveLast End If Exit_Cuoi_Click: Exit Sub Err_Cuoi_Click: MsgBox Err.Description Resume Exit_Cuoi_Click End Sub
On Error GoTo Err_Dau_Click If AdodcKH.Recordset.BOF Then
MsgBox "Ban dang o ban ghi dau tien", vbOKOnly, "Thong bao"