Tải bản đầy đủ (.pdf) (43 trang)

Phần mềm quản lý thư viện

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.04 MB, 43 trang )



OBO
OK S
.CO
M

THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

KIL

GIỚI THIỆU:
Thực hiện chương trình: Võ Hòa Đoà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 toá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 ĐOÀN
TRỊNH CÔNG MINH


ĐỖ KIẾN HÙNG



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

Chương trình kết nối trên Cơ sở dữ liệu Access.

KIL
OBO
OKS
.CO
M

Để 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
Thực thi câu lệnh SQL

<Đối tượng connection”>.Execute <”Câu lệnh SQL”>
Ví dụ: Với câu lện SQL:


Str = " insert into GIAONHAN values('" & Trim(cboSoPhieu) & "','" &
Trim(cboSoDDH) & "','" & Trim(txtNgay) & "')"
Conn.Execute Str
Đối tượng Recordset :

Dùng để thực thi lấy mẫu tin từ cơ sở dữ liệu thông qua câu lệnh SQL
Select .

Có thể tạo đối tượng Recordset bằng cách:
Dim Rst as new ADODB. Recordset
Câu lệnh SQL:

strSQL = " select TenkhachHang From KhachHang "
Thực thi câu lệnh SQL

<“Đối tượng Recordset”>.open <”Câu lệnh SQL”>,<”Đối tượng
connection”>



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
ví dụ: Rst.Open strSQL ,Conn

KIL
OBO
OKS
.CO
M

I. MÔ TẢ CÁC PHIẾU:

1. Phiếu nhập nguyên liệu:
Nguyên liệu được Khách Hàng cung cấp sau khi Công ty và khách hàng thoả thuận việc gia
công sản phẩm mà khách hàng yêu cầu.
Số HĐ
:
Khách Hàng :
Đòa Chỉ
:
Điện Thoại :
Ngày Nhập :
Nguyên liệu

Số lượng

ĐVT

ĐVT

Số lượng

Số lượng

Đơn giá

2. Đơn đặt hàng:
Số ĐĐH
:
Khách Hàng :
Đòa Chỉ
:

Điện Thoại :
Ngày kí kết :
Hạn giao
:
Sản phẩm

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

Đơn giá



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

KIL
OBO
OKS
.CO
M


4. Phiếu thanh toá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 :

Số lượng tồn ĐVT

Nguyên liệu

6. Công nợ:
Ngày CN
Khách Hàng
Đòa Chỉ
Điện Thoại
Tiền CN


:
:
:
:
:

7. Thống kê doanh số theo Sản phẩm của từng ĐĐH:
Tháng…….năm 2004
Sản phẩm

Số lượng

Doanh số (tiền thu)

II. PHÂN TÍCH:
PHÂN TÍCH THÀNH PHẦN DỮ LIỆU CỦA ỨNG DỤNG:
1. Sơ đồ quan niệm dữ liệu:




KIL
OBO
OKS
.CO
M

THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

Hình 1: Sơ đồ Quan niệm dữ liệu của ứng dụng ĐƠN HÀNG GIA CÔNG

2. Mô tả dữ liệu:
a) Các loại thực thể:

KhachHang
DonDatHang
ChiTietDonDatHang
SanPham
DinhMucSanXuat
CongNo
GiaoNhan
ChiTietGiaoNhan
NguyenLieu
ThanhToan
Ton

Khách hàng
Đơn đặt hàng
Chi tiết đơn đặt hàng
Sản phẩm
Đònh mức sản xuất
Công nợ
Giao nhận
Chi tiết giao nhận
Nguyên liệu
Thanh toán
Tồn



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

Nhập xuất nguyên liệu
Chi tiết nguyên liệu

KIL
OBO
OKS
.CO
M

NhapXuatNguyenLieu
ChiTietNguyenLieu

b) Mô tả các loại thực thể:
b1) Thực thể Khách hàng:
Thuộc tính
MaKhachHang
TenKhachHang
DiaChi
DienThoai

