đồ án tốt nghiệp đơn hàng gia công - Pdf 22

 GIỚI THIỆU:
Thực hiện chương trình: Võ Hòa Đồn .
Ngày cập nhật sau cùng: Ngày 26 tháng 10 năm 2004
XYZ là một Công Ty hoạt động theo mô hình phục vụ, được mô tả như sau:
Khách hàng ký các đơn đặt hàng để gia công các sản phẩm nào đó.Nguyên liệu sẽ do khách
hàng cung cấp để sản xuất và khi sản xuất xong thì Công ty sẽ giao sản phẩm được sản xuất cho
khách hàng theo các đơn hàng đã ký. Việc tính lượng tồn nguyên liệu tồn còn lại dựa theo định
mức sản xuất là bao nhiêu, các nguyên liệu nào để cho ra 1 đơn vị sản phẩm.
Quản lý việc thanh tốn (tiền gia công), công nợ khách hàng vàquản lý tồn nguyên liệu mà công
ty còn giữ của khách hàng sau khi đã trừ các nguyên liệu sản xuất và giao các sản phẩm.
Chương trình được viết trên ngôn ngữ Visual Basic, kết nối với Cơ sở dữ liệu Access; cùng với 2
phần mềm Data Widgets để hiển thị dữ liệu lên lưới và Crystal Report 8.5 để lập báo cáo.
Chúng em đã được sự hướng dẫn tận tình của thầy Phạm Ngọc Linh cũng như ý kiến đóng góp
quý báo của các bạn. Tuy nhiên thới gian và kinh nghiệm có hạn nên chương trìng không tránh
khỏi thiếu sót, hạn chế. Rất mong được sự góp ý của quý thầy cô và ý kiến của các bạn.
Thân ái.
Tp HCM ngày 26 tháng 10 năm 2004
Lớp: CV0303S
Nhóm HVTH: VÕ HÒA ĐỒN
TRỊNH CÔNG MINH
ĐỖ KIẾN HÙNG
 Chương trình kết nối trên Cơ sở dữ liệu Access.
Để kết nối với các hệ quản trị cơ sở dữ liệu bằng đối tượng ADO phải dùng chuỗi
chuổi kết nối ( SQLConn ) thông qua trình điều khiển Provider:
SQLConn = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source=
<”đường dẫn.Tên database”> Persist Security Info=False "
Đối tượng Connection:
Dùng để kết nối các hệ quản trị cơ sở dữ liệu, thực thi câc lệnh
SQL(insert, update, delete) thông qua phương thức Execute
Có thể tạo đối tượng connection thông qua nhiều cách:
Dim Conn as new ADODB.Connection

Địa Chỉ :
Điện Thoại :
Ngày kí kết :
Hạn giao :
Sản phẩm ĐVT Số lượng Đơn giá
3. Phiếu giao nhận:
Số Phiếu :
Số ĐĐH :
Khách Hàng :
Địa Chỉ :
Điện Thoại :
Ngày Giao :
Sản phẩm Số lượng Đơn giá
4. Phiếu thanh tốn:
Số TT :
Ngày TT :
Khách Hàng :
Địa Chỉ :
Điện Thoại :
Tiền TT :
5. Tồn nguyên liệu:
Ngày tồn :
Khách Hàng :
Địa Chỉ :
Điện Thoại :
Nguyên liệu Số lượng tồn ĐVT
6. Công nợ:
Ngày CN :
Khách Hàng :
Địa Chỉ :

