KIỂM TRA RÀNG BUỘC

Một phần của tài liệu Phân tích thiết kế hệ thống quản lý công ty trang trí nội thất (Trang 53 - 57)

Các hàm kiểm tra ràng buộc được viết bằng ngơn ngữ vb

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 đĩ.

Function ktra_R4 (k As String, t As String) As Boolean Dim rs As ADODB.Recordset

Dim tsotien_gh As Single, tsotien_pc As Single Dim sotienno As Single

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.

Function ktra_R7 (so_gh As String)

Dim rsCTGH As ADODB.Recordset Dim rs As ADODB.Recordset

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

Một phần của tài liệu Phân tích thiết kế hệ thống quản lý công ty trang trí nội thất (Trang 53 - 57)

Tải bản đầy đủ (PDF)

(69 trang)