Một số thuật toỏn cơ bản trong chương trỡnh

Một phần của tài liệu Phân tích và thiết kế phần mềm Quản líhàng hoá vật tư lưu kho (Trang 73 - 102)

c. Sơ đồ quan hệ thực thể

3.2.6. Một số thuật toỏn cơ bản trong chương trỡnh

THUẬT TOÁN ĐĂNG NHẬP VÀO HỆ THỐNG

MỞ FORM ĐĂNG NHẬP KIỂM TRA TấN NSD VÀ MẬT KHẨU

KT ĐÚNG Sai NHẬP TấN VÀ MẬT KHẨU VÀO CHƯƠNG TRèNH THễNG BÁO NHẬP SAI Cể NHẬP LẠI KHễNG Sai ĐÚNG

THUẬT TOÁN CẬP NHẬT DỮ LIỆU ĐÚNG sai Sai ĐÚNG sai ĐÚNGMỞ FORM CẬP NHẬT THấM 1 BẢN GHI TRẮNG NHẬP DỮ LIỆU KIỂM TRA DỮ LIỆU?

LƯU BẢN GHI

KT

TIẾP TỤC?

THễNG BÁO DỮ LIỆU NHẬP SAI NHẬP LẠI ?

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho ĐÚNG CHỌN BÁO CÁO NHẬP ĐIỀU KIỆN THỰC HIỆN TèM KIẾM Cể THẤY DỮ LIỆU? IN BÁO CÁO sai KT THễNG BÁO KHễNG Cể DỮ LIỆU

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho KẾT LUẬN

Trong đồ ỏn tốt nghiệp này em đó giới thiệu cỏc thụng tin tổng quan về cơ sở thực tập, trỡnh bày một cỏch khỏi quỏt cỏc khỏi niệm cơ bản về hệ thống thụng tin, cơ sở dữ liệu, sự hiệu quả trong việc ứng dụng cụng nghệ thụng tin trong việc quản lý, về quỏ trỡnh phõn tớch và thiết kế hệ thống thụng tin. Đề tài trỡnh bày một cỏch chi tiết toàn bộ quỏ trỡnh phõn tớch và thiết kế: “Chương

trỡnh quản lý hàng hoỏ vật tư lưu kho".

Đề tài đó thu được một số kết quả tốt như chương trỡnh cú tớnh bảo mật, cú khả năng sao lưu và phục hồi dữ liệu, nhập tồn kho, viết được cỏc phiếu xuất, phiếu nhập, xem tồn kho, xem được thẻ kho, tổng hợp được hàng xuất và hàng nhập của đơn vị.

Do thời gian hạn chế của một đề tài tốt nghiệp và hạn chế về kiến thức nờn hệ thống cũn rất nhiều thiếu xút, chưa thể đỏp ứng được tất cả cỏc nhu cầu của người sử dụng.Vỡ vậy, em hy vọng trong thời gian tới sẽ cú điều kiện để nghiờn cứu và thực hiện tốt hơn chương trỡnh này.

Phương hướng phỏt triển: Đề tài cú thể phỏt triển thờm chức năng như cho phộp quản lý vốn ngõn sỏch, cho phộp xuất và nhập theo cỏc giỏ khỏc nhau, quản lý tài chớnh, hoỏ đơn, hợp đồng,…

Để hoàn thành được luận văn tốt nghiệp này, một lần nữa em xin gửi lời cảm ơn tới thầy giỏo Nguyễn Bỏ Tiến đó hướng dẫn, chỉ bảo tận tỡnh cho em trong quỏ trỡnh thực hiện đồ ỏn.

Em xin chõn thành cảm ơn tới cỏc thầy cụ trong khoa Cụng Nghệ Thụng Tin - ĐHDL Phương Đụng đó giảng dạy em trong 5 năm học đại học giỳp em cú được những kiến thức khoa học, những tư duy cho cụng việc sau này.

Em xin chõn thành cảm ơn!

Hà Nội thỏng 4 năm 2006 Sinh viờn

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho

PHỤ LỤC Mó nguồn của modul kết nối.

Public Cn As New ADODB.Connection Public rs As New ADODB.Recordset Public f_user, f_group As String Public flag_pass As String Public key As String