Diễn giải
Mã khách hàng
Tên khách hàng
Đòa chỉ
Điện thoại

Kiểu
Text
Text
Text

Text

Ràng buộc
Khoá chính

Kiểu
Text
Text
Date
String

Ràng buộc
Khoá chính
Khoá ngoại

Kiểu
Text
Text
Number
Number
Date()

Ràng buộc
Khoá chính
Khoá ngoại

Kiểu
Text
Text
Number

Number

Ràng buộc
Khoá chính

b2) Thực thể đơn đặt hàng:

Thuộc tính
SoDonDatHang
MaKhachHang
NgayKiKet
DienThoai

Diễn giải
Số đơn đặt hàng
Mã khách hàng
Ngày kí kết
Điện thoại

b3) Thực thể Chi tiết đơn đặt hàng:

Thuộc tính
SoDonDatHang
SanPham
SoLuongDatHang
DonGia
HanGia

Diễn giải
Số đơn đặt hàng

Sản phẩm
SL đặt hàng
Đơn giá
Hạn giao

b4) Thực thể Sản phẩm:

Thuộc tính
SanPham
TenSanPham
DonViTinh
DonGia

Diễn giải
Sản phẩm
Tên sản phẩm
Đơn vò tính
Đơn giá

b5) Thực thể Đònh mức sản xuất:



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

Diễn giải
Nguyên liệu
Sản phẩm
Số lượng sản xuất


Kiểu
Text
Text
Number

Ràng buộc
Khoá ngoại
Khoá ngoại

Kiểu
Date()
Text
Number

Ràng buộc
Khoá chính
Khoá ngoại

Kiểu
Text
Text
Number

Ràng buộc
Khoá chính
Khoá ngoại

Kiểu
Text
Text

Number
Number

Ràng buộc
Khoá ngoại
Khoá ngoại

Kiểu
Text
Text
Number

Ràng buộc
Khoá chính

Kiểu
Text
Date()

Ràng buộc
Khoá chính
Khoá ngoại

KIL
OBO
OKS
.CO
M

Thuộc tính

NguyenLieu
SanPham
SoLuongSanXuat

b6) Thực thể công nợ:

Thuộc tính
NgayCongNo
MaKhachHang
TienCongNo

Diễn giải
Ngày công nợ
Mã khách hàng
Tiền công nợ

b7) Thực thể Giao Nhận:

Thuộc tính
SoPhieu
SoDonDatHang
NgayGiao

Diễn giải
Số phiếụ
Số đơn đặt hàng
Ngày giao

b8) Thực thể Chi tiết giao nhận:


Thuộc tính
SoPhieu
SanPham
SoLuong
DonGia

Diễn giải
Số phiếu
Sản phẩm
Số lượng
Đơn giá

b9) Thực thể Nguyên Liệu:

Thuộc tính
NguyenLieu
Ten NguyenLieu
DonViTinh

Diễn giải
Nguyên liệu
Tên nguyên liệu
Đơn vò tính

b10) Thực thể Thanh Toán:

Thuộc tính
SoThanhToan
NgayThanhToan


Diễn giải
Số thanh toán
Ngày thanh toán



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
MaKhachHang
TienThanhToan

Mã khách Hàng
Tiền thanh toán

Text
Number

KIL
OBO
OKS
.CO
M

b11) Tthực thể Tồn:

Thuộc tính
MaKhachHang
NguyenLieu
SoLuongTon
NgayTon


Diễn giải
Mã khách hàng
Nguyên liệu
Số lượng tồn
Ngày tồn

Kiểu
Text
Text
Number
Date()

Ràng buộc
Khoá ngoại
Khoá ngoại

Kiểu
Text
Text
Date()

Ràng buộc
Khoá chính
Khoá ngoại

Kiểu
Text
Text
Date()


Ràng buộc
Khoá ngoại
Khoá ngoại

