Các hàm kiểm tra ràng buộc được viết bằng ngôn ngữ vb Số pt=a
Mã kh=b Ngày pt=c Số tiền thu =d Diển giải thu=e
Mở table PTHU Tạo dòng x với : x.sopt=a x.makh=b x.ngaypt=c x.sotienpt=d x.dgiaipt=e Thêm dòng x vào table PTHU và đóng table lại Hiển thị kết quả
1. Số tiền nợ đầu kỳ (CNO.nodk) của tháng này phải bằng số tiền nợ cuối kỳ của tháng trước
Function ktra_R1 (k as String, t as String) as Boolean Dim dauthg As Date, cuoithg As Date, thgtruoc As String Dim rsCNO As ADODB.recordset
Dim nock_thgtruoc As Single, nodk_thg As Single
Dauthg = Cdate (“01”+ “/”+Right (t, 2) +”/”+ Left (t, 4)) Cuoithg = dauthg – 1
Thgtruoc = Format (cuoithg, “yyyymm”)
Set rsCNO = Mo_Bang (“SELECT nodk, tienno, tienthu FROM CNO WHERE makh=’”& k &”’ AND namthgcno=’”&thgtruoc &”’)
Nock_thgtruoc = rsCNO (“nodk”.Value + rsCNO (“tienno”).Value – rsCNO (“tienthu”).Value
rsCNO.Close
Set rsCNO=Mo_Bang (“SELECT nodk FROM CNO WHERE makh=’” & k & “’ AND namthgcno=’”& t & “’”)
Nodk_thg=rsCNO (“nodk”).Value rsCNO.Close
2. Số lượng tồn kho đầu kỳ của tháng này bằng số lượng tồn kho cuối kỳ của tháng trước.
Function ktra_R2 (h As String, t As String) As Boolean Dim dauthg As Date, cuoithg As Date, thgtruoc As String Dim rsTKHO As ADODB.Recordset
Dim tonck_thgtruoc As Single, tondk_thg As Single
Dauthg = Cdate (“01” + “/” + Right (t,2) + “/” + Left(t,4)) Cuoithg = dauthg – 1
Thgtruoc = Format ( cuoithg,”yyyymm”)
Set rsTKHO= Mo_Bang “SELECT tondk, lnhap, oxuat FROM TKHO WHERE mahh=’” & h & “’ AND namthgtkho= ‘” thgtruoc & “’”)
Tondk_thg=rsTKHO (“tondk”).Value rsTKHO.Close
3. Số tiền nợ (CNO.tienno) trong tháng t của khách hàng k bằng tổng trị giá hàng giao và số tiền chi cho khách k trong tháng t đó.
Set rs=Mo_Bang (“LECT SUM sotiengh) FROM CTGH WHERE sogh IN ( SELECT sogh FROM PGH WHERE makh=’”& k & “’ AND Format ngaygh,’yyyymm’) =’” & t & “’)”)
Tsotien_gh = rs (0).Value Rs.Close
Set rs = Mo_Bang (“SELECT SUM ( sotienpc) FROM PCHI WHERE makh = ‘” & k & “’ AND Format(ngaypc,’yyyymm’)=’” & t & “’”)
Tsotien_pc = rs (0).Value Rs.Close
Set rs = Mo_Bang (“SELECT SUM (sotienpc) FROM PCHI WHERE makh = ‘” & k & “’ AND Format (ngaypc,’yyyymm’) = ‘” & t & “’”)
Tsotien_pc = rs (0).Value Rs.Close
Set rs=Mo_Bang (“SELECT tienno FROM CNO WHERE makh = ‘” & k & “’ AND namthgcno = ‘” & t & “’”)
Sotienno = rs (“tienno”).Value Rs.Close
4. Số tiền thu (CNO.tienthu) trong tháng t của khách hàng k bằng tổng trị giá hàng nhập và số tiền thu của khách hàng k trong tháng t
Function ktra_R4 (k As String, t As String) As Boolean Dim rs As ADODB.Recordset
Dim tsotien_pn As Single, tsotien_pt As Single Dim tienthu As Single
SET rs = Mo_Bang (“SELECT SUM (sotienpn) FROM CTPN WHERE sopn IN (SELECT sopn FROM PNHAP WHERE makh = ‘” & k & “’ AND Format (ngaypn,’yyyymm’) = ‘” & t & “’)”)
Tsotien_pn = rs (0).Value Rs.Close
SET rs = Mo_Bang (“SELECT SUM (sotienpt) FROM PTHU WHERE makh = ‘” & k & “’ AND Format(ngaypt, ‘yyyymm’)= ‘” & t & “’)”)
Tsotien_pt = rs (0).Value Rs.Close
SET rs = Mo_Bang (“SELECT tienthu FROM CNO WHERE makh = ‘” & k & “’ AND namthgcno = ‘” & t & “’”)
Rs.Close
5. Số lượng nhập (TKHO.slnhap) trong tháng t của mặt hàng h bằng tồng số lượng các chi tiết phiếu nhập của mặt hàng m trong tháng t.
Function ktra_R5 (h As String, t As String) As Boolean Dim rs As ADODB.Recordset
Dim tso_pn As Single, tsonhap As Single
Set rs = Mo_Bang (“SELECT SUM (slpn) FROM CTPN WHERE mahh = ‘”& h & “’ AND sopn IN (SELECT sopn FROM PNHAP WHERE Format (ngaypn,’yyyymm’) = ‘” & t & “’)”)
Tso_pn = rs (0).Value Rs.Close
Set rs = Mo_Bang
(“SELECT slnhap FROM TKHO WHERE mahh = ‘” & h & “’ AND namthgtkho = ‘” & t & “’”)
Rs.Close
6. Số lượng xuất (TKHO.slxuat) trong tháng t của mặt hàng h bằng tồng số lượng các chi tiết phiếu giao hàng và chi tiết hóa đơn của mặt hàng m trong tháng t.
Function ktra_R6 (h As String, t As String) As Boolean Dim rs As ADODB.Recordset
Dim tso_gh As Single, tso_hd As Single, tsoxuat As Single
Set rs = Mo_Bang (“SELECT SUM (slgh) FROM CTGH WHERE mahh = ‘” & h & “’ AND sogh IN (SELECT sogh FROM PGH WHERE Format (ngaygh, ‘yyyymm’) = ‘” & t & “’”)
Tso_gh = rs (0).Value Rs.Close
Set rs = Mo_Bang (“SELECT SUM (slhd) FROM CTHD WHERE mahh = ‘” & h & “’ AND sohd IN (SELECT sohd FROM HDON WHERE Format
(ngayhd, ‘yyyymm’) = ‘” & t & “’”) Tso_hd = rs (0).Value
Rs.Close
Set rs = Mo_Bang (“SELECT slxuat FROM TKHO WHERE mahh = ‘” & h & “’ AND namthgtkho = ‘” & t & “’”)
Tsoxuat = rs (“slxuat”).Value Rs.Close
7. Chỉ giao những mặt hàng được khách hàng đặt hàng với số lượng giao không vượt quá số lượng đặt hàng.
Dim so_dh As String, hople As Boolean, sl_dh As Single
Set rs = Mo_Bang (“SELECT sodh FROM PGH WHERE sogh = ‘”& so_gh &”’”) So_dh = rs (“sodh”).Value
Rs.Close Hople = true
Set rsCTGH = Mo_Bang (“SELECT * FROM CTGH WHERE sogh = ‘” & so_gh & “’”)
rsCTGH.MoveFirst Do Until rsCTGH.EOF
Set rs = Mo_Bang (“SELECT sldh FROM CTDH WHERE sodh = ‘” & so_dh & “’AND CTDH.mahh = ‘” & rsCTGH (“mahh”).Value & “’”)
Sl_dh = rs (“sldh”).Value Rs.Close If rsCTGH (“slgh”).Value > sl_dh then Hople = False Exit Do End if rsCTGH.MoveNext Loop rsCTGH.Close
PHẪN 4: THIẾT KẾ GIAO DIỆN 4.1 THIẾT KẾ MENU
khách hàng và cập nhật tồn kho cho hàng hóa .
Giao diện chỉ mới đáp ứng được nhu cầu nhưng chưa đẹp .
5.2 THỰC HIỆN ĐỀ TÀI : * Từ Sỹ Xinh (Nhóm trưởng)
MSSV : 0311327
Xây dựng mô hình ERD
Sơ đồ logic dữ liệu
Mô hình dòng dữ liệu DFD
Giải thuật cho các ô xử lý
Viết các hàm kiểm tra ràng buộc bằng ngôn ngử vb
Thiết kế giao diện
* Vũ Hùng Sơn
MSSV : 0311313
Đặc tả đề tài
Chuyển mô hình ERD sang mô hình logic dữ liệu
Mô tả các thực thể và phát hiện các ràng buộc
Giải thuật cho các ô xử lý
* Huỳnh Ngọc Trí
MSSV 0311077
Diễn giải cho các ô xử lý
Mô tả kho dử liệu
Mô hình DFD cho chức năng : Cập nhật khách hàng và cập nhật hàng hóa
Trong khi làm đề tài nhóm chúng em có sử dụng phầm mềm : DB Main 2.0 để hổ trợ trong việc xây dựng mô hình ERD và sơ đồ logic dữ liệu.
PHẦN 1: ĐẶC TẢ... 4 1.1 NỘI DUNG... 4 1.2 HÌNH MINH HỌA... 5 1.3 MỤC TIÊU, PHẠM VI... 8 PHẦN 2: PHÂN TÍCH... 9 2.1 PHÁT HIỆN THỰC THỂ... 9 2.2 MÔ HÌNH ERD...10
2.3 MÔ TẢ CHI TIÊT CHO THỰC THỂ...11
2.4 TỪ ĐIỂN CHUYÊN NGÀNH...16
2.5 RÀNG BUỘC TOÀN VẸN...17
2.6 MÔ HÌNH DFD...18
2.7MÔ TẢ Ô XỬ LÝ...26
2.8MÔ TẢ KHO DỮ LIỆU...32
PHẦN 3: THIẾT KẾ DỮ LIỆU VÀ XỬ LÝ...36
3.1 MÔ HÌNH DỬ LIỆU MỨC LOGIC...36
3.2 CHUẨN HÓA CÁC QUAN HỆ...36
3.3 SƠ ĐỒ LOGIC DỮ LIỆU...37
3.4 GIẢI THUẬT CHO CÁC Ô XỬ LÝ...38
3.5 KIỂM TRA RÀNG BUỘC...54
PHẦN 4: THIẾT KẾ GIAO DIỆN...58
4.1 THIẾT KẾ MENU...58
4.2 THIẾT KẾ CÁC FORM...61
PHẦN 5: ĐÁNH GIÁ VÀ THỰC HIỆN………..69
5.1 ĐÁNH GIÁ KHUYẾT ĐIỂM……….69
5.2 THỰC HIỆN ĐỀ TÀI………..69