Public Sub connect_database() Dim Str As String

Dim db_Field Name

db_Field Name = App.Path & "\db1.mdb"

Str = "provider=Microsoft.jet.OLEDB.4.0;data source=" & db_Field Name & ""

DE_HH.CN_HH.ConnectionString =

"Provider=Microsoft.jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & db_Field Name & ""

DE_HH.CN_HH.Open Cn.Open Str

End Sub

Hàm kiểm tra sự tồn tại của vật tư.

Public Function Ktra_ExistVT(mSTT_REC As Integer, mMa_VT As String, mCL As String, mDG As Double) As Boolean

Dim Rs1 As ADODB.Recordset Set Rs1 = New ADODB.Recordset Ktra_ExistVT = False

Rs1.Open "SELECT * FROM CTVT WHERE STT_REC=" & Str(mSTT_REC) & " AND MA_VT='" & mMa_VT & "' AND CL='" & mCL & "' AND DG=" & Str(mDG), Cn, adOpenDynamic, adLockReadOnly

If Not Rs1.EOF Then Ktra_ExistVT = True End If Rs1.Close Set Rs1 = Nothing End Function Hàm kiểm tra số chứng từ.

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho

Public Function Ktra_SoCT(mSO_CT As String, mMA_CT As String) As Boolean

Dim Rs1 As ADODB.Recordset Set Rs1 = New ADODB.Recordset Ktra_SoCT = False

Rs1.Open "SELECT * FROM CTCHUNG WHERE SO_CT='" & mSO_CT & "' AND MA_CT='" & mMA_CT & "'", Cn, adOpenDynamic, adLockReadOnly

If Not Rs1.EOF Then Ktra_SoCT = True End If

Rs1.Close

Set Rs1 = Nothing End Function

Mó nguồn trong Form sao lưu dữ liệu

Private Sub Drive1_Change() On Error GoTo loi

Dir1.Path = Drive1.Drive exit_loi:

Exit Sub loi:

MsgBox "Lỗi " & Err.Number & ": " & Err.Description, vbCritical, "Cảnh bỏo" Drive1.Drive = Left(App.Path, 2)

Me.Dir1.Path = App.Path Resume exit_loi

End Sub

Private Sub SSCommand1_Click() 'On Error Resume Next

On Error GoTo loi

If MsgBox("Bạn cú thực sự muốn sao lưu khụng ?", vbQuestion + vbYesNo, "Thụng bỏo") = vbYes Then

Screen.MousePointer = vbHourglass Else Exit Sub End If 'MsgBox Dir1.Path

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho If rs Is Nothing Then Else ' rs.Close Set rs = Nothing End If DE_HH.CN_HH.Close Cn.Close Set Cn = Nothing Dim ngay As String

ngay = "QuanLyHangHoa" ngay = ngay & ".MDB" 'MsgBox ngay & ".mdb"

' DBEngine.CompactDatabase App.Path & "\db1.mdb", Dir1.Path & "\" & ngay

Dim sSource As String

sSource = App.Path & "\db1.mdb" Dim sDes As String

sDes = Dir1.Path & "\" & ngay 'MsgBox sSource

'MsgBox sDes

Dim fso As New FileSystemObject

fso.CopyFile App.Path & "\db1.mdb", Dir1.Path & "\" & ngay connect_database

MsgBox "Đó sao lưu thành cụng !!!", vbInformation, "Thụng bỏo" Screen.MousePointer = vbNormal

exit_loi:

Exit Sub loi:

MsgBox "Lỗi " & Err.Number & ":" & Err.Description, vbCritical, "Cảnh bỏo" connect_database

Screen.MousePointer = vbNormal Resume exit_loi

End Sub

Private Sub SSCommand2_Click() Unload Me

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho Private Sub cboMaVatTu_Click()

Dim mRs As ADODB.Recordset Set mRs = New ADODB.Recordset Me.combochatluong.Clear

Me.comdongia.Clear

mRs.Open "SELECT ma_cl,ten_cl FROM chatluong where makho ='" & Trim(frmTheKho.commakho.ColText) & "' AND MA_VT ='" & Trim(frmTheKho.cboMaVatTu.ColText) & "' group by ma_cl,ten_cl", Cn, adOpenDynamic, adLockReadOnly