b12) Thực thể Nhập xuất nguyên liệu:

Thuộc tính
SoHoaDonNhap
MaKhachHang
NgayNhap

Diễn giải
Số hoá đơn nhập
Mã khách hàng
Ngày nhập

b13) Thực thể Chi tiết nguyên liệu:

Thuộc tính
SoHoaDonNhap
NguyenLieu
SoLuong

Diễn giải
Số hoá đơn nhập
Nguyên liệu
Số lượng

c) Ràng buộc toàn vẹn:
KHOÁ 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



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

KIL
OBO
OKS
.CO
M

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)
R2-07: (TT.TienTT > 0)
RÀNG BUỘC GIỮA CÁC THUỘC TÍNH TRONG THỰC THỂ:
R3-0: CNOCK = CNODK + TIENNO TIENTHU
R3-0: SLTonCK = SLTonDK +
NHAP XUAT
R3-0: Tiền đặt hàng = CTDDH.SLDH * CTDDH.DG
R3-0: Tiền giao nhận = CTGN.SL * CTGN.DG
R3-0: Số tiền nợ đầu kì ( CNODK ) của tháng này phải bằng số tiền nợ
cuối kì ( CNOCK ) của tháng trước.
R3-0: Số lượng tồn đầu kì ( SLTonDK ) của tah1ng này phải bằng số lựơng
tồn cuối kì ( SLTonCK ) 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 toá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 xoá vào NL
_Tên xử lý
Chức năng
Input
Output
Qui tắc

: XL2:
: Cập nhật phiếu nhập nguyên liệu.
: SoHDN h, NL n, NXNL, CTNL, NL, KH.
: NXNL.
: 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.



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

: XL3:
: Cập nhật Đơn đặt hàng .
: SDDH, MSP, DDH, CTDDH, KH, SP
: DDH.
: 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ý
Chức năng
Input
Output

Qui tắc

: XL4:
: Cập nhật phiếu Giao nhận.
: SoP p, SoDDH h, GN, CTGN, DDH, CTDDH.
: GN.
: Số lượng giao nhận sản phẩm trong tháng t bằng tổng số lượng giao
nhận của CTGN trong tháng t liên quan đến Sản phẩm đó.

_Tên xử lý
Chức năng
Input
Output
Qui tắc

: XL5
: Cập nhật phiếu thanh toán.
: SoTT, MKH, TTOAN, KH
: TTOAN.
: Số tiền thanh toán trong tháng t bằng tổng tiền thanh toán của
TTOAN trong tháng t có liên quan đến KH k.

_Tên xử lý
Chức năng
Input
Output
Qui tắc

: XL6:
: Tính nợ Khách hàng.

: NgCN, MKH, CNO.
: CNO.
: NOCK = NODK + SONO -

_Tên xử lý
Chức năng
Input
Output
Qui tắc

: XL7 :
: Tính tồn Nguyên liệu :
: NgTON, LN, TON.
: TON.
: TONCK = TONDK +
NHAP -

KIL
OBO
OKS
.CO
M

_Tên xử lý
Chức năng
Input
Output
Qui tắc

III. THIẾT KẾ DỮ LIỆU :

1. Sơ đồ Logic dữ liệu:

THANHTOAN

XUAT




KIL
OBO
OKS
.CO
M

THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

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
TenKhachHang
DiaChi
DienThoai
SoDonDatHang
NgayKiKet
SanPham
TenSanPham
DonViTinh

DonGia
SoPhieu

Mã khách hàng
Ten khách hàng
Đòa chỉ
Điện thoại
Số đơn đặt hàng
Ngày kí kết
Sản phẩm
Tên sản phẩm
Đơn vò tính
Đơn giá
Số phiếu



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Ngày giao
Ngày công nợ
Tiền công nợ
Nguyên liệu
Tên Nguyên liệu
Số thanh toán
Ngày thanh toán
Tiền thanh toán
Số hoá đơn nhập
Ngày nhập
Số lượng đặt hàng
Đơn giá