DienThoai Điện thoại Text
b2) Thực thể đơn đặt hàng:
Thuộc tính Diễn giải Kiểu Ràng buộc
SoDonDatHang Số đơn đặt hàng Text Khố chính
MaKhachHang Mã khách hàng Text Khố ngoại
NgayKiKet Ngày kí kết Date
DienThoai Điện thoại String
b3) Thực thể Chi tiết đơn đặt hàng:
Thuộc tính Diễn giải Kiểu Ràng buộc
SoDonDatHang Số đơn đặt hàng Text Khố chính
SanPham Sản phẩm Text Khố ngoại
SoLuongDatHang SL đặt hàng Number
DonGia Đơn giá Number
HanGia Hạn giao Date()
b4) Thực thể Sản phẩm:
Thuộc tính Diễn giải Kiểu Ràng buộc
SanPham Sản phẩm Text Khố chính
TenSanPham Tên sản phẩm Text
DonViTinh Đơn vị tính Number
DonGia Đơn giá Number
b5) Thực thể Định mức sản xuất:
Thuộc tính Diễn giải Kiểu Ràng buộc
NguyenLieu Nguyên liệu Text Khố ngoại
SanPham Sản phẩm Text Khố ngoại
SoLuongSanXuat Số lượng sản xuất Number
b6) Thực thể công nợ:
Thuộc tính Diễn giải Kiểu Ràng buộc
NgayCongNo Ngày công nợ Date() Khố chính
MaKhachHang Mã khách hàng Text Khố ngoại
TienCongNo Tiền công nợ Number

SoHoaDonNhap Số hố đơn nhập Text Khố chính
MaKhachHang Mã khách hàng Text Khố ngoại
NgayNhap Ngày nhập Date()
b13) Thực thể Chi tiết nguyên liệu:
Thuộc tính Diễn giải Kiểu Ràng buộc
SoHoaDonNhap Số hố đơn nhập Text Khố ngoại
NguyenLieu Nguyên liệu Text Khố ngoại
SoLuong Số lượng Date()
c) Ràng buộc tồn vẹn:
 KHỐ CHÍNH:
R1-01: id(CongNo) = sttCNO
R1-02: id(KhachHang) = MaKhachHang
R1-03: id(DonDatHang) = SoDDH
R1-04: id(ChiTietDonDathang) = sttDDH
R1-05: id(SanPham) = SanPham
R1-06: id(DinhMucSanXuat) = sttSX
R1-07: id(GiaoNhan) = SoPhieu
R1-08: id(ChiTietGiaoNhan) = sttGiaoNhan
R1-09: id(ThanhToan) = SoTT
R1-10: id(Ton) = sttTon
R1-11: id(NhapXuatNguyenLieu) = SoHDN
R1-12: id(ChiTietNguyenLieu) = sttHDN
R1-13: id(NguyenLieu) = NguyenLieu
 RÀNG BUỘC MIỀN GÁI TRỊ:
R2-01: (CTDDH.SoDDH>0) and (CTDDH.SLDH>0) and (CTDDH.DG>0)
R2-02: (SP.DVT> 0 ) and (SP.DG > 0)
R2-03: (DMSX.SLSX > 0)
R2-04: (GN.NgGiao < DDH.NgKK)
R2-05: (CTNL.SL > 0)
R2-06: (NL.DVT > 0)

CK
) của tháng trước.
PHÂN TÍCH THÀNH PHẦN XỬ LÝ CỦA ỨNG DỤNG:
XL1: Cập nhật Nguyên liệu.
XL2: Cập nhật phiếu Nhập nguyên liệu.
XL3: Cập nhật đơn đặt hàng.
XL4: Cập nhật Phiếu giao nhận.
XL5: Cập nhật Phiếu thanh tốn
XL6: Tính Công nợ Khách hàng.
XL7: Tính Tồn Nguyên liệu.
MÔ TẢ CÁC XỬ LÝ:
_ Tên xử lý : XL1:
Chức năng : cập nhật nguyên liệu.
Input : MaNL, NL.
Output : NL.
Qui tắc: NL n được thêm,sữa xố vào NL
_Tên xử lý : XL2:
Chức năng : Cập nhật phiếu nhập nguyên liệu.
Input : SoHDN h, NL n, NXNL, CTNL, NL, KH.
Output : NXNL.
Qui tắc : Số lượng nhập trong tháng t của NL n bằng tổng số lượng của CTNL
trong tháng t có liên quan đến NL n.
_Tên xử lý : XL3:
Chức năng : Cập nhật Đơn đặt hàng .
Input : SDDH, MSP, DDH, CTDDH, KH, SP
Output : DDH.
Qui tắc : Số lượng Sản phẩm Khách hàng đặt trong tháng t bằng tổng số sản
phẩm của CTDDH trong tháng t có liên quan đến sản phẩm đó.
_Tên xử lý : XL4:
Chức năng : Cập nhật phiếu Giao nhận.