'Me.combochatluong.Clear Do While Not mRs.EOF

combochatluong.AddItem Trim(mRs!ma_cl) & vbTab & Trim(mRs! TEN_cl) mRs.MoveNext Loop mRs.Close Set mRs = Nothing End Sub

Private Sub cmdcancel_Click() Unload Me

End Sub

Private Sub cmdIn_Click()

If Len(commakho.Text) = 0 Then

MsgBox "Chưa chọn mó kho !", vbCritical, "Chỳ ý !" commakho.SetFocus

Exit Sub End If

If Len(cboMaVatTu.Text) = 0 Then

MsgBox "Chưa chọn vật tư!", vbCritical, "Chỳ ý !" cboMaVatTu.SetFocus

Exit Sub End If

If Len(combochatluong.Text) = 0 Then

MsgBox "Chưa chọn chất lượng!", vbCritical, "Chỳ ý !" combochatluong.SetFocus

Exit Sub End If

If Len(comdongia.Text) = 0 Then

MsgBox "Chưa chọn đơn giỏ!", vbCritical, "Chỳ ý !" comdongia.SetFocus

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho Exit Sub

End If

TheKho frmTheKho.cboMaVatTu.ColText,

frmTheKho.combochatluong.ColText, Me.comdongia.Text '" & Trim(frmTON_DAU.comMAKHO.ColText) & "' Dim rpt As New arTheKho

Set rpt.DataControl1.Connection = Cn

rpt.DataControl1.Source = "Select MaVT,ChatLuong,NgayNhap,NgayXuat,DonViXuat,DonViNhap,LuongXuat,Lu ongNhap,LuongTon from TheKho where mavt ='" & Trim(frmTheKho.cboMaVatTu.ColText) & "' and ChatLuong =" & Trim(frmTheKho.combochatluong.ColText) & ""

' rpt.MaVT.DataField = "MaVT" Dim rs As New ADODB.Recordset

rs.Open "Select MaVT,DonViTinh,ChatLuong from Thekho where MaVT ='" & Trim(frmTheKho.cboMaVatTu.ColText) & "'", Cn, adOpenStatic, adLockReadOnly If rs.RecordCount > 0 Then rpt.txttenkho.Text = frmTheKho.commakho.Text rpt.MaVT.Caption = frmTheKho.cboMaVatTu.ColText rpt.DonViTinh.Caption = rs("DonViTinh") rpt.ChatLuong.Caption = IIf(frmTheKho.combochatluong.ColText = "1", "Tốt", IIf(Me.combochatluong.ColText = "2", "Trung bỡnh", "Kộm"))

' rpt.ChatLuong.Caption = IIf(Me.txtChatLuong.Text = "1", "Tot", IIf(Me.txtChatLuong.Text = "2", "Tb", "Kem"))

Set rs = New ADODB.Recordset

rs.Open "Select ten_vt from dm_vt where ma_vt ='" & Trim(frmTheKho.cboMaVatTu.ColText) & "'", Cn, adOpenStatic, adLockReadOnly

If rs.RecordCount > 0 Then rpt.TenVT.Caption = rs(0) Set rs = New ADODB.Recordset

rs.Open "Select sl from Ton_dau where Ma_Vt ='" & Trim(frmTheKho.cboMaVatTu.ColText) & "' and dg =" & Trim(frmTheKho.comdongia.Text) & "", Cn, adOpenStatic, adLockReadOnly If rs.RecordCount > 0 Then

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho Else

rpt.TonDau.Caption = 0 End If

Set rs = New ADODB.Recordset

rs.Open "Select LuongTon from thekho where MaVt ='" & Trim(frmTheKho.cboMaVatTu.ColText) & "'", Cn, adOpenStatic, adLockReadOnly

If rs.RecordCount > 0 Then rs.MoveLast: rpt.TonCuoi.Caption = rs(0) rpt.DonGia.Caption = Me.comdongia.Text End If rpt.NgayNhap.DataField = "NgayNhap" rpt.NgayXuat.DataField = "NgayXuat" rpt.DVN.DataField = "DonViNhap" rpt.DVX.DataField = "DonViXuat" rpt.LuongNhap.DataField = "LuongNhap" rpt.LuongXuat.DataField = "LuongXuat" rpt.LuongTon.DataField = "LuongTon"