Hạn giao
Số lượng
Số lượng sản xuất
Số lượng tồn
Ngày tồn

KIL
OBO
OKS
.CO
M

NgayGiao
NgayCongNo
TienCongNo
NguyenLieu
TenNguyenLieu
SoThanhToan
NgayThanhToan
TienThanhToan
SoHoaDonNhap
NgayNhap
SoLuongDatHang
DonGia
HanGiao
SoLuong
SoLuongSanXuat
SoLuongTon
NgayTon


3. Mô tả các bảng:
3.1) Khách hàng

Thuộc tính:

Thuộc tính
MaKhachHang
TenKhachHang
DiaChi
DienThoai

Kiểu
Text
Text
Text
Text

Khóa
Chính

Chỉ mục:

Chỉ mục
KHACHHANG_PK

Thuộc tính
MakhachHang

3.2) Công nợ:
Thuộc tính:


Thuộc tính
NgayCongNo

Kiểu
Text

Khóa
Chính

Thứ tự
ASC



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
MaKhachHang
TienCongNo

Text
Number

Ngoại

KIL
OBO
OKS
.CO
M


Chỉ mục:

Chỉ mục
CONGNO_PK
CONGNO_FK

Thuộc tính
NgayCongNo
MaKhachHang
MaKhachHang

Thứ tự
ASC

Bảng tham chiếu
KhachHang

Khoá nội
MaKhachHang

ASC

Khoá ngoại:

Khoá ngoại
MaKhachHang

3.3) Đơn đặt hàng

Thuộc tính:


Thuộc tính
SoDonDatHang
MaKhachHang
NgayKiKet

Kiểu
Text
Text
Date()

Khóa
Chính
Ngoại

Chỉ mục:

Chỉ mục
DONDATHANG_PK
DONDATHANG_FK

Thuộc tính
SoDonDatHang
MaKhachHang
MaKhachHang

Thứ tự
ASC

Bảng tham chiếu

KhachHang

Khoá nội
MaKhachHang

ASC

Khoá ngoại:

Khoá ngoại
MaKhachHang

3.4) Chi tiết Đơn đặt hàng
Thuộc tính:



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Kiểu
Text
Text
Number
Number
Date()

Khóa
Ngoại
Ngoại

KIL

OBO
OKS
.CO
M

Thuộc tính
SoDonDatHang
SanPham
SoLuongDatHang
DonGia
HanGiao
Chỉ mục:

Chỉ mục
Thuộc tính
Thứ tự
CTDONDATHANG_PK SoDonDatHang ASC
SanPham
CTDONDATHANG_FK SanPham
ASC
Khoá ngoại:

Khoá ngoại
SoDonDatHang
SanPham

3.5)

Bảng tham chiếu
DonDatHang

SanPham

Khoá nội
SoDonDatHang
SanPham

Kiểu
Text
Text
Number
Date()

Khóa
Ngoại
Ngoại

Thuộc tính
MaKhachHang
NguyenLieu
NguyenLieu

Thứ tự
ASC

ASC

Bảng tham chiếu
KhachHang

Khoá nội

MaKhachHang

Tồn :
Thuộc tính:

Thuộc tính
MaKhachHang
NguyenLieu
SoLuongTon
NgayTon
Chỉ mục:

Chỉ mục
TON_PK
TON_FK

Khoá ngoại:

Khoá ngoại
MaKhachHang



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
NguyenLieu

NguyenLieu

Sản phẩm :
Thuộc tính:


KIL
OBO
OKS
.CO
M

3.6)

NguyenLieu

Thuộc tính
SanPham
TenSanPham
DonViTinh
DonGia

Kiểu
Text
Text
Number
Number

Khóa
Chính

Thuộc tính
SanPham

Thứ tự

ASC

Kiểu
Text
Text
Number

Khóa
Ngoại
Ngoại