+
NHAP
-
XUAT
III. THIẾT KẾ DỮ LIỆU :
1. Sơ đồ Logic dữ liệu:
Hình 2: Sơ đồ Logic dữ liệu của ứng dụng ĐƠN HÀNG GIA CÔNG
2. Từ điển dữ liệu:
MaKhachHang Mã khách hàng
TenKhachHang Ten khách hàng
DiaChi Địa chỉ
DienThoai Điện thoại
SoDonDatHang Số đơn đặt hàng
NgayKiKet Ngày kí kết
SanPham Sản phẩm
TenSanPham Tên sản phẩm
DonViTinh Đơn vị tính
DonGia Đơn giá
SoPhieu Số phiếu
NgayGiao Ngày giao
NgayCongNo Ngày công nợ
TienCongNo Tiền công nợ
NguyenLieu Nguyên liệu
TenNguyenLieu Tên Nguyên liệu
SoThanhToan Số thanh tốn
NgayThanhToan Ngày thanh tốn
TienThanhToan Tiền thanh tốn
SoHoaDonNhap Số hố đơn nhập
NgayNhap Ngày nhập
SoLuongDatHang Số lượng đặt hàng

Khố ngoại Bảng tham chiếu Khố nội
MaKhachHang KhachHang MaKhachHang
3.3) Đơn đặt hàng
 Thuộc tính:
Thuộc tính Kiểu Khóa
SoDonDatHang Text Chính
MaKhachHang Text Ngoại
NgayKiKet Date()
 Chỉ mục:
Chỉ mục Thuộc tính Thứ tự
DONDATHANG_PK SoDonDatHang
MaKhachHang
ASC
DONDATHANG_FK MaKhachHang ASC
 Khố ngoại:
Khố ngoại Bảng tham chiếu Khố nội
MaKhachHang KhachHang MaKhachHang
3.4) Chi tiết Đơn đặt hàng
 Thuộc tính:
Thuộc tính Kiểu Khóa
SoDonDatHang Text Ngoại
SanPham Text Ngoại
SoLuongDatHang Number
DonGia Number
HanGiao Date()
 Chỉ mục:
Chỉ mục Thuộc tính Thứ tự
CTDONDATHANG_PK SoDonDatHang
SanPham
ASC

Chỉ mục Thuộc tính Thứ tự
SANPHAM_PK SanPham ASC
3.7) Định mức sản xuất :
 Thuộc tính:
Thuộc tính Kiểu Khóa
NguyenLieu Text Ngoại
SanPham Text Ngoại
SoLuongSanXuat Number
 Chỉ mục:
Chỉ mục Thuộc tính Thứ tự
DMSX_PK NguyenLieu
SanPham
ASC
DMSX _FK SanPham ASC
 Khố ngoại:
Khố ngoại Bảng tham chiếu Khố nội
NguyenLieu NguyenLieu NguyenLieu
SanPham SanPham SanPham
3.8) Giao Nhận:
 Thuộc tính:
Thuộc tính Kiểu Khóa
SoPhieu Text Chính
SoDonDatHang Text Ngoại
NgayGiao Date()
 Chỉ mục:
Chỉ mục Thuộc tính Thứ tự
GIAONHAN_PK SoPhieu
SoDonDatHang
ASC
GIAONHAN_FK SoDonDatHang ASC

 Thuộc tính:
Thuộc tính Kiểu Khóa
SoThanhToan Text Chính
NgayThanhToan Date()
MaKhachHang Text Ngoại
TienThanhToan Number
 Chỉ mục:
Chỉ mục Thuộc tính Thứ tự
THANHTOAN_PK SoThanhToan
MaKhachHang
ASC
THANHTOAN_FK MaKhachHang ASC
 Khố ngoại:
Khố ngoại Bảng tham chiếu Khố nội
MaKhachHang KhachHang MaKhachHang
3.12) Nhập xuất nguyên liệu :
 Thuộc tính:
Thuộc tính Kiểu Khóa
SoHoaDonNhap Text Chính
MaKhachHang Text Ngoại
NgayNhap Number
 Chỉ mục:
Chỉ mục Thuộc tính Thứ tự
NXNL_PK SoHoaDonNhap
MaKhachHang
ASC
NXNL_FK MaKhachHang ASC
 Khố ngoại:
Khố ngoại Bảng tham chiếu Khố nội
MaKhachHang KhachHang MaKhachHang

R1-13 : id( CHITIETNGUYENLIEU ) = SoHDN, NL
4.2) RÀNG BUỘC VỀ MIỀN GIÁ TRỊ:
R2-01 : (CTDDH.SLDH > 0) and (CTDDH.DG > 0)
R2-02 : (SP.DG > 0)
R2-03 : (DMSX.SLSX > 0)
R2-04 : (CNO.TienCNO > 0)
R2-05 : (CTGN.SL > 0) and (CTGN.DG > 0)
R2-06 : (TToan.TToan > 0)
4.3) KHÓA NGOẠI:
R3-01 : CNO[MaKH] KH[MaKH]
R3-02 : TTOAN[MaKH] KH[MaKH]
R3-03 : TON[MaKH] KH[MaKH]
R3-04 : DDHANG[MaKH] KH[MaKH]
R3-05 : NXNL[MaKH] KH[MaKH]
R3-06 : GNHAN[SoDDH] DDH[SoDDH]
R3-07 : CTDDH[SoDDH] DDH[SoDDH]
R3-08 : CTDDH[MaSP] SPHAM[MaSP]
R3-09 : CTGN[MaSP] SPHAM[MaSP]
R3-10 : DMSX[MaSP] SPHAM[MaSP]
R3-11 : GN[SoPhieu] CTGN[SoPhieu]
R3-12 : DMSX[MaNL] NLIEU[MaNL]
R3-13 : TON[MaNL] NLIEU[MaNL]
R3-14 : CTNL[MaNL] NLIEU[MaNL]
R3-15 : CTNL[SoHDN] NXNL[SoHDN]
IV. THIẾT KẾ ỨNG DỤNG (Các màn hình):
1. Màn hình chính:
H1ình 3: Màn hình chính của ứng dụng.
Danh Mục:
Menu Đặt hàng Khách hàng đặt đơn hàng mới.
Menu Giao nhận Giao hàng cho Khách hàng.

Set SSODatHang.DataSource = Rst
: Nút Mới để thêm Đơn đặt hàng mới, khi nhấn nút Mới thì số DDH sẽ
tự tăng, ta có thể chọn Khách hàng cũ ở textbox MaKhachHang hoặc
điền thông tin mới nếu là Khách hàng mới.
Source code khi nhấn nút mới số DDH sẽ tự tăng:
Private Sub cmdmoi_Click()
txtSDDH.SetFocus
Dim SQLddh As String
SQLddh = "select sodondathang from dondathang "
Set rsDDH = New ADODB.Recordset
rsDDH.CursorLocation = adUseClient
rsDDH.Open SQLddh, Conn, 0, 3
SDDH = Mid(Trim(txtSDDH.Text), 2, 2)
txtSDDH.Text = SDDH & "DDH" & rsDDH.RecordCount + 1
End Sub
: Khi nhấn nút lưu thì sẽ gọi màn hình Đặt hàng mới để nhập thêm thông
tin của sản phẩm mới:
: Lưu dữ liệu mới xuống cơ sở dữ liệu.
Source code Lưu dữ liệu:
Private Sub cmdLuu_Click()
Dim Rs As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
Dim SQL2 As String
Dim SQL3 As String
Dim SQL4 As String
Dim SQL5 As String
Dim SQL6 As String
Dim SQL7 As String
If Trim(frm1DatHang.txtSDDH) = "" Or Trim(Trim(frm1DatHang.cboMKH)) = ""
Or Trim(cboSP) = "" Then