Dim fPreview As New frmPreview fPreview.RunReport rpt fPreview.Show 1 Set rpt = Nothing Unload fPreview End Sub

Private Sub cmdok_Click()

If Len(commakho.Text) = 0 Then

MsgBox "Chưa chọn mó kho !", vbCritical, "Chỳ ý !" commakho.SetFocus

Exit Sub End If

If Len(cboMaVatTu.Text) = 0 Then

MsgBox "Chưa chọn vật tư!", vbCritical, "Chỳ ý !" cboMaVatTu.SetFocus

Exit Sub End If

If Len(combochatluong.Text) = 0 Then

MsgBox "Chưa chọn chất lượng!", vbCritical, "Chỳ ý !" combochatluong.SetFocus

Exit Sub End If

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho If Len(comdongia.Text) = 0 Then

MsgBox "Chưa chọn đơn giỏ!", vbCritical, "Chỳ ý !" comdongia.SetFocus Exit Sub End If TheKho frmTheKho.cboMaVatTu.ColText, frmTheKho.combochatluong.ColText, Me.comdongia.Text frmXemTheKho.Show 1 End Sub

Private Sub combochatluong_Click() 'add don gia

'Me.comdongia.Clear

Dim mRs As New ADODB.Recordset Dim s As String

s = "Select DG from viewThe_khott where ma_vt ='" & Me.cboMaVatTu.ColText & "' and cl='" & Me.combochatluong.ColText & "' and Makho ='" & Me.commakho.ColText & "' group by dg"

Set mRs = New ADODB.Recordset

mRs.Open s, Cn, adOpenStatic, adLockReadOnly If mRs.RecordCount > 0 Then

mRs.MoveFirst ' Me.comdongia.Clear

Me.comdongia.Text = mRs(0) ' Me.combochatluong.Clear Do While Not mRs.EOF

Me.comdongia.AddItem mRs(0) mRs.MoveNext Loop End If mRs.Close End Sub

Private Sub comMAKHO_Click() 'load danh muc vat tu theo kho Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset Me.cboMaVatTu.Clear

Me.combochatluong.Clear Me.comdongia.Clear

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho

rs.Open "Select ma_vt,ten_vt,viewthe_khott.makho from viewthe_khott where makho ='" & Trim(frmTheKho.commakho.ColText) & "' group by makho,ma_vt,ten_vt", Cn, adOpenStatic, adLockOptimistic

If rs.RecordCount > 0 Then rs.MoveFirst

'Me.cboMaVatTu.Clear Do While Not rs.EOF

Me.cboMaVatTu.AddItem rs(0) & vbTab & rs(1) rs.MoveNext Loop End If rs.Close Set rs = Nothing

' LOAD DON GIA End Sub

Private Sub Form_Load() ' TheKho

Dim rs As New ADODB.Recordset 'load danh muc kho

Set rs = New ADODB.Recordset

rs.Open "Select MaKho,TenKHo from viewThe_KhoTT group by MaKho,TenKho order by MaKho,TenKho", Cn, adOpenStatic, adLockReadOnly

If rs.RecordCount > 0 Then rs.MoveFirst

Do While Not rs.EOF

Me.commakho.AddItem rs(0) & vbTab & rs(1) rs.MoveNext Loop End If rs.Close Set rs = Nothing 'load chatluong

' Set mRs = New ADODB.Recordset '

' mRs.Open "SELECT ma_cl,ten_cl FROM chatluong where makho ='" & Trim(frmTheKho.commakho.ColText) & "' AND MA_VT ='" &

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho

Trim(frmTheKho.cboMaVatTu.ColText) & "' ", Cn, adOpenDynamic, adLockReadOnly

' Do While Not mRs.EOF

' combochatluong.AddItem Trim(mRs!ma_cl) & vbTab & Trim(mRs! TEN_cl)

' '& vbTab & Trim(mRs!TEN_TCX) ' mRs.MoveNext ' Loop ' mRs.Close ' Set mRs = Nothing ' End Sub