Thuộc tính
NguyenLieu
SanPham
SanPham

Thứ tự
ASC

Bảng tham chiếu
NguyenLieu
SanPham

Khoá nội
NguyenLieu
SanPham

Chỉ mục:

Chỉ mục

SANPHAM_PK

3.7)

Đònh mức sản xuất :
Thuộc tính:

Thuộc tính
NguyenLieu
SanPham
SoLuongSanXuat
Chỉ mục:

Chỉ mục
DMSX_PK

DMSX _FK

ASC

Khoá ngoại:

Khoá ngoại
NguyenLieu
SanPham

3.8)

Giao Nhận:
Thuộc tính:




THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Kiểu
Text
Text
Date()

Khóa
Chính
Ngoại

Thuộc tính
SoPhieu
SoDonDatHang
SoDonDatHang

Thứ tự
ASC

Bảng tham chiếu
DonDatHang

Khoá nội
SoDonDatHang

Kiểu
Text
Text

Number
Number

Khóa
Ngoại
Ngoại

Thuộc tính
SoPhieu
SanPham
SanPham

Thứ tự
ASC

Bảng tham chiếu
GiaoNhan
SanPham

Khoá nội
SoPhieu
SanPham

KIL
OBO
OKS
.CO
M

Thuộc tính

SoPhieu
SoDonDatHang
NgayGiao
Chỉ mục:

Chỉ mục
GIAONHAN_PK
GIAONHAN_FK

ASC

Khoá ngoại:

Khoá ngoại
SoDonDatHang

3.9)

Chi tiết Giao Nhận:
Thuộc tính:

Thuộc tính
SoPhieu
SanPham
SoLuong
DonGia
Chỉ mục:

Chỉ mục
CTGN_PK

CTGN_FK

ASC

Khoá ngoại:

Khoá ngoại
SoPhieu
SanPham

3.10) Nguyên liệu:



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
Thuộc tính:
Kiểu
Text
Text
Number

Khóa
Chính

Thuộc tính
NguyenLieu

Thứ tự
ASC


Kiểu
Text
Date()
Text
Number

Khóa
Chính

Thuộc tính
SoThanhToan
MaKhachHang
MaKhachHang

Thứ tự
ASC

Bảng tham chiếu
KhachHang

Khoá nội
MaKhachHang

KIL
OBO
OKS
.CO
M

Thuộc tính

NguyenLieu
TenNguyenLieu
DonViTinh
Chỉ mục:

Chỉ mục
NGUYENLIEU_PK

3.11) Thanh toán:
Thuộc tính:

Thuộc tính
SoThanhToan
NgayThanhToan
MaKhachHang
TienThanhToan

Ngoại

Chỉ mục:

Chỉ mục
THANHTOAN_PK
THANHTOAN_FK

ASC

Khoá ngoại:

Khoá ngoại

MaKhachHang

3.12) Nhập xuất nguyên liệu :
Thuộc tính:
Thuộc tính
SoHoaDonNhap
MaKhachHang
NgayNhap

Kiểu
Text
Text
Number

Khóa
Chính
Ngoại



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

Chỉ mục:
Thuộc tính
SoHoaDonNhap
MaKhachHang
MaKhachHang

Thứ tự
ASC


Bảng tham chiếu
KhachHang

Khoá nội
MaKhachHang

Kiểu
Text
Text
Number

Khóa
Ngoại
Ngoại

Thuộc tính
SoPhieu
SanPham
SanPham

Thứ tự
ASC

Bảng tham chiếu
NXNguyenLieu
NguyenLieu

Khoá nội
SoPhieu

SanPham

KIL
OBO
OKS
.CO
M

Chỉ mục
NXNL_PK
NXNL_FK

ASC

Khoá ngoại:

Khoá ngoại
MaKhachHang

3.13) Chi tiết nguyên liệu :
Thuộc tính:
Thuộc tính
SoHoaDonNhap
NguyenLieu
SoLuong
Chỉ mục:

Chỉ mục
CTGN_PK
CTGN_FK


ASC

Khoá ngoại:

Khoá ngoại
SoHoaDonNhap
NguyenLieu

4. MÔ TẢ CÁC RÀNG BUỘC TOÀN VẸN :
4.1) KHÓA CHÍNH :
R1-01 : id( CONGNO ) = NgayCN
R1-02 : id( KHACHANG ) = MKH
R1-03 : id( NGUYENLIEU ) = NL
R1-04 : id( DONDATHANG ) = SDDH, MAKH



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

KIL
OBO
OKS
.CO
M

R1-05 : id( CHITIETDONDATHANG ) = SDDH, SP
R1-06 : id( SANPHAM ) = SANPHAM
R1-07 : id( DINHMUCSANXUAT ) = NL, SP
R1-08 : id( GIAONHAN ) = SPhieu, SDDH

R1-09 : id( CHITIETGIAONHAN ) = SPhieu, SP
R1-10 : id( THANHTOAN ) = SoTT, MKH
R1-11 : id( TON ) = MKH, NL
R1-12 : id( NHAPXUATNGUYENLIEU ) = SoDDH, MKH
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]
R3-02 : TTOAN[MaKH]
R3-03 : TON[MaKH]
R3-04 : DDHANG[MaKH]
R3-05 : NXNL[MaKH]
R3-06 : GNHAN[SoDDH]
R3-07 : CTDDH[SoDDH]
R3-08 : CTDDH[MaSP]
R3-09 : CTGN[MaSP]
R3-10 : DMSX[MaSP]
R3-11 : GN[SoPhieu]
R3-12 : DMSX[MaNL]
R3-13 : TON[MaNL]
R3-14 : CTNL[MaNL]
R3-15 : CTNL[SoHDN]

KH[MaKH]

KH[MaKH]
KH[MaKH]
KH[MaKH]
KH[MaKH]
DDH[SoDDH]
DDH[SoDDH]
SPHAM[MaSP]
SPHAM[MaSP]
SPHAM[MaSP]
CTGN[SoPhieu]
NLIEU[MaNL]
NLIEU[MaNL]
NLIEU[MaNL]
NXNL[SoHDN]

IV. THIẾT KẾ ỨNG DỤNG (Các màn hình):
1. Màn hình chính:




KIL
OBO
OKS
.CO
M

THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

H1ình 3: Màn hình chính của ứng dụng.

Danh Mục:

Menu Đặt hàng
Menu Giao nhận
Menu Nhập xuất Nguyên liệu
2. Màn hình Đặt hàng:

Khách hàng đặt đơn hàng mới.
Giao hàng cho Khách hàng.
Nhập nguyên liệu từ khách hàng.




KIL
OBO
OKS
.CO
M

THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

Hình 4: Màn hình Đơn đặt hàng mới .

Source code lấy Mã KH lên combobox:
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 ChiTietDonDatHang.SanPham, SanPham.TenSanPham,
SanPham.DonViTinh, ChiTietDonDatHang.SoLuongDatHang,
ChiTietDonDatHang.DonGia"
strSQL = strSQL & " FROM SanPham, DonDatHang, ChiTietDonDatHang WHERE
DonDatHang.SoDonDatHang = ChiTietDonDatHang.SoDonDatHang AND
SanPham.SanPham = ChiTietDonDatHang.SanPham"
Set Rst = New ADODB.Recordset
Rst.CursorLocation = adUseClient



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

KIL
OBO
OKS
.CO
M

Cnn.Open SQLConn '
KHÔNG DÙNG BIẾN Conn
Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
SSODatHang.Columns(0).DataField = "sanpham"
SSODatHang.Columns(1).DataField = "Tensanpham"
SSODatHang.Columns(2).DataField = "donvitinh"

SSODatHang.Columns(3).DataField = "soluongDatHang"
SSODatHang.Columns(4).DataField = "dongia"
Set SSODatHang.DataSource = Nothing
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




THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN

KIL
OBO
OKS
.CO
M

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
MsgBox " Xin nhap dau du thong tin truoc khi luu ", vbOKOnly +
vbExclamation, "THONG BAO"
Me.MousePointer = 0
End If
SQL2 = " insert into KHACHHANG values('" &
Trim(frm1DatHang.cboMKH) & "','" & Trim(frm1DatHang.txtTKH) & "','" &
Trim(frm1DatHang.txtDiachi) & "','" & Trim(frm1DatHang.txtDienthoai) & "')"
SQL3 = " insert into DONDATHANG values(' " &
Trim(frm1DatHang.txtSDDH) & " ',' " & Trim(frm1DatHang.cboMKH) & " ',' " &
Trim(frm1DatHang.txtNgayKK) & " ')"
SQL4 = " insert into CHITIETDONDATHANG values(' " &
Trim(frm1DatHang.txtSDDH) & " ',' " & Trim(cboSP) & " ',' " & Trim(txtSl) & " ',' "
& Trim(txtDG) & " ',' " & Trim(frm1DatHang.txtHanGiao) & " ') "
Conn.Execute SQL2
Conn.Execute SQL3

Conn.Execute SQL4
SQL5 = " update DONDATHANG set MAKHCHHANG='" &
Trim(frm1DatHang.cboMKH) & "', TENKHACHHANG='" &
Trim(frm1DatHang.txtTKH) & "', NGAYKIKET='" &
Trim(frm1DatHang.txtNgayKK) & "',HANGIAO='" &
Trim(frm1DatHang.txtHanGiao) & "' WHERE SODONDATHANG='" &
Trim(frm1DatHang.txtSDDH) & "'"
SQL6 = " update KHACHHANG set MAKHACHHANG='" &
Trim(frm1DatHang.cboMKH) & "',TENKHACHHANG='" &
Trim(frm1DatHang.txtTKH) & ",DIACHI='" & Trim(frm1DatHang.txtDiachi) &
"',DIENTHOAI='" & Trim(frm1DatHang.txtDienthoai) & "'"
SQL7 = " update CHITIETDONDATHANG set SODONDATHANG='" &
Trim(frm1DatHang.txtSDDH) & "',SANPHAM='" & Trim(cboSP) &
"',SOLUONGDATHANG='" & Trim(txtSl) & "',DONGIA='" & Trim(txtDG) &
"',HANGIAO='" & Trim(frm1DatHang.txtHanGiao) & "'"
Conn.Execute SQL5
Conn.Execute SQL6
Conn.Execute SQL7
End Sub



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN
: Thoát cửa sổ đơn đặt hàng.

KIL
OBO
OKS
.CO
M


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



THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN

KIL
OBO
OKS
.CO
M

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
Cnn.Open SQLConn '
KHÔNG DÙNG BIẾN Conn
Rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
SSOGiaoNhan.Columns(0).DataField = "sanpham"
SSOGiaoNhan.Columns(1).DataField = "Tensanpham"
SSOGiaoNhan.Columns(2).DataField = ""
SSOGiaoNhan.Columns(3).DataField = ""
Set SSOGiaoNhan.DataSource = Nothing
Set SSOGiaoNhan.DataSource = Rst
: Khi nhấn nút Mới thì cboSP, cboDDh, txtNgay nhận focus, dữ liệu
của cột SL và DG sẽ được nhập 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 Str As String
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
If Trim(cboSoPhieu) = "" Or Trim(cboSoDDH) = "" Then
MsgBox " Xin nhap soPHIEU va soDDH truoc khi luu ", vbOKOnly +
vbExclamation, "THONG BAO"

Me.MousePointer = 0
End If
Str = " insert into GIAONHAN values('" & Trim(cboSoPhieu) & "','" &
Trim(cboSoDDH) & "','" & Trim(txtNgay) & "')"
Conn.Execute Str


×