Conn.Execute SQL5
Conn.Execute SQL6
Conn.Execute SQL7
End Sub
: Thốt cửa sổ đơn đặt hàng.
3. Màn hình Giao Nhận:
Hình 5: Màn hình giao nhận sản phẩm cho khách hàng.
Source code lấy dữ liệu lên cbo số phiếu:
Dim sql As String
sql = "select sophieu from giaoNhan "
Set rsSoP = New ADODB.Recordset
rsSoP.Open sql, Conn, adOpenKeyset, adLockOptimistic
Set cboSoPhieu.DataSourceList = rsSoP
cboSoPhieu.DataFieldList = "SoPhieu"
cboSoPhieu.Columns(0).Width = 1200
Source code lấy dữ liệu lên cbo số ĐĐH :
1 Dim sql1 As String
sql1 = "select sodondathang from dondathang"
Set rsSoDDH = New ADODB.Recordset
rsSoDDH.Open sql1, Conn, adOpenKeyset, adLockOptimistic
Set cboSoDDH.DataSourceList = rsSoDDH
cboSoDDH.DataFieldList = "SoDonDathang"
cboSoDDH.Columns(0).Width = 1230
Source code lấy dữ liệu lên lưới:
Dim strSQL As String
Dim Cnn As New ADODB.Connection
strSQL = "select * from SanPham"
Set Rst = New ADODB.Recordset
Rst.CursorLocation = adUseClient
'Conn.Open SQLConn

Trim(SSOGiaoNhan.Columns(0).Text) & "','" &
Trim(SSOGiaoNhan.Columns(2).Text) & "','" &
Trim(SSOGiaoNhan.Columns(3).Text) & "' )
Conn.Execute Str2
Str3 = " update CHITIETGIAONHAN set SOPHIEU='" & Trim(cboSoPhieu) & "',
SANPHAM='" & Trim(SSOGiaoNhan.Columns(0).Text) & "', SOLUONG='" &
Trim(SSOGiaoNhan.Columns(2).Text) & "',DONGIA='" &
Trim(SSOGiaoNhan.Columns(3).Text) & "' "
Conn.Execute Str3
End Sub
: thốt cửa sổ Giao nhận.
4. Màn hình Nhập xuất Nguyên liệu:
Hình 6: Màn hình nhập xuất nguyên liệu.
Source code lấy dữ liệu lên cbo MAKH:
Dim sqlMKH As String
sqlMKH = "Select MaKhachHang from KhachHang order by MaKhachHang asc"
Set rsMKH = New ADODB.Recordset
rsMKH.Open sqlMKH, Conn, adOpenKeyset, adLockOptimistic
Set cboMKH.DataSourceList = rsMKH
cboMKH.DataFieldList = "MaKhachHang"
cboMKH.Columns(0).Width = 1250
Source code lấy dữ liệu lên lưới:
Dim strSQL As String
Dim Cnn As New ADODB.Connection
strSQL = "select * from NGUYENLIEU"
Set Rst = New ADODB.Recordset
Rst.CursorLocation = adUseClient
Cnn.Open SQLConn
Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
SSONXNL.Columns(0).DataField = "nguyenLieu"


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status