Mó nguồn trong Form phục hồi dữ liệu

Private Sub cmdcancel_Click() Unload Me

End Sub

Private Sub cmdok_Click() On Error GoTo loi

MsgBox "Bạn nờn sao lưu dữ liệu trước khi khụi phục !!!", vbCritical, "Cảnh bỏo"

If MsgBox("Dữ liệu sẽ bị ghi đố. Bạn cú chắc chắn khụi phục hay khụng ?", vbQuestion + vbYesNo, "Khụi phục dữ liệu") = vbYes Then

'huy ket noi toi CSDL

Screen.MousePointer = vbHourglass DE_HH.CN_HH.Close

Cn.Close

'Kill App.Path & "\db1.mdb" 'xoa file db1.mdb Dim fso As New FileSystemObject

Dim s As String s = Dir1.Path & "\" s = s & List1.Text

fso.CopyFile s, App.Path & "\db1.mdb", True

MsgBox "Đó khụi phục thành cụng !!!", vbInformation, "Thụng bỏo" Screen.MousePointer = vbNormal

connect_database 'khoi tao ket noi toi CSDL End If

exit_loi: Exit Sub loi:

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho

MsgBox "Lỗi " & Err.Number & ":" & Err.Description, vbCritical, "Cảnh bỏo"

connect_database

Screen.MousePointer = vbNormal End Sub

Private Sub Dir1_Change() 'File1.Path = Dir1.Path On Error GoTo loi

Dim fso As New FileSystemObject Dim fil As file

Dim fol As Folder

Set fol = fso.GetFolder(Dir1.Path) List1.Clear

For Each fil In fol.Files

If UCase(Right(fil.Field Name, 4)) = ".MDB" Then List1.AddItem fil.Field Name

End If Next exit_loi: Exit Sub loi:

MsgBox "Lỗi " & Err.Number & ":" & Err.Description, vbCritical, "Cảnh bỏo"

connect_database End Sub

Private Sub Drive1_Change() On Error GoTo loi

Dir1.Path = Drive1.Drive exit_loi:

Exit Sub loi:

MsgBox "Lỗi " & Err.Number & ": " & Err.Description, vbCritical, "Cảnh bỏo" Drive1.Drive = Left(App.Path, 2) Me.Dir1.Path = App.Path Resume exit_loi End Sub

Mó nguồn trong Form Viết phiếu nhập.

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho Dim State As String

Public mSTT_REC As Integer Dim mSO_CT As String Private Sub cmdADD_Click() State = "ADD" cmdEDIT.Caption = "&Ghi" cmdDEL.Caption = "&Hũy" cmdDEL.Enabled = True cmdEDIT.Enabled = True cmdADD.Enabled = False cmdCANDOI.Enabled = False mSO_CT = "" Call EmptyItem Call LockItem(False)

txtNGAY_CT.Value = Format(Date, "dd/mmm/yyyy") txtSO_CT.SetFocus cmdPREV.Enabled = False cmdNEXT.Enabled = False cmdfirst.Enabled = False cmdlast.Enabled = False comMAKHO.Enabled = False cmdIN.Enabled = False cmdADD_VT.Enabled = False cmdEDIT_VT.Enabled = False cmdDEL_VT.Enabled = False End Sub

Private Sub cmdADD_VT_Click() frmRUOT_PN.State = "ADD" frmRUOT_PN.Show 1

End Sub

Private Sub cmdCANDOI_Click()

If MsgBox("Bạn thực sự muốn cõn đối vật tư trong kho!", vbOKCancel, "Chỳ ý !") = vbOK Then

Cn.Execute "DELETE * FROM CDTEMP" Cn.Execute "delete * from CDTEMP2" Cn.Execute "delete * from TON_KHO"

Cn.Execute "INSERT INTO CDTEMP(MAKHO,MA_VT,CL,SL_DAU,DG) SELECT MAKHO,MA_VT,CL,SL,DG FROM TON_DAU "

Cn.Execute "INSERT INTO

CDTEMP(MAKHO,MA_VT,CL,SL_NHAP,DG) SELECT

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho

Cn.Execute "INSERT INTO CDTEMP(MAKHO,MA_VT,CL,SL_XUAT,DG) SELECT MAKHO,MA_VT,CL,SL, DG from viewPSXUAT'"

