Đồ án Acess
Đề tài 1 : Chương trình quản lý xuất nhập cho kho hàng .
Nội dung chính :
Xây dựng cơ sở dững liệuTạo phàn nhập, xuất, xử lý thông tin kho hàngLập truy vấn Query và các báo biểu ReportTạo Menu và Form chínhĐĩa CD chứa chương trình
Mục lục
Giới thiệu chung.Dữ liệu chương trình.
Thông tin chi tiết các bảng (Table) .Relationship ( Mối quan hệ của dữ liệu ).
Xây dựng chương trình.
Cấu trúc chương trình:
Nhập hàng
Thông tin dữ liệu nhập.Các Form và Query chính của phần nhập hàngXuất hàng
Thông tin dữ liệu xuất. Các Form và Query của phần xuất hàng
Hướng dẫn sử dụng chương trình.Kết Luận
Nội Dung chi tiết.
GIỚI THIỆU CHƯƠNG TRÌNH.
Chương trình được xây dựng dựa trên dữ liệu được điều tra của một công ty điên máy. Nhằm quản lý thông tin xuất nhập
DỮ LIỆU CHƯƠNG TRÌNH
Dữ liệu của chương trình được xây dựng dựa trên 11 bảng (Table) bao gồm
1_Hang_hoa : Bảng chứa thông tin về mã hàng hóa va mã nhóm của hàng hóa
+ Mã hàng được quy định bằng kiểu Text trong do hai ki tự đầu là hai kí tự viết tắt của nhóm hàng và là mã chính (Primary key ) của bảng hàng hóa .
VD : Với nhóm hàng điện tử - âm thanh mã hàng : DA0001, DA0002 .v.v.v
+ Mã nhóm hàng được quy định như sau : NH_____ trong do 4 ki tự sau là số của nhóm hàng
VD Nhóm hàng 0001 :Điện tử -Âm thanh có mã nhóm hàng : NH0001
45 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3365 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Chương trình quản lý xuất nhập cho kho hàng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Đồ án Acess
Đề tài 1 : Chương trình quản lý xuất nhập cho kho hàng .
Nội dung chính :
Xây dựng cơ sở dững liệu
Tạo phàn nhập, xuất, xử lý thông tin kho hàng
Lập truy vấn Query và các báo biểu Report
Tạo Menu và Form chính
Đĩa CD chứa chương trình
Mục lục
Giới thiệu chung.
Dữ liệu chương trình.
Thông tin chi tiết các bảng (Table) .
Relationship ( Mối quan hệ của dữ liệu ).
Xây dựng chương trình.
Cấu trúc chương trình:
Nhập hàng
Thông tin dữ liệu nhập.
Các Form và Query chính của phần nhập hàng
Xuất hàng
Thông tin dữ liệu xuất.
Các Form và Query của phần xuất hàng
Hướng dẫn sử dụng chương trình.
Kết Luận
Nội Dung chi tiết.
GIỚI THIỆU CHƯƠNG TRÌNH.
Chương trình được xây dựng dựa trên dữ liệu được điều tra của một công ty điên máy. Nhằm quản lý thông tin xuất nhập
DỮ LIỆU CHƯƠNG TRÌNH
Dữ liệu của chương trình được xây dựng dựa trên 11 bảng (Table) bao gồm
1_Hang_hoa : Bảng chứa thông tin về mã hàng hóa va mã nhóm của hàng hóa
+ Mã hàng được quy định bằng kiểu Text trong do hai ki tự đầu là hai kí tự viết tắt của nhóm hàng và là mã chính (Primary key ) của bảng hàng hóa .
VD : Với nhóm hàng điện tử - âm thanh mã hàng : DA0001, DA0002 .v.v.v
+ Mã nhóm hàng được quy định như sau : NH_____ trong do 4 ki tự sau là số của nhóm hàng
VD Nhóm hàng 0001 :Điện tử -Âm thanh có mã nhóm hàng : NH0001
2_Nhap_hang : (Nhập hàng ) Thông tin về MÃ NHẬP HÀNG ,MÃ KHO HÀNG, GHI CHÚ
+ Mã phiếu nhập hàng được đặt làm khóa chính (Primary key ) và kiểu dữ liệu là kiểu Text và co 4 kí tự.
+ Mã kho hàng và ghi chú co kieu dữ liệu Text
3_Xuat_kho : (Xuat kho) Thông tin về mã xuất kho mã kho xuất hàng và ghi chú khi xuất.
+ Mã phiếu xuất được đặt làm khóa chính của bảng xuất kho. Kiểu dữ liệu của trường Mã phiếu xuất là kiểu text .
VD : 00001, 00002 …..
+ Mã kho và ghi chú có kiểu dữ liệu text. Mã kho được quy định giống với mã kho trong table kho hàng. Và được lấy dự liệu từ bảng 5_Kho_hang sẽ được nói rõ ở phần dưới
4_Nha_cung_cap : (Nhà cung cấp) Bảng này bao gồm thông tin chi tiết nhà cung cấp sản phẩm cho công ty bao gồm :
+ Manhacungcap: là khóa chính cua bảng có kiểu dữ liệu Text có giới hạn kí tự la 50 kí tự.
+ Tên nhà cung cấp có kiểu dữ liệu Text co số kí tự giới hạn là 100 kí tự.
+ Website la địa chỉ website của nhà cung cấp sản phẩm, dữ liệu ở dạng Hyperlink.
+ Phone : số điện thoại liên lạc với nhà cung cấp có kiểu dữ liệu là Number
+ Số Fax của nhà cung cấp có kiểu dữ liệu Number.
+ Dia_chi : Địa chỉ nhà cung cấp
5_Kho_hang : (Kho hàng) thông tin chi tiết về các kho hàng của công ti cũng chính là địa chỉ các chi nhánh hiện có của công ty. Thông tin bảng gồm có :
+ Makho: Mã kho hàng là khóa chính (Primary key) cua table. Có kiểu dữ liệu Text thường là các kí tự số gồm 4 kí tự đã quy định o phần Input Mask.
+ Ten_kho: Tên kho hàng, có kiểu dữ liệu Text số kí tự giới hạn 100 kí tự.
+ Dia_chi : Thông tin về địa điểm chi nhánh của công ty cung chính la đại chỉ kho hàng cua công ty. Số kí tự giới hạn là 250 kí tự.
6_Chi_tiet_san_pham: (Chi tiết về sản phẩm) Thông tin chi tiết về từng sản phẩm trong kho hàng bao gồm :
+ Mahang: Mã hàng hóa được đặt làm khóa chính của Table , kiểu dữ liệu của Mahang a kiểu Text được giới hạn bằng 50 kí tự. và được lấy dữ liệu (Look up) từ bảng 1_Hang_hoa
+ Ten_hang: tên mặt hàng được quy định là kiểu dữ liệu Text, được giới hạn bằng 100 kí tự.
+ Mo_ta_san_pham : (Mô tả sản phẩm) Phần này để mô tả chung về đặc điểm của hàng hóa trong kho. Dữ liệu là kiểu Text co số kí tự giới hạn là 250 kí tự.
+ Manhacungcap : (Mã nhà cung cấp) được lấy dữ liệu từ bảng 4_Nha_cung_cap.
7_Chi_tiet_phieu_nhap: (Chi tiết phiếu nhập) Thông tin chi tiết về hàng hóa được nhập vào kho hàng. Thông tin của bảng nhập hàng gồm :
+ Mã hàng : được đặt làm khóa chính (Primary key) và có kiểu dữ liệu Text với số kí tự giới hạn la 50 kí tự. Khi muốn nhập hàng thì hàng hóa bắt buộc phải khai báo chi tiết trong kho hàng bởi vậy mà thông tin mã hàng đươc lấy (Look up) từ bảng 6_Chi_tiet_san_pham .
+ MPN : Mã phiếu nhập được sử dụng kiểu dữ liệu Text với chiều dài kí tự là 50.
+ So_luong_nhap : Số lượng nhập có kiểu dữ liệu Number để phục vụ cho việc tính toán sau này.
+ Ngay_nhap : Ngày nhập ( Ngày ghi phiếu nhập ) có kiểu dữ liệu Date/time
+ Ten_nguoi_nhap : Tên người nhập hàng có kieur dữ liệu Text giới hạng bởi 50 kí tự
+ Don_gia: Giá của sản phẩm có kiểu dữ diệu Number để tiện cho viêc tính toán sau này
Để đảm bảo thông tin không bị trùng lặp trong khi ghi phiếu nhập ta thêm trường STT trong Table có kiểu dữ liệu Auto Number và đặt các trường STT ,Mahang làm khóa chính ở đây đặt cả 4 trường STT, Mahang, MPN, Ngay_nhap lam khóa chính để dễ dàng trong việc thiết kế Relationship sau nay.
8_Chi_tiet_phieu_xuat : (Chi Tiết phiếu xuất) thông tin xuất hàng hóa ra khỏi kho hàng, do thông tin mang tính đối xứng lên chi tiết phiếu xuất truong tự như chi tiết phiếu nhập trong đo
+ MPX (mã phiếu xuất) có kiểu Text giới hạn bàng 50 kí tự.
+ Ngay_xuat : ngay ghi phiếu xuất
+ MHD : ( Mã hóa đơn ) trướn khi xuất hàng ta cần tạo hóa đơn tại bảng 9 . MHD được lấy dữ liệu (Look up ) từ Table 9_Hoa_don
+ Gia_ban : Có kiểu dữ liệu Number.
9_Hoa_don : (Hóa đơn) Thông tin chi tiết về hóa đơn xuất hàng . Thông tin gồm : + MHD : Mã hóa đơn mã hóa đơn có kiểu Text được quy dịnh chi tiết trong phần Input Mask : 0000
+ Ten_nguoi_lap : Tên người nhập hóa đơn có kiểu dữ liệu Text được giới hạn bàng 50 kí tự.
Hangtrongkho :(Hàng trong kho) thông tin hàng hóa trong kho. Thông tin của bảng được lấy từ thông tin nhâp hàng (bao gốm Mã hàng hóa nhập tên hàng, tên nhóm hàng , số lượng nhập, kho hàng chứa sản phẩm địa chỉ của kho, tên nhà cung cấp … vv) và hàng hóa lấy từ xuất hàng : nguyên tắc lấy dữ liệu là số lượng hàng nhập mang dấu + (Nhập thêm vào ) , còn sản phẩm xuất kho co số lượng – (bớt hàng)
+ Tất cả thông tin nhập xuất đều có trong bảng. Nó là nơi lưu dữ toàn bộ dữ liệu ban đầu chưa xử lý của kho. Dữ liệu được Update bàng query Append từ thông tin hàng nhập kho.
+ Hai bảng Hangtrongkho và Hangtrongkho2 là hai bảng hoàn toàn độc lâp được tạo nhằm xử lý thông tin kho hàng một cách chính xác.
RelationShip : (mối quan hệ)
XÂY DƯNG CHƯƠNG TRÌNH.
Nhập hàng:
Thông tin dữ liệu nhập.
Thông tin hàng hóa nhập kho được lấy từ các bảng 6_Chi tiết sản phẩm, 4_chi tiết nhà cung cấp, 1_Hang_hoa, 10_Nhomhang, 5_Kho_hang, 2_Nhap_hang, 7_Chi_tiet_phieu_nhap.
Quy tắc nhập hàng.
Trước khi nhập hàng vào kho hàng hóa phải được khai báo đầy đủ thông tin. Thông tin này được lưu trong các Table sẽ được nói chi tiết trong phần này còn cách thức nhập dữ liệu được xây dựng trên Form được nói chi tiết ở phần sau.
+ Thông tin về nhà cung cấp:
Thông tin nhà cung cấp sản phẩm được thể hiện đầy đủ trong 4_Chi_tiet_nha_cung_cap (Table)
Với những sản phẩm do nhà cung cấp mới cung cấp ta cần điền đầy đủ thông tin nhà cung cấp trong Table 4_Chi_tiet_nha_cung_cap để thêm nhà cung cấp mới.
+ Thông tin chi tiết của sản phẩm được thể hiện trong bảng 6_Chi_tiet_san_pham. Trước khi nhập hàng, hàng hóa cần được điền đầy đủ thông tin trong table này , thông tin hàng hóa trong bảng này sẽ là dữ liệu để bạn ghi phiếu nhập hàng.
+ Khai báo đầy đủ thông tin về nhóm hàng sẽ nhập trong 1_Hang_hoa (Table) Nếu đó là nhóm hàng mới thi trước khi gán nhóm hàng trong table 1_Hang_hoa ta cần phải tạo nhóm hàng mới đó trong Table 10_nhom_hang. 10_Nhom_hang la chi tiết về nhóm hàng cần nhập
+ Khai báo thông tin nhập hàng thông tin nhập hàng bao gồm tên kho và địa chỉ kho (các chi nhánh của công ty) và những ghi chú chung của người nhập hàng. Thông tin kho hàng được khai báo đầy đủ thông tin trong bảng 5_kho_hang . nếu thêm kho bạn cần điền đầy đủ thông tin trong table 5_kho_hang truoc khi khai báo trong table 3_Nhap_hang
+ Thông tin chi tiết nhập hàng sẽ được ghi trong table 7_Chi_tiet_phieu_nhap nội dung của Table chủ yếu được Look up từ các bảng chi tiết mà ta đã khai báo o trước. Việc khai báo trong Table 7_Chi_tiet_phieu_nhap là bước quyết định hàng hóa nào được nhập kho , thông tin về ngày tháng nhập số lượng .v.v.v
Form chính của chương trình .
Cấu trúc Form chính:
Định dạng của Form
Single forms
Caption : Chuong trinh nhap cuat hang cua cong ti dien may –SV Pham Minh Tien
Scroll bars : Neither
Record Selectors : No
Navigation buttons : No
Auto Resize : No
Auto Center : No
Dividing Line : Yes
Border Style : Thin
Min max buttons : Both Enabled
Form chính được chia làm hai phần chính bao gồm phần bên trái là thông tin sản phẩm trong kho hàng, tại đây bạn có thể thấy đầy đủ thông tin về các sản phẩm hiện có trong kho, các sản phẩm được chia theo nhóm sản phẩm mỗi nhóm sản phẩm là 1 trang của Tab control:
Nhóm 1 : các mặt hàng điện tử - âm thanh
Như các loại ti vi loa đài …
Nhóm 2: Các mặt hàng điện lạnh
Tủ lạnh , điều hòa …
Nhóm 3 : Các mặt hàng gia dụng
Bàn ghế cao cấp, giường tủ ….
Nhóm 4 : Các mặt hàng Laptop
Nhóm 5 : Các mặt hàng về máy tính để bàn.
Nhóm 6 : Các mặt hàng thiết bị văn phòng
Máy Photocopy, máy in, máy fax …
Nhóm 7 : Điện thoại
Nhóm 8: Thiết bị kĩ thuật số.
Máy quay, máy ảnh …
Hỗ trợ: Thông tin về chương trình và thông tin hỗ trợ
Mỗi trang Tab control được thiết kế như sau
Trên tab control được đạt một form conđược đặt ở định dạng Continuous Forms và dữ liệu của form được lấy từ query, query nay cho ta thông tin chi tiết về sản phẩm trong nhóm hàng đó
VD voi nhóm hàng 1:
Query 1_thong_tin_hang_dien_tu_am_thanh
Bạn chú ý tại phần Criteria trong cột Ten_nhom_hang bang điền điều kiện là tên nhóm hàng mà bạn cần hiển thị tại tab đó.
Với các tab kế tiếp bạn làm tương tự.
Các phím chức năng chính của chương trình nằm bên cạnh phía bên phải.
Nhập hàng vào kho
Gọi form nhập hàng vào kho. Nút được lập trình bằng macro Open_form_nhap_hang
Form nhập hàng vào kho sẽ được nói chi tiết trong phần nhập hàng vào kho.
Xuất hàng
Gọi Form xuất hàng bằng macro Mo_F_Xuatkho
Form xuất hàng khỏi kho sẽ được nói chi tiết trong mục xuất hàng
Kho hàng
Gọi Form Nhap kho hang bằng Macro quanlykhohang:
Thông tin khách hàng
Mở Form thông tin khách hàng bằng Macro Mo_form_thong_tin_khach_hang
Form thông tin khách hàng được nói chi tiết trong phần nhập hàng, mục thông tin Form và query.
Thông kê kho hàng
Mở form Chuyển kho bằng Macro mo_F_chuyenkho
Form thống kê theo kho.
Thông tin sản phẩm trong kho sẽ được thống kê chi tiết trong Form này
Tạo nhóm hàng
Mở form Tạo nhóm hàng bằng macro như bên
Form Tạo mã hàng và thêm nhóm hàng được thể hiện chi tiết ở bên dưới trong mục chi tiết các Form và Query.
Update Lại giá
Udate lại giá khi giá sản phẩm thay đổi những mặt hàng trong kho cần được các mặt hàng trong kho cần được update lại.
Gọi Form update bằng macro như bên.
Form Update lại giá
Tại đây bạn có thể sửa lại giá của sản phẩm bằng chức năng update giá.
+ Chức năng update giá được thực hiện thông qua một query Update giá:
Private Sub Command14_Click()
On Error GoTo Err_Command14_Click
Dim stDocName As String
stDocName = "Updatelaigia" ‘ Gán tên Query update giá
DoCmd.OpenQuery stDocName, acNormal, acEdit
Me.List1.Requery
Me.Requery
Exit_Command14_Click:
Exit Sub
Err_Command14_Click:
MsgBox Err.Description
Resume Exit_Command14_Click
End Sub
Báo giá
Thông tin về giá cả các sản phẩm trong kho hàng, được thể hiện trong Form báo giá.
Form báo giá:
Print.
Help
Close
Thu nhỏ
Thoát khỏi chương trình.
Các Form và Query chính của phần nhập hàng
Form NHAPHANGVAOKHO.
Định dạng form
Caption : Nhập hàng vào kho
Scroll bars : Neither
Record Selectors : No
Navigation buttons : No
Auto Resize : No
Auto Center : No
Dividing Line : Yes
Border Style : Thin
Min max buttons : Both Enabled
Form NHAPHANGVAOKHO là form chính để nhập hàng vào kho nó bao gồm đầy đủ thông tin hàng hóa cần nhập.
+ Thông tin chi tiết phiếu nhập:
Tại khu vực thông tin chi tiết phiếu nhập nó thể hiện đầy đủ thông tin về các sản phẩm sẽ nhập vào kho sau khi bạn Update .
+ Thông tin kho hàng :
Thể hiện thông tin về hàng hóa trong kho hiện có của kho hàng
+ Thông tin chi tiết về sản phẩm
+ Thông tin nhà cung cấp
Thiết kế Form:
Form gồm các nút chức năng :
Ghi phiếu hàng
Code:
On Error GoTo Err_Command174_Click
DoCmd.GoToRecord , , acNewRec
Call LUU
‘ LUU là một Module với chức năng lưu thông tin của table khi gọi (Call)
Me.List134.Requery
Me.Requery
DoCmd.GoToRecord , , acNewRec
Exit_Command174_Click:
Exit Sub
Err_Command174_Click:
MsgBox Err.Description
Resume Exit_Command174_Click
Sau khi click button hàng hóa vừa nhập sẽ được cập nhật vào phiếu nhập hàng bạn có thể thấy trên thông tin phiếu nhập hàng bên dưới.
In hóa đơn
Chức năng của nút là gọi Form thông tin hóa đơn để in hóa đơn. Nó được thực hiện nhờ Macro
Xóa mặt hàng trong phiếu hàng
Code :
Private Sub Command175_Click()
DoCmd.OpenQuery "Xoahangtrongchitietnhaphang", acViewNormal, acEdit
Me.List134.Requery
Me.Requery
End Sub
Quy định nhóm hàng
Mở form Tạo mã hàng và gắn nhóm hàng. Được lập trình bằng macro:
Phiếu nhập
Mở Form phiếu nhập . Được lập trình bằng Macro:
Nhập chi tiết hàng hóa
Mở Form chi tiết hàng hóa bằng Macro:
Nhập chi tiết nhà cung cấp
Mở form chi tiết nhà cung cấp:
Update
Cập nhật hàng hóa trong phiếu nhập vào kho hang
Code:
Private Sub Command203_Click()
On Error GoTo Err_Command203_Click
Dim stDocName As String
‘ Gọi Query Append khohang để lấy thông tin hàng nhập khò vào trong kho hàng.
stDocName = "Appendkhohang"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Dim stDocName3 As String
‘ Gọi query Make table để tạo ra bảng thông tin hàng hóa sau khi nhập nhằm cập nhật lại hàng hóa trong kho.
stDocName3 = "Updatelaikhohang2saukhinhaphang"
DoCmd.OpenQuery stDocName3, acNormal, acEdit
Me.List207.Requery
Me.Requery
‘ Cập nhật thông tin trong kho lên list thông tin kho hàng ở Form nhập hàng vào kho.
Exit_Command203_Click:
Exit Sub
Err_Command203_Click:
MsgBox Err.Description ‘ thông báo lỗi của hệ thống
Resume Exit_Command203_Click
End Sub
Hướng dẫn
Mở Form hướng dẫn bằng Macro : Openformhotrotunhaphang
Trở lại
Nút trở lại được lập trình dựa trên thư viện của chương trình.
Form Tạo mã hàng và gắn nhóm hàng cho sản phẩm.
Trước khi nhập hàng vào kho ta cần khai báo đầy đủ thông tin về nhóm hàng.
Form Tạo mã hàng và gán nhóm hàng gồm hai phần chính : Vùng điền thông tin và phần thể hiện thông tin
Tại phần thể hiên thông tin, thông tin được thể hiện dựa trên các List được lập trình truyền dữ liệu về Mahang- NhomHang và List thông tin nhóm hàng.
+ Để tạo một mặt hàng với nhóm hàng đã có bạn thực hiện như sau:
Bước 1 : Bạn hãy điền mã hàng vào ô mã hàng sau đó chọn nhóm hàng nhóm hàng thường được tạo trước đó và sẽ được nói rõ trong phần 1.3.7.
Bước 2 : Sau khi đã điền đầy đủ thông tin Mã hàng – Nhóm hàng bạn hãy Click vào nút gán nhóm hàng Mã hàng vừa tạo đã có nhóm hàng.
Form có kiểu dữ liệu Single Form
Caption : Tạo mã hàng và gắn nhóm hàng
Scroll bars : Neither
Record Selectors : No
Navigation buttons : No
Auto Resize : No
Auto Center : No
Dividing Line : Yes
Border Style : Thin
Min max buttons : Both Enabled
Code chương trình :
Option Compare Database
‘ Tạo dòng chũ chạy trên form voi nội dung như bên dưới
Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , , acNewRec
Label6.Caption = " Quy dinh nhóm hàng cho mã hàng moi lap !" & Space(3)
Me.TimerInterval = 200
End Sub
Private Sub Form_Timer()
Dim X, Y As String
X = Left(Label6.Caption, 1)
Y = Right(Label6.Caption, Len(Label6.Caption) - 1)
Label6.Caption = Y + X
End Sub
‘ Truyền thông tin cho list Hàng đã tạo và gắn nhóm hàng
Private Sub List17_AfterUpdate()
Me.RecordsetClone.FindFirst "Mahang='" & Me!List17 & "'"
Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub
‘Xóa mặt hàng dã tạo lỗi.
Private Sub Command24_Click()
On Error GoTo Err_Command24_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Call LUU ‘ Gọi chương trình LUU đã được tạo trong Module2
Me.List17.Requery
Me.Requery ‘ Cập nhật thông tin trên list thông tin nhóm hàng bên cạnh .
DoCmd.GoToRecord , , acNewRec
Exit_Command24_Click:
Exit Sub
Err_Command24_Click:
MsgBox Err.Description
Resume Exit_Command24_Click
End Sub
‘Gán nhóm hàng
Private Sub Command26_Click()
On Error GoTo Err_Command26_Click
Me.List17.Requery
Me.Requery ‘ Cập nhật thông tin nhóm hàng bên list bên cạnh
DoCmd.GoToRecord , , acNewRec ‘ Đưa list về cuối
Exit_Command26_Click:
Exit Sub
Err_Command26_Click:
MsgBox "Ma hang da ton tai ban hay chon lai ma hang " ‘ Thông báo lỗi
Resume Exit_Command26_Click
End Sub
Nút Thêm nhóm hàng được lập trình bằng Macro để Open Form Thêm nhóm hàng.
Xóa Nhóm hàng
Private Sub Command24_Click()
On Error GoTo Err_Command24_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Call LUU ‘ Gọi chương trình LUU được tạo trong Module 2
Me.List17.Requery
Me.Requery ‘ Cập nhật thông tin tại list thông báo
DoCmd.GoToRecord , , acNewRec
Exit_Command24_Click:
Exit Sub
Err_Command24_Click:
MsgBox Err.Description
Resume Exit_Command24_Click
Form Phiếu nhập hàng.
Sau khi đã tạo mã hàng gán nhóm hàng bạn hãy tạo phiếu nhập hàng.
Định dạng Form:
Caption : Phiếu nhập hàng
Scroll bars : Neither
Record Selectors : No
Navigation buttons : No
Auto Resize : No
Auto Center : No
Dividing Line : Yes
Border Style : Thin
Min max buttons : Both Enabled
Phiếu nhập hàng gồm 3 phần :
Phần 1 : Phần nhập thông tin của phiếu nhập hàng, bao gồm thông tin mã phiếu , mã kho, ghi chú.
Phần 2 : Thông tin kho hàng .Tại khu vực này cho ta đầy đủ thông tin về các kho hàng hiện có của công ti bao gồm Mã kho , Tên kho hàng , Địa chỉ kho hàng
Phần 3 : Thông tin phiếu nhập hàng. Tại khu vực này có đày đủ thông tin về phiếu nhập hàng vừa tạo cũng như phiếu nhập hàng đã được tạo từ trước đấy. Bao gồm thông tin về mã phiếu, mã kho, Ghi chú nhập.
Chú ý mỗi phiếu nhập có một mã duy nhất nếu bạn tạo một phiếu trùng mã chương trình sẽ báo nỗi
Form có kiểu dữ liệu Single Form
Caption : Phiếu nhập hàng
Scroll bars : Neither
Record Selectors : No
Navigation buttons : No
Auto Resize : No
Auto Center : No
Dividing Line : Yes
Border Style : Thin
Min max buttons : Both Enabled
Code của Form:
Option Compare Database
‘ Tạo phiếu nhập hàng
Private Sub Command21_Click()
On Error GoTo Err_Command21_Click
Call LUU
Me.List15.Requery
Me.Requery
DoCmd.GoToRecord , , acNewRec
Exit_Command21_Click:
Exit Sub
Err_Command21_Click:
MsgBox "Ma phieu nhap da ton tai hoac ma kho khong dung ban hai chon lai MPN , Ma kho cho phu hop. "
Resume Exit_Command21_Click
End Sub
Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , , acNewRec ‘ Đưa danh sách về cuối
Label24.Caption = Date ‘ Tạo lich ngày tháng
Label25.Caption = Time ‘ Tạo đồng hồ báo giờ
End Sub
‘ Tạo liên kết giữa Form và List
Private Sub List15_AfterUpdate()
Me.RecordsetClone.FindFirst "MPN='" & Me!List15 & "'"
Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub
‘ Xóa phiếu nhập bị nỗi
Private Sub Command27_Click()
On Error GoTo Err_Command27_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Call LUU ‘ Gọi Thủ tục LUU trong Module
Me.List15.Requery ‘ Cập nhật dữ liệu trên list
Me.Requery
Exit_Command27_Click:
Exit Sub
Err_Command27_Click:
MsgBox Err.Description ‘ Thông báo khi có nỗi bạn có thể sửa ở đây
Resume Exit_Command27_Click
End Sub
Các nút thêm kho hàng (Gọi form kho hàng) và “trở lại” được thực hiện bàng Macro .Việc tạo Macro la hết sức đơn giản đã được nói trong cá phần trước.
Form Chi tiết sản phẩm
Form thông tin sản phẩm
Định dạng Form
Caption : Chi tiết hàng hóa
Scroll bars : Neither
Record Selectors : No
Navigation buttons : No
Auto Resize : No
Auto Center : No
Dividing Line : Yes
Border Style : Thin
Min max buttons : Both Enabled
Thông tin chi tiết về sản phẩm bao gồm thông tin mã hàng tên mặt hàng, mô tả sản phẩm , và thông tin nhà cung cấp được thể hiện chi tiết ở Form thông tin chi tiết hàng hóa.
Cấu trúc Form:
Phầm nhập thông tin cho sản phẩm: Góc trên bên trái .
Tại đây bạn nhập đầy đu thông tin của sản phẩm : Mã hàng , Tên hàng ….
Phần chi tiết sản phẩm trong kho: Góc dưới bên trái
Tại list này có đầy đủ thông tin về mặt hàng có trong kho : Mahang, ten hang, ghi chu, mã nhà cung cấp.
Phần chi tiết nhà cung cấp : List bên phải.
Thông tin chi tiết về nhà cung cấp được thể hiện rõ tại bảng này bao gồm :mã nhà cung cấp, tên nhà cung cấp , website , Phone, fax, Dịa chỉ.
Để điền thông tin chi tiết của sản phẩm bạn cần thực hiện các bước như sau:
Bước 1 : chọn mã sản phẩm.
Bước 2 : Điền thông tin tên mặt hàng.
Bước 3 : Mô tả sản phẩm
Bước 4 : Chọn nhà cung cấp sản phẩm
Cuối cùng nhấn thêm sản phẩm , sản phẩm sẽ được thêm vào hàng nhập kho. Thông tin hàng nhập trong kho sẽ được hiển thị xuốn dưới.
List hiển thị thông tin đã được nói ỏ Form trên việc lập trình truyền thông tin cho list là tương tự nhau
Code thêm :
Private Sub Command12_Click()
On Error GoTo Err_Command12_Click
Call LUU ‘ Gọi chương trình luu được lập trình trong Module2
Me.List5.Requery
Me.Requery ‘ Cập nhật thông tin trên list
DoCmd.GoToRecord , , acNewRec
Exit_Command12_Click:
Exit Sub
Err_Command12_Click:
MsgBox Err.Description ‘ Thông báo lỗi
Resume Exit_Command12_Click
End Sub
Form Thông tin nhà cung cấp
Thông tin nhà cung cấp được thể hiện đầy đủ trong Form này . Khi một mặt hàng mới nhập kho bạn cần tạo mã hàng, gán nhóm hàng và điền đầy đủ thông tin về nhà cung cấp.
Thông tin nà cung caapsbao gồm : Mã nhà cung cấp, Tên nhà cung cấp, Website, Phone, Fax, Địa chỉ. Các thông tin nhà cung cấp được thê hiện đầy đủ bên cạnh như hình.
Định dạng form:
Caption : Nhập thông tin nhà cung cấp
Scroll bars : Neither
Record Selectors : No
Navigation buttons : No
Auto Resize : No
Auto Center : No
Dividing Line : Yes
Border Style : Thin
Min max buttons : Both Enabled
Thêm nhà cung cấp:
+ Điền đầy đủ thông tin nhà cung cấp.
+ Nhập thông tin nhà cung cấp bằng cách click vào nút nhập.
Xuất thông tin nhà cung cấp:
Tại Form bạn có thể xuất ra thông tin nhà cung cấp tại nút chức năng bên dưới tại đó nó sẽ gọi Form In thông tin nhà cung cấp sẽ được nói rõ sau. Nút này được lập trình bàng Macro.
Code của form:
Option Compare Database
Private Sub Command10_Click()
Call LUU
Me.List28.Requery
Me.Requery
DoCmd.GoToRecord , , acNewRec
End Sub
‘Tạo dòng chữ chạy
Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , , acNewRec
Label16.Caption = " Chuong trinh duoc thiet ke boi Pham Minh Tien sinh vien K53-TH3 khoa cong nghe thong tin Dai hoc xay dung - 55 Giai Phong" & Space(3)
Label18.Caption = " Ban hay dien thong tin nha cung cap san pham "
Me.TimerInterval = 200
End Sub
Private Sub Form_Timer()
Dim X, Y As String
X = Left(Label16.Caption, 1)
Y = Right(Label16.Caption, Len(Label16.Caption) - 1)
Label16.Caption = Y + X
X = Left(Label18.Caption, 1)
Y = Right(Label18.Caption, Len(Label18.Caption) - 1)
Label18.Caption = Y + X
End Sub
‘ Truyền thông tin từ Form vào List
Private Sub List28_AfterUpdate()
Me.RecordsetClone.FindFirst "Manhacungcap='" & Me!List28 & "'"
Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub
‘Thực thi chương trình
Private Sub Command37_Click()
On Error GoTo Err_Command37_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Call LUU
Me.List28.Requery ‘ Cập nhật List
Me.Requery ‘ Cập nhật List
DoCmd.GoToRecord , , acNewRec ‘ Đưa table về cuối
Exit_Command37_Click:
Exit Sub
Err_Command37_Click:
MsgBox "Xin loi he thong dang nang cap" ‘Thông báo khi có lỗi
Resume Exit_Command37_Click
End Sub
Form In thông tin nhà cung cấp
Cấu trúc form gồm thông tin nhà cung cấp và phần tìm kiếm theo tên nhà cung cấp . Tìm kiếm được thực hiện bàng viêc click vào nhũng chữ cái bắt đầu của nhà cung cấp , khi đó những nhà cung cấp có cùng chữ cái đầu sẽ được liệt kê trên list thông tin nhà cung cấp.
Form được thiết kế đơn giản ở dạng Continuous Form
Caption : thông tin nhà cung cấp sản phẩm
Record Selectors : No
Navigation buttons : No
Dividing Line : Yes
Border Style : Thin
Nút tìm kiếm A, B, C …. Được tạo bàng các Toggle button để được các giá trị True False
Đê tạo chức năng tìm kiếm theo chữ cái đàu tiên bạn tạo Form như hình vẽ
Sau đó tại Group Toggle button ban chon properties (kich đúp chuột) vào Group Toggle button hiện ra thông tin như hình .
Tai phần After Update ta thực hiên tạo một Macro như sau:
Macro
Tiếp theo tại mục Properties cua Form ban điền trong mục Filter như sau : [Ten_nha_cung_cap] Like "A*"
Các định dạng của Form đã được nói trên các Form trước .
Code :
Nút Sprint:
Private Sub Command95_Click()
DoCmd.PrintOut acPages, , , acMedium
Exit_Command95_Click:
Exit Sub
Err_Command95_Click:
Const conErrDoCmdCancelled = 2501
If (Err = conErrDoCmdCancelled) Then
Resume Exit_Command95_Click
Else
MsgBox Err.Description
Resume Exit_Command95_Click
End If
End Sub
‘ Tạo mục Open Form bạn nhập code sau:
‘ Khai báo cho nhan 180
Private Sub Form_Open(Cancel As Integer)
Label180.Caption = " * Chuong trinh duoc thiet ke boi Pham Minh Tien sinh vien K53-TH3 khoa cong nghe thong tin Dai hoc xay dung - 55 Giai Phong " & Space(50) & " * Thong tin chi tiet lien he theo dia chi gmail : minhtienpro01@gmail.com " & Space(20)
Me.TimerInterval = 200
End Sub
‘Tạo chữ chạy trên Form
Private Sub Form_Timer()
Dim X, Y As String
X = Left(Label180.Caption, 1)
Y = Right(Label180.Caption, Len(Label180.Caption) - 1)
Label180.Caption = Y + X
End Sub
Form Nhóm hàng
Form nhóm hàng trong kho quản lý thông tin các nhóm mặt hàng trong kho
Cấu trúc Form:
Định dạng Form
Caption : Thêm nhóm hàng kinh doanh
Scroll bars : Neither
Record Selectors : No
Navigation buttons : No
Auto Resize : No
Auto Center : No
Dividing Line : Yes
Border Style : Thin
Min max buttons : Both Enabled
Phần nhập thông tin nhóm bao gồm thông tin mã nhóm , tên nhóm.
Phần thông tin nhóm hàng trong kho được thể hiện chi tiết trên list bên cạnh.
Thêm nhóm hàng:
Private Sub Command9_Click()
On Error GoTo Err_Command9_Click
Call LUU ‘ Gọi trương trình LUU trong module 2
Me.List4.Requery
Me.Requery ‘ Update lai list hiện thị thông tin nhóm bên canh.
DoCmd.GoToRecord , , acNewRec
Exit_Command9_Click:
Exit Sub
Err_Command9_Click:
MsgBox Err.Description
Resume Exit_Command9_Click
End Sub
Xóa nhóm hàng :
Private Sub Command12_Click()
On Error GoTo Err_Command12_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Call LUU
Me.List4.Requery
Me.Requery
Exit_Command12_Click:
Exit Sub
Err_Command12_Click:
MsgBox Err.Description
Resume Exit_Command12_Click
End Sub
Form Phiếu nhập kho.
Thông tin chi tiết về các sản phẩm nhập kho sẽ được thể hiện chi tiết ở phiếu nhập kho:
Cấu trúc của Form: Form có cấu trúc giống một phiếu nhập kho bạn có thể dễ dàng lấy thông tin từ phiếu.
Form được cấu tạo đơn giản bao gồm 1 combo box chọn mã số phiếu nhập kho, khi bạn chọn mã số phiếu nhập kho, thông tin chi tiết về phiếu nhập hàng đó sẽ được thể hiện chi tiết bên dưới .
Thông tin hiển thị được thể hiện Form con với kiểu dữ liệu là Continuous Forms dữ liệu được lấy từ query Thong_tin_hang_nhap_kho
Định dạng Form chính:
Caption : In phieu nhâp
Scroll bars : Neither
Record Selectors : No
Navigation buttons : No
Auto Resize : No
Auto Center : No
Dividing Line : Yes
Border Style : Thin
Min max buttons : Both Enabled
Thông tin vê thời gian được cập nhật dựa trên giờ máy tính của bạn.
Code :
Xem bản in: được thực hiện dựa trên Report “ Phieu_nhap_hang”.
Private Sub Command43_Click()
On Error GoTo Err_Command43_Click
‘ Gọi Report Phiếu nhap hang
Dim stDocName As String
DoCmd.OpenReport "Phieu_nhap_hang", acViewDesign, , , acDialog
Exit_Command43_Click:
Exit Sub
Err_Command43_Click:
MsgBox Err.Description
Resume Exit_Command43_Click
End Sub
In phiếu xuất HTML
Private Sub in_html_Click()
On Error GoTo Err_in_html_Click
DoCmd.OutputTo acOutputReport, "Phieu_nhap_hang", acFormatHTML, "PHIEU NHAP HANG.htm", True, "minhtienpro.htm"
Exit_in_html_Click:
Exit Sub
Err_in_html_Click:
Const conErrDoCmdCancelled = 2501
If (Err = conErrDoCmdCancelled) Then
Resume Exit_in_html_Click
Else
MsgBox Err.Description
Resume Exit_in_html_Click
End If
End Sub
Print
Private Sub Command46_Click()
On Error GoTo Err_Command46_Click
Dim stDocName As String
stDocName = "Phieu_nhap_hang"
DoCmd.OpenReport stDocName, acNormal
Exit_Command46_Click:
Exit Sub
Err_Command46_Click:
MsgBox "BAN DA THOAI KHOI CHUONG TRINH IN ."
Resume Exit_Command46_Click
Thoát
Private Sub Command48_Click() ‘Nút thoát
On Error GoTo Err_Command48_Click
DoCmd.Close acForm, "PHIEUNHAPHANG", acSaveYes
Exit_Command48_Click:
Exit Sub
Err_Command48_Click:
MsgBox Err.Description
Resume Exit_Command48_Click
End Sub
Form
Xuất hàng
Thông tin dữ liệu xuất.
Thông tin hàng hoá xuất kho được lấy từ kho hàng nghĩa là những sản phẩm đã nhập kho mới có trong thông tin để xuất kho. Bạn không thể xuất một mặt hàng mà trong kho không có.
Quy tắc xuất hàng.
Cũng như nhập hàng bạn cần điền đầy đủ thông tin của mặt hàng cần xuất: Nhóm mặt hàng, tên mặt hàng , xuất từ kho …
Các bước thực hiện xuất kho :
Bước 1:
Tạo phiếu xuất hàng
Bước 2 :
Các Form và Query của phần xuất hàng
Form chính xuất hàng.
Định dạng của Form
Single forms
Caption : Xuất hàng từ kho.
Scroll bars : Neither
Record Selectors : No
Navigation buttons : No
Auto Resize : No
Auto Center : No
Dividing Line : Yes
Border Style : Thin
Min max buttons : Both Enabled
Cấu truc:
Form gồm phần thông tin hàng trong phiếu tại đây bạn chọn sản phẩm cần xuất khỏi kho hàng.
Chú ý: Số lượng hàng xuất không giới hạn lên khi xuất cần chú ý đến số lượng hàng hóa trong kho.
-Trường hợp số lượng xuất lớn hơn số lượng hàng trong kho thì số lượng hàng trong kho sẽ bị âm. Bạn cần nhập bù hoặc không đáp ứng đủ nhu cầu của khách hàng
Code chương trình :
Private Sub Command144_Click()
On Error GoTo Err_Command144_Click
Screen.PreviousControl.SetFocus
DoCmd.FindNext
Exit_Command144_Click:
Exit Sub
Err_Command144_Click:
MsgBox Err.Description
Resume Exit_Command144_Click
End Sub
Private Sub Command145_Click()
On Error GoTo Err_Command145_Click
DoCmd.GoToRecord , , acNext
Exit_Command145_Click:
Exit Sub
Err_Command145_Click:
MsgBox Err.Description
Resume Exit_Command145_Click
End Sub
Private Sub Command174_Click() ‘ Nút Xuất hàng
On Error GoTo Err_Command174_Click
DoCmd.GoToRecord , , acNewRec
Call LUU
Me.List219.Requery
Me.Requery
Me.List240.Requery
Me.Requery
DoCmd.GoToRecord , , acNewRec
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
Exit_Command174_Click:
xit Sub
Err_Command174_Click:
MsgBox Err.Description
Resume Exit_Command174_Click
End Sub
‘ Tạo dòng chữ chạy trên Form
Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , , acNewRec
DoCmd.GoToRecord , , acNewRec
Command242.Visible = False
Box244.Visible = False
Label180.Caption = " * Chuong trinh duoc thiet ke boi Pham Minh Tien sinh vien K53-TH3 khoa cong nghe thong tin Dai hoc xay dung - 55 Giai Phong " & Space(50) & " * Thong tin chi tiet lien he theo dia chi gmail : minhtienpro01@gmail.com " & Space(20)
'Thong tin ngay thang
GIO = Hour(Time)
thu = Array("none", " * Chu nhat ", " Thu hai ", " Thu ba ", " Thu tu ", " Thu nam ", " Thu sau ", " Thu bay ")
If GIO >= 0 And GIO <= 10 Then
Txtngay.Caption = " *Cap nhat " & thu(Weekday(Date)) & " ngay " & Day(Date) & " Thang " & Month(Date) & " Nam " & Year(Date) & Space(10) & "Chuc ban co mot ngay lam viec vui ve ." & Space(50)
ElseIf GIO >= 11 And GIO <= 13 Then
Txtngay.Caption = " *Cap nhat " & thu(Weekday(Date)) & " Ngay " & Day(Date) & " Thang " & Month(Date) & " Nam " & Year(Date) & Space(10) & "Chuc ban co mot ngay lam viec vui ve ." & Space(50)
ElseIf GIO > 13 And GIO <= 18 Then
Txtngay.Caption = " *Cap nhat " & thu(Weekday(Date)) & " Ngay " & Day(Date) & " Thang " & Month(Date) & " Nam " & Year(Date) & Space(10) & "Chuc ban co mot ngay lam viec vui ve ." & Space(50)
Else
Txtngay.Caption = " *Cap nhat " & thu(Weekday(Date)) & " Ngay " & Day(Date) & " Thang " & Month(Date) & " Nam " & Year(Date) & Space(10) & "Chuc ban co mot ngay lam viec vui ve ." & Space(50)
End If
Label184.Caption = Time
Label186.Caption = "CTY TNHH MINHTIEN-PRO - ÐIA CHI 403 AN LAO - MY ÐUC -TP HAI PHONG - VIET NAM - ÐIEN THOAI : 01689928138 - EMAIL:
minhtienpro01@yahoo.com" & Space(50)
Me.TimerInterval = 200
End Sub
Private Sub Form_Timer()
X = Left(Label180.Caption, 1)
Y = Right(Label180.Caption, Len(Label180.Caption) - 1)
Label180.Caption = Y + X
X = Left(Label186.Caption, 1)
Y = Right(Label186.Caption, Len(Label186.Caption) - 1)
Label186.Caption = Y + X
X = Left(Txtngay.Caption, 1)
Y = Right(Txtngay.Caption, Len(Txtngay.Caption) - 1)
Txtngay.Caption = Y + X
End Sub
Private Sub List206_AfterUpdate()
Me.RecordsetClone.FindFirst "Manhacungcap='" & Me!List206 & "'"
Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub
Private Sub Option236_AfterUpdate()
Command242.Visible = Me.Option236
Box244.Visible = Me.Option236
End Sub
Private Sub xoa_Click()
DoCmd.OpenQuery "xoamathangtrongxuathang", acViewNormal, acEdit
Me.List219.Requery
Me.Requery
End Sub
Private Sub Command242_Click() ‘ Nút update dữ liệu
On Error GoTo Err_Command242_Click
Mahang.SetFocus
Dim stDocName As String
stDocName = "Appendkhohangkhixuat"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Dim stDocName1 As String
stDocName1 = "Updatelaikhohang2saukhinhaphang"
DoCmd.OpenQuery stDocName1, acNormal, acEdit
Me.List240.Requery
Me.Requery
MsgBox " Ban da hoan thanh qua trinh cap nhat"
Command242.Enabled = False
Exit_Command242_Click:
Exit Sub
Err_Command242_Click:
MsgBox Err.Description
Resume Exit_Command242_Click
End Sub
Private Sub Command247_Click()
On Error GoTo Err_Command247_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
Exit_Command247_Click:
Exit Sub
Err_Command247_Click:
MsgBox Err.Description
Resume Exit_Command247_Click
End Sub
KẾT LUẬN CHUNG.
Chương trình đã đáp ứng được những yêu cầu cơ bản nhất về việc Quản lý kho hàng . Bên cạnh đó chương trình vẫn có thể tiếp tục phát triển thêm về nhiều mặt. Rất mong nhận được thêm các ý kiến đóng góp để có thể phát triển chương trình tốt hơn.
Xin trân trọng cảm ơn thầy .
Các file đính kèm theo tài liệu này:
- Chương trình quản lý xuất nhập cho kho hàng - đồ án Access.docx