Cn.Execute "INSERT INTO

CDTEMP2(MAKHO,MA_VT,CL,SL_DAU,SL_NHAP,SL_XUAT,DG) SELECT * FROM viewTONGHOP"

Cn.Execute "INSERT INTO TON_KHO(MAKHO,MA_VT,CL,SL,DG) SELECT * FROM viewTONKHO"

cmdCANDOI.Enabled = False End If

End Sub

Private Sub cmdDEL_Click() If State = "" Then

If MsgBox("Thực sự muốn xúa phiếu nhập này !", vbOKCancel, "Chỳ ý !") = vbOK Then

Cn.Execute "DELETE FROM CTVT WHERE STT_REC=" & Str(rs! Stt_Rec)

Cn.Execute "DELETE FROM CTCHUNG WHERE STT_REC=" & Str(rs!Stt_Rec)

rs.Requery

rs.Find "MAKHO='" & Trim(comMAKHO.ColText) & "'" cmdEDIT.Caption = "&Sửa phiếu"

cmdDEL.Caption = "&Xúaphiếu" cmdADD.Enabled = True Call LockItem(True) If rs.EOF Then Call EmptyItem cmdDEL.Enabled = False cmdEDIT.Enabled = False cmdIN.Enabled = False cmdADD_VT.Enabled = False cmdDEL_VT.Enabled = False cmdEDIT_VT.Enabled = False Else Call MovePhieu cmdDEL.Enabled = True cmdEDIT.Enabled = True cmdIN.Enabled = True End If End If Else State = ""

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho cmdDEL.Caption = "&Xúaphiếu"

cmdADD.Enabled = True Call LockItem(True) cmdADD.SetFocus

If rs.BOF And rs.EOF Then cmdDEL.Enabled = False cmdEDIT.Enabled = False cmdIN.Enabled = False cmdADD_VT.Enabled = False cmdDEL_VT.Enabled = False cmdEDIT_VT.Enabled = False Call EmptyItem Else cmdIN.Enabled = True Call MovePhieu End If cmdPREV.Enabled = True cmdNEXT.Enabled = True cmdfirst.Enabled = True cmdlast.Enabled = True comMAKHO.Enabled = True End If cmdCANDOI.Enabled = True End Sub

Private Sub cmdDEL_VT_Click()

If MsgBox("Thực sự muốn xúa khoản hàng này !", vbOKCancel, "Chỳ ý !") = vbOK Then

Cn.Execute "DELETE FROM CTVT WHERE STT_REC=" & Str(mSTT_REC) & " AND STT_KHOAN = " & Grid.TextMatrix(Grid.Row, 0) Call RuotPhieu(rs!Stt_Rec)

End If End Sub

Private Sub cmdEDIT_Click() Dim Ten_ND

Dim Sql As String Dim mDate As String If State = "" Then State = "EDIT"

cmdEDIT.Caption = "&Ghi" cmdDEL.Caption = "&Hũy" cmdDEL.Enabled = True

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho cmdEDIT.Enabled = True cmdADD.Enabled = False Call LockItem(False) mSO_CT = Trim(txtSO_CT.Text) txtSO_CT.Enabled = False cmdPREV.Enabled = False cmdNEXT.Enabled = False cmdfirst.Enabled = False cmdlast.Enabled = False comMAKHO.Enabled = False cmdIN.Enabled = False cmdADD_VT.Enabled = False cmdEDIT_VT.Enabled = False cmdDEL_VT.Enabled = False Else

If State = "ADD" Then

If Ktra_SoCT(Trim(txtSO_CT.Text), "PN") = True Then txtSO_CT.SetFocus

MsgBox "Trựng số chứng từ !", vbCritical, "Chỳ ý !" Exit Sub

End If

If txtSO_CT = "" Then

MsgBox "Chưa nhập số chứng từ !", vbCritical, "Chỳ ý !" txtSO_CT.SetFocus

Exit Sub End If End If

If txtNGAY_HH.Value <= txtNGAY_CT.Value Then

MsgBox " Ngày hết hạn nhập sai !", vbCritical, "Chỳ ý !" txtNGAY_HH.SetFocus

Exit Sub End If

If txtNGAY_HH.ValueIsNull Then

MsgBox "Ngày hết hạn khụng được để trống !", vbCritical, "Chỳ ý !" txtNGAY_HH.SetFocus

Exit Sub End If

If IsDate(txtNGAY_CT.Value) = False Then

MsgBox "Ngày chứng từ nhập sai !", vbCritical, "Chỳ ý !" txtNGAY_CT.SetFocus

Exit Sub End If

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho MsgBox "Chưa nhập tớnh chất nhập !", vbCritical, "Chỳ ý !" comMA_TCN.SetFocus

Exit Sub End If

If comMA_DVN.ListIndex = -1 Then

MsgBox "Chưa nhập đơn vị giao hàng !", vbCritical, "Chỳ ý !" comMA_DVN.SetFocus

Exit Sub End If

If State = "ADD" Then rs.AddNew

End If

rs!MA_CT = "PN"

rs!So_CT = UCase(Trim(txtSO_CT.Text))

rs!NGAY_CT = IIf(IsNull(txtNGAY_CT.Value), Null, Format(txtNGAY_CT.Value, "dd/mm/yyyy"))

rs!NGUOI_NHAP = Trim(f_user)

rs!MaKHO = Trim(comMAKHO.ColText) rs!MA_DVN = Trim(comMA_DVN.ColText) rs!MA_TCN = Trim(comMA_TCN.ColText)

rs!NGAY_HH = IIf(IsNull(txtNGAY_HH.Value), Null, Format(txtNGAY_HH.Value, "dd/mm/yyyy"))

rs.UpdateBatch adAffectAllChapters cmdEDIT.Caption = "&Sửa phiếu" cmdDEL.Caption = "&Xúa phiếu" cmdDEL.Enabled = True cmdEDIT.Enabled = True cmdADD.Enabled = True cmdIN.Enabled = True Call LockItem(True) rs.Requery cmdADD.SetFocus If State = "ADD" Then rs.MoveLast Call MovePhieu frmRUOT_PN.State = "ADD" frmRUOT_PN.Show 1 Else Call MovePhieu End If State = "" cmdPREV.Enabled = True cmdNEXT.Enabled = True

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho cmdfirst.Enabled = True cmdlast.Enabled = True comMAKHO.Enabled = True cmdIN.Enabled = True End If cmdCANDOI.Enabled = True End Sub

Private Sub cmdEDIT_VT_Click() frmRUOT_PN.State = "EDIT" frmRUOT_PN.Show 1

End Sub

Private Sub cmdEXIT_Click() Unload Me

End Sub

Private Sub cmdfirst_Click() If Not rs.EOF Then

rs.MoveFirst End If

If Not rs.EOF Then Call MovePhieu Else

If rs.BOF Then Exit Sub rs.MoveLast

Call MovePhieu End If

End Sub

Private Sub cmdIN_Click() reportPN.Show 1

End Sub

Private Sub cmdlast_Click() If Not rs.EOF Then

rs.MoveLast End If

If Not rs.EOF Then Call MovePhieu Else

If rs.BOF Then Exit Sub rs.MoveFirst

Call MovePhieu End If

End Sub

Private Sub cmdNEXT_Click() If Not rs.EOF Then

Phõn tớch và thiết kế phần mềm Quản lớ hàng hoỏ vật tư lưu kho rs.MoveNext

End If

If Not rs.EOF Then Call MovePhieu Else

If rs.BOF Then Exit Sub rs.MoveLast

Call MovePhieu End If

End Sub

Private Sub cmdPREV_Click() If Not rs.BOF Then

rs.MovePrevious End If

If Not rs.BOF Then Call MovePhieu End If

End Sub

Private Sub comMA_DVN_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then

comMA_TCN.SetFocus End If

End Sub

Private Sub comMA_DVN_LostFocus() On Error Resume Next

If comMA_DVN.ListIndex = -1 Then comMA_DVN.Text = ""

End If End Sub

Private Sub comMA_TCN_LostFocus()

Một phần của tài liệu Phân tích và thiết kế phần mềm Quản líhàng hoá vật tư lưu kho (Trang 73 - 102)

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

(109 trang)
w