Hướng phỏt triển của đề tài là sẽ xõy dựng chương trỡnh hoàn thiện, cú thể giải quyết tốt cỏc vấn đề mà thực tế đặt ra, tiếp tục tỡm hiểu đề tài để cú thể ứng dụng cho cỏc doanh nghiệp khỏc.
KẾT LUẬN VỀ ĐỀ TÀI
Quản lớ hàng húa đũi hỏi cỏc cỏn bộ nghiệp vụ phải luụn theo dừi diễn biến nhập, xuất, tồn kho hàng hoỏ ở bất kỡ thời điểm nào để cú cơ sở cõn đối, để đưa ra quyết định đỳng đắn trong việc cung ứng và dự trữ hàng hoỏ hợp lớ cho việc kinh doanh.
Việc xử lớ khối lượng lớn thụng tin để đạt được độ tin cậy cao trong cụng việc, trong một khoảng thời gian ngắn nhất định là việc làm rất vất vả của người làm cụng tỏc quản lớ mà kết quả thụng tin đem lại thường khụng hợp lớ, kịp thời và độ chớnh xỏc thấp.
Để cú độ chớnh xỏc cao, thụng tin kịp thời thực sự trở thành tài sản của cụng ty, cần cú sự hổ trợ của mỏy tớnh điện tử, và cần thiết nhất là hệ thống quản lớ hàng húa để quản lớ hàng húa diễn ra mau chúng, kịp thời và chớnh xỏc nhất.
Trong suốt quỏ trỡnh thực hiện đề tài, em đó tiếp thu được nhiều kiến thức sõu và rộng hơn về hệ thống thụng tin: về cỏch xõy dựng một phần mềm ứng dụng từ cỏc bước khảo sỏt hiện trạng tới phõn tớch, thiết kế hệ thống, tới chương trỡnh trỡnh ứng dụng. Mang lại cho em nhiều kinh nghiệm bổ ớch để giải quyết cỏc bài toỏn trong thực tế.
Tuy nhiờn, do cũn thiếu nhiều kinh nghiệm và khả năng bản thõn cú hạn, nờn trong chương trỡnh khụng trỏnh khỏi những thiếu sút. Em mong được sự giỳp đỡ và chỉ bảo của cỏc thầy cụ nhằm hoàn thiện đề tài hơn nữa và cú thể đưa chương trỡnh ứng dụng tốt trong thực tế.
TÀI LIỆU THAM KHẢO
[1] PGS.TS Phan Huy Khỏnh (2001), Giỏo trỡnh phõn tớch và thiết kế hệ
thống, Đại học Đà Nẵng .
[2] Trần Xuõn Hải, Nguyễn Thiện Tõm (2006), SQL Server 2000, Nhà xuất bản đại học Quốc gia TP. Hồ Chớ Minh .
[3] Nguyễn Thị Ngọc Mai (2000), Microsoft Visual Basic 6.0 và lập trỡnh
cơ sở dữ liệu, Nhà xuất bản giỏo dục.
[4] Lờ Đắc Nhường (2010), Giỏo trỡnh phõn tớch thiết kế hệ thống, Đại học Hải Phũng.
[5] Nguyễn Quang Thụng (2008), Giỏo trỡnh phõn tớch và thiết kế hệ thống
quản lý, Trung tõm đào tạo cụng nghệ AVNet.
[6] http://www.caulacbovb.com/ [7] http://www.vn-zoom.com/f138/
PHỤ LỤC
- Code chương trỡnh
+ Database Option Explicit
Public cn As ADODB.Connection
Public Sub mobang(rs As ADODB.Recordset, tenbang As String) Set rs = New ADODB.Recordset
rs.ActiveConnection = cn rs.Source = tenbang rs.CursorLocation = adUseClient rs.CursorType = adOpenDynamic rs.LockType = adLockOptimistic rs.Open End Sub
Public Sub taoketnoi(cn As ADODB.Connection) On Error GoTo loikn
If cn Is Nothing Then
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=QLHH;Data Source=(local)"
cn.CursorLocation = adUseClient cn.Open
Exit Sub loikn:
MsgBox "khong the ket noi toi nguon du lieu", vbCritical, "Loi ket noi" End If
Public Sub DongKetNoi(cn As ADODB.Connection) If cn.State = adStateOpen Then
cn.Close End If End Sub
Public Sub Dongbang(rs As ADODB.Recordset) If rs Is Nothing Then
Exit Sub End If
If rs.State = adStateOpen Then Set rs = Nothing
End If End Sub
+ Code đăng nhập Private Sub Dong_Click() Unload Me
End Sub
Private Sub Login_Click()
If User.Text = "admin" And Password.Text = "12345" Then mdiMAINFORM.Show
Dangnhap.Hide Else
MsgBox "Dang nhap that bai! Hay thu lai." End If
End Sub
+ Code giao diện chớnh
Option Explicit
Private Sub MDIForm_Load() Call taoketnoi(cn)
End Sub
Private Sub MDIForm_Unload(Cancel As Integer) Call DongKetNoi(cn)
End Sub
Private Sub mnubaocao_Click()
Call CanhGiua(frmBAOCAO, mdiMAINFORM) frmBAOCAO.Show
End Sub
Private Sub mnuHanghoa_Click()
Call CanhGiua(frmDMHH, mdiMAINFORM) frmDMHH.Show
End Sub
Private Sub mnuHoaDon_Click() frmHOADON.Show
End Sub
Private Sub mnuKHO_Click()
Call CanhGiua(frmDMKHO, mdiMAINFORM) frmDMKHO.Show
End Sub
Private Sub mnuthoat_Click()
If MsgBox("Ban co muon thoat khoi chuong trinh khong ", vbCritical + vbYesNo) = vbYes Then
End End If
End Sub
+ Code cập nhật danh mục hàng húa Option Explicit
Public m_IsInsert As Boolean Public m_IsModify As Boolean Public m_strMAHH As String
Private Sub Dong_Click() Unload Me
End Sub
Private Sub Form_Load()
Dim rsDMHH As ADODB.Recordset Me.Height = 7800 Me.Width = 8565 Call mobang(rsDMHH, "DMHH") Set grdDMHH.DataSource = rsDMHH SetTDBGrid SetToolbar (False) End Sub
Private Sub Form_Resize() If Me.WindowState = 2 Then
grdDMHH.Width = Me.ScaleWidth - 300 grdDMHH.Height = grdDMHH.Height + 3000 End If
End Sub
Private Sub grdDMHH_Click()
SetToolbar (True) Else
SetToolbar (False) End If
End Sub
Private Sub grdDMHH_Error(ByVal DataError As Integer, Response As Integer) DataError = 0
Response = 0 End Sub
Private Sub grdDMHH_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
If grdDMHH.ApproxCount <> 0 Then
m_strMAHH = grdDMHH.Columns("mahh").Value End If
End Sub
Public Sub SetTDBGrid()
grdDMHH.Columns("mahh").HeadAlignment = dbgCenter grdDMHH.Columns("mahh").Caption = "Mã hàng " grdDMHH.Columns("tenhh").HeadAlignment = dbgCenter grdDMHH.Columns("tenhh").Caption = "Tên hàng" grdDMHH.Columns("dacdiem").HeadAlignment = dbgCenter grdDMHH.Columns("dacdiem").Caption = "Đặc điểm" grdDMHH.Columns("hangsx").HeadAlignment = dbgCenter grdDMHH.Columns("hangsx").Caption = "Hãng SX" grdDMHH.ExtendRightColumn = True End Sub
Public Sub SetToolbar(enable As Boolean) tlbDMHH.Buttons(3).enabled = enable
tlbDMHH.Buttons(5).enabled = enable End Sub
Private Sub tlbDMHH_ButtonClick(ByVal Button As MSComctlLib.Button) Dim rsDMHH As ADODB.Recordset
Select Case Button.Key Case "them": With frmInsert_DMHH .m_IsInsert = True .Show End With Case "sua": With frmInsert_DMHH .m_IsInsert = False .Show End With Case "xoa"
If MsgBox("Thong tin ve hang hoa se bi xoa het trong CSDL " & vbNewLine & " Ban co chac chan xoa khong?", vbCritical + vbYesNo, "Thong bao") = vbYes Then
XoaDuLieu Call mobang(rsDMHH, "DMHH") Set grdDMHH.DataSource = rsDMHH End If End Select End Sub
Private Sub XoaDuLieu()
Dim rsHANGHOAHOADON As ADODB.Recordset Dim strMAHH As String
Dim strSQL As String
strSQL = "SELECT MAHH FROM HANGHOAHOADON" Call mobang(rsHANGHOAHOADON, strSQL)
strMAHH = grdDMHH.Columns("mahh").Value Do While Not rsHANGHOAHOADON.EOF
If strMAHH = rsHANGHOAHOADON!mahh Then
MsgBox "Hang hoa da nhap kho khong duoc xoa ", vbCritical, "Thong bao" Exit Sub Else rsHANGHOAHOADON.MoveNext End If Loop
cn.Execute "DELETE FROM DMHH WHERE MAHH='" & strMAHH & "'" End Sub
+ Code Insert danh mục hàng húa Option Explicit
Public m_IsInsert As Boolean Public m_IsModify As Boolean
Private Sub Dong_Click() Unload Me
End Sub
Private Sub Form_Load() Me.Height = 4125 Me.Width = 4965 Call SetControl
If Me.m_IsInsert Then
ClearText Else
Me.Caption = "Sua du lieu" HienThiSua
End If
Call CanhGiua(frmInsert_DMHH, mdiMAINFORM) End Sub
Private Sub HienThiSua()
If Not frmDMHH.grdDMHH.EOF Then
txtmahh.Text = frmDMHH.grdDMHH.Columns("mahh").Value txtTenhh.Text = frmDMHH.grdDMHH.Columns("tenhh").Value txtDacDiem.Text = frmDMHH.grdDMHH.Columns("dacdiem").Value txtHangSX.Text = frmDMHH.grdDMHH.Columns("hangsx").Value End If m_IsModify = False End Sub
Private Function CheckValidInputs() As Boolean If txtmahh.Text = "" Then
MsgBox "Ban chua nhap ma hang ", vbCritical + vbOKOnly, "Thong bao" txtmahh.SetFocus
Exit Function End If
CheckValidInputs = True End Function
Private Function Save_Data(save_type As Boolean) As Boolean Dim strSQL As String
Dim strMAHH As String If CheckValidInputs Then
If save_type = True Then ' Modify data
strSQL = "UPDATE DMHH SET mahh='" & Me.txtmahh.Text & "'," & _ "tenhh = '" & Me.txtTenhh.Text & "'," & _
" dacdiem='" & Me.txtDacDiem.Text & "', " & _
" hangsx='" & Me.txtHangSX.Text & "' WHERE MAHH='" & frmDMHH.m_strMAHH & "'"
cn.Execute strSQL Else
strMAHH = txtmahh.Text
strSQL = "SELECT MAHH FROM DMHH" Call mobang(rsDMHH, strSQL)
Do While Not rsDMHH.EOF
If strMAHH = rsDMHH!mahh Then
MsgBox "Ma hang hoa da ton tai trong danh muc", vbCritical, "Thong bao" txtmahh.SetFocus Exit Function Else rsDMHH.MoveNext End If Loop strSQL = "INSERT INTO DMHH (MAHH,TENHH,DACDIEM,HANGSX)" & _
"VALUES ('" & Me.txtmahh.Text & "','" & Me.txtTenhh.Text & "'," & _ "'" & Me.txtDacDiem.Text & " ','" & Me.txtHangSX.Text & "')"
cn.Execute strSQL End If
ClearText txtmahh.SetFocus Else Save_Data = True End If m_IsInsert = False m_IsModify = False End Function
Private Sub ClearText() Me.txtmahh.Text = "" Me.txtTenhh.Text = "" Me.txtDacDiem.Text = "" Me.txtHangSX.Text = "" Me.m_IsInsert = True Me.m_IsModify = False End Sub
Private Sub SetControl() Dim intI As Integer Me.txtmahh.Height = 310 Me.txtTenhh.Height = 310 Me.txtDacDiem.Height = 310 Me.txtHangSX.Height = 310
For intI = lblThongTin.LBound To lblThongTin.UBound Me.lblThongTin(intI).FontName = ".vntime" Me.lblThongTin(intI).FontSize = 10 Next Me.lblThongTin(0).Caption = "Mã hàng :" Me.lblThongTin(1).Caption = "Tên hàng :" Me.lblThongTin(2).Caption = "Đặc điểm :"
Me.lblThongTin(3).Caption = "Hãng sản xuất :" End Sub
Private Sub Form_Unload(Cancel As Integer) Dim rsDMHH As ADODB.Recordset Dim intXacNhan As Integer
If Me.m_IsModify Then
intXacNhan = MsgBox("Hang hoa chua duoc ghi ban co muon ghi lai hay khong?", vbExclamation + vbYesNoCancel, "Thong bao")
If intXacNhan = vbYes Then If m_IsInsert Then
Cancel = Save_Data(False) Else
Cancel = Save_Data(True) End If
ElseIf intXacNhan = vbCancel Then Cancel = True
End If End If
If Cancel = False Then
Call mobang(rsDMHH, "DMHH")
Set frmDMHH.grdDMHH.DataSource = rsDMHH Unload Me
End If
End Sub
Private Sub tlbThemGhiHuy_ButtonClick(ByVal Button As MSComctlLib.Button)
Case "them":
Dim intXacNhan As Integer Dim IsSaved As Boolean
If m_IsInsert Or m_IsModify Then
intXacNhan = MsgBox("Hang hoa chua duoc ghi ban co muon ghi lai hay khong?", vbExclamation + vbYesNoCancel, "Thong bao")
If intXacNhan = vbYes Then If m_IsInsert Then IsSaved = Save_Data(False) Else IsSaved = Save_Data(True) End If End If End If
If Not IsSaved Then ClearText End If Case "ghi": If m_IsInsert Then Save_Data (False) Else Save_Data (True) End If Case "huy" Unload Me End Select End Sub
Me.m_IsModify = True End Sub
Private Sub txtDacDiem_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
Me.txtHangSX.SetFocus End If
End Sub
Private Sub txtHangSX_Change() Me.m_IsModify = True
End Sub
Private Sub txtmahh_Change() Me.m_IsModify = True End Sub
Private Sub txtmahh_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
txtTenhh.SetFocus End If
End Sub
Private Sub txtTenhh_Change() Me.m_IsModify = True End Sub
Private Sub txtTenhh_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
End If End Sub
+ Code cập nhật danh mục kho Option Explicit
Public m_IsInsert As Boolean Public m_IsModify As Boolean Public m_strMAKHO As String
Private Sub Dong_Click() Unload Me
End Sub
Private Sub Form_Load()
Dim rsDMKHO As ADODB.Recordset Me.Height = 7455
Me.Width = 8565 Call SetTDBGrid SetToolbar (False)
Call mobang(rsDMKHO, "DMKHO") Set grdDMKHO.DataSource = rsDMKHO End Sub
Private Sub Form_Resize() If Me.WindowState = 2 Then
grdDMKHO.Width = Me.ScaleWidth - 300
grdDMKHO.Height = grdDMKHO.Height + 3000 End If
End Sub
tlbThemXoaSua.Buttons(3).enabled = enable tlbThemXoaSua.Buttons(5).enabled = enable End Sub
Private Sub grdDMKHO_Click()
If grdDMKHO.ApproxCount <> 0 Then SetToolbar (True) Else SetToolbar (False) End If End Sub
Private Sub grdDMKHO_RowColChange(LastRow As Variant, ByVal LastCol As Integer) If grdDMKHO.ApproxCount <> 0 Then m_strMAKHO = grdDMKHO.Columns("makho").Value End If End Sub
Public Sub SetTDBGrid()
grdDMKHO.Columns("makho").HeadAlignment = dbgCenter grdDMKHO.Columns("makho").Caption = "Mã kho"
grdDMKHO.Columns("makho").ConvertEmptyCell = dbgAsNull grdDMKHO.Columns("tenkho").HeadAlignment = dbgCenter grdDMKHO.Columns("tenkho").Caption = "Tên kho"
grdDMKHO.Columns("tenkho").ConvertEmptyCell = dbgAsNull grdDMKHO.Columns("dienthoai").HeadAlignment = dbgCenter grdDMKHO.Columns("dienthoai").Caption = "Điện thoại"
grdDMKHO.Columns("diachi").HeadAlignment = dbgCenter grdDMKHO.Columns("diachi").Caption = "Địa chỉ" grdDMKHO.Columns("diachi").ConvertEmptyCell = dbgAsNull grdDMKHO.Columns("thukho").HeadAlignment = dbgCenter grdDMKHO.Columns("thukho").Caption = "Thủ kho" grdDMKHO.Columns("thukho").ConvertEmptyCell = dbgAsNull grdDMKHO.ExtendRightColumn = True End Sub
Private Sub tlbThemXoaSua_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim rsDMKHO As ADODB.Recordset Select Case Button.Key
Case "them": With frmInsert_DMKHO .m_IsInsert = True .Show End With Case "sua": With frmInsert_DMKHO .m_IsInsert = False .Show End With Case "xoa":
If MsgBox("Thong tin ve kho se bi xoa toan bo trong CSDL " &
vbNewLine & "Ban co chac chan xoa khong?", vbCritical + vbYesNo, "Thong bao") = vbYes Then
XoaDuLieu
Call mobang(rsDMKHO, "DMKHO") Set grdDMKHO.DataSource = rsDMKHO
End If End Select End Sub
Private Sub XoaDuLieu()
Dim rsHOADON As ADODB.Recordset Dim strMAKHO As String
Dim strSQL As String
strSQL = "SELECT MAKHO FROM HOADON" Call mobang(rsHOADON, strSQL)
strMAKHO = grdDMKHO.Columns("makho").Value Do While Not rsHOADON.EOF
If strMAKHO = rsHOADON!makho Then
MsgBox "Kho dang chua hang hoa khong duoc xoa ", vbCritical, "Thong bao" Exit Sub Else rsHOADON.MoveNext End If Loop
cn.Execute "DELETE FROM DMKHO WHERE MAKHO='" & strMAKHO & "'"
End Sub
+ Code Insert danh mục kho Option Explicit
Public m_IsInsert As Boolean Public m_IsModify As Boolean
Private Sub Dong_Click() Unload Me
Private Sub Form_Load() Me.Height = 4140 Me.Width = 4785 Call SetControl
If Me.m_IsInsert Then
Me.Caption = "Them du lieu" ClearText
Else
Me.Caption = "Sua du lieu" HienThiSua
End If
Call CanhGiua(frmInsert_DMKHO, mdiMAINFORM) End Sub
Private Sub HienThiSua()
If Not frmDMKHO.grdDMKHO.EOF Then
Me.txtmakho.Text = frmDMKHO.grdDMKHO.Columns("makho").Value Me.txtTenkho.Text = frmDMKHO.grdDMKHO.Columns("tenkho").Value Me.txtDiaChi.Text = frmDMKHO.grdDMKHO.Columns("diachi").Value Me.txtDienThoai.Text = frmDMKHO.grdDMKHO.Columns("dienthoai").Value Me.txtThuKho.Text = frmDMKHO.grdDMKHO.Columns("thukho").Value End If m_IsModify = False End Sub
Private Function CheckValidInputs() As Boolean If txtmakho.Text = "" Then
txtmakho.SetFocus Exit Function End If
CheckValidInputs = True End Function
Private Function Save_Data(save_type As Boolean) As Boolean Dim strSQL As String
Dim rsDMKHO As ADODB.Recordset Dim strMAKHO As String
If CheckValidInputs Then
If save_type = True Then ' update data
strMAKHO = frmDMKHO.m_strMAKHO
strSQL = "UPDATE DMKHO SET MAKHO='" & txtmakho.Text & "' ,tenkho='" & txtTenkho.Text & "'," & _
"diachi ='" & txtDiaChi.Text & "',dienthoai= '" & txtDienThoai.Text & "',thukho='" & txtThuKho.Text & "'WHERE MAKHO='" & strMAKHO & "'" cn.Execute strSQL
Else
strMAKHO = txtmakho.Text
Call mobang(rsDMKHO, "SELECT MAKHO FROM DMKHO") If Not rsDMKHO.EOF Then
rsDMKHO.MoveFirst ' kiem tra neu nhap trung ma kho Do While Not rsDMKHO.EOF
If strMAKHO = rsDMKHO!makho Then
MsgBox "Ma kho vua nhap da co trong danh muc " Call ClearText
txtmakho.SetFocus Exit Function Else
rsDMKHO.MoveNext End If
Loop End If
strSQL = "INSERT INTO DMKHO
(MAkho,TENKHO,DIENTHOAI,DIACHI,THUKHO) " & _
"VALUES ('" & txtmakho.Text & "','" & txtTenkho.Text & "'," & _ "'" & txtDienThoai.Text & " ','" & txtDiaChi.Text & "'," & _
"'" & txtThuKho.Text & "')" cn.Execute strSQL
End If
MsgBox "Thong tin da duoc luu vao CSDL", vbInformation, "Thong bao" txtmakho.SetFocus m_IsInsert = False m_IsModify = False ClearText Else Save_Data = True End If End Function
Private Sub ClearText() Me.txtmakho.Text = "" Me.txtTenkho.Text = "" Me.txtDiaChi.Text = "" Me.txtDienThoai.Text = "" Me.txtThuKho.Text = "" Me.m_IsInsert = True Me.m_IsModify = False End Sub
Private Sub SetControl() Dim intI As Integer
Me.txtmakho.Height = 310 Me.txtTenkho.Height = 310 Me.txtDiaChi.Height = 310 Me.txtDienThoai.Height = 310 Me.txtThuKho.Height = 310
For intI = lblThongTin.LBound To lblThongTin.UBound Me.lblThongTin(intI).FontName = ".vntime"
Me.lblThongTin(intI).FontSize = 10 Next
Me.lblThongTin(0).Caption = "Mã kho :" Me.lblThongTin(1).Caption = "Tên kho :" Me.lblThongTin(2).Caption = "Địa chỉ :" Me.lblThongTin(3).Caption = "Điện thoại :" Me.lblThongTin(4).Caption = "Thủ kho :" End Sub
Private Sub Form_Unload(Cancel As Integer) Dim rsDMKHO As ADODB.Recordset Dim intXacNhan As Integer
If Me.m_IsModify Then
intXacNhan = MsgBox("Thong tin ve kho chua duoc ghi ban co muon ghi lai hay khong?", vbExclamation + vbYesNoCancel, "Thong bao")
If intXacNhan = vbYes Then If m_IsInsert Then
Cancel = Save_Data(False) Else
End If
ElseIf intXacNhan = vbCancel Then Cancel = True
End If End If
If Cancel = False Then
Call mobang(rsDMKHO, "DMKHO")
Set frmDMKHO.grdDMKHO.DataSource = rsDMKHO Unload Me
End If End Sub
Private Sub tblThemGhiHuy_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim intXacNhan As Integer Dim IsSaved As Boolean Select Case Button.Key Case "them":
If m_IsInsert Or m_IsModify Then
intXacNhan = MsgBox("Thong tin ve kho chua duoc luu " &
vbNewLine & "Ban co muon luu hay khong?", vbExclamation + vbYesNoCancel, "Thong bao")
If intXacNhan = vbYes Then If m_IsInsert Then IsSaved = Save_Data(False) Else IsSaved = Save_Data(True) End If End If End If
If Not IsSaved Then ClearText End If Case "ghi": If m_IsInsert Then Save_Data (False) Else Save_Data (True) End If End Select End Sub
Private Sub txtthukho_Change() m_IsModify = True
End Sub
Private Sub txtdiachi_Change() m_IsModify = True
End Sub
Private Sub txtdiachi_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
Me.txtDienThoai.SetFocus End If
End Sub
Private Sub txtdienthoai_Change() m_IsModify = True
End Sub
If KeyAscii = 13 Then Me.txtThuKho.SetFocus End If
End Sub
Private Sub txtmakho_Change() m_IsModify = True
End Sub
Private Sub txtmakho_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
Me.txtTenkho.SetFocus End If
End Sub
Private Sub txttenkho_Change() m_IsModify = True
End Sub
Private Sub txttenkho_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
Me.txtDiaChi.SetFocus End If
End Sub
+ Code húa đơn Option Explicit
Public m_IsNhap As Boolean Public m_sSOHDSUA As String Dim m_SOHD(100) As String Public m_intTONG As Integer
Private Sub Form_Load() m_IsNhap = True Call SetListView Call SetTreeView Call HienThiNhap Call SetToolbar(False) End Sub
Private Sub Form_Resize() If Me.WindowState = 2 Then TvwNHAPXUAT.Height = Me.ScaleHeight - 1000 LvwHOADON.Height = Me.ScaleHeight - 1000 LvwHOADON.Width = Me.ScaleWidth - 2500 End If End Sub
Private Sub LvwHOADON_ItemCheck(ByVal Item As MSComctlLib.ListItem) m_intTONG = 0
For Each Item In LvwHOADON.ListItems If Item.Checked Then
m_intTONG = m_intTONG + 1
m_SOHD(m_intTONG) = Item.SubItems(1) ' luu lai so hoa don m_sSOHDSUA = Item.SubItems(1) End If Next If m_intTONG > 0 Then SetToolbar (True) Else
SetToolbar (False) End If
End Sub
Private Sub tlbThemXoaSua_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key Case "them": With frmXUATNHAP .m_IsInsert = True .Show End With Unload Me
Case "sua": ' sua hoa don If m_intTONG > 1 Then
MsgBox "Moi lan chi duoc sua mot hoa don ", vbCritical + vbOKOnly, "Thong bao" Exit Sub End If With frmXUATNHAP .m_IsInsert = False .Show End With Unload Me Case "xoa":
If MsgBox("Du lieu se bi xoa toan bo trong CSDL " & vbNewLine & "Ban co chac chan xoa khong ", vbCritical + vbYesNo) = vbYes Then
Call XoaHOADON Call HienThiNhap End If
Case "dong": Unload Me End Select End Sub
Private Sub TvwNHAPXUAT_NodeClick(ByVal Node As MSComctlLib.Node) If Node.Key = "n" Then
m_IsNhap = True Call HienThiNhap
ElseIf Node.Key = "x" Then m_IsNhap = False
Call HienThiXuat End If
End Sub
Public Sub HienThiNhap() ' hien thi hoa don nhap Dim intDem As Integer Dim intTONG As Integer
Dim rsHOADONNHAP As ADODB.Recordset
Call mobang(rsHOADONNHAP, "SELECT sohd,ngayhd,diengiai FROM HOADON WHERE LOAIHD=1")
intTONG = rsHOADONNHAP.RecordCount intDem = 1
LvwHOADON.ListItems.Clear
Do While Not rsHOADONNHAP.EOF And intDem <= intTONG LvwHOADON.ListItems.Add , , ""
LvwHOADON.ListItems(intDem).SubItems(1) = rsHOADONNHAP!SOHD LvwHOADON.ListItems(intDem).SubItems(2) = rsHOADONNHAP!ngayhd If IsNull(rsHOADONNHAP!diengiai) Then
LvwHOADON.ListItems(intDem).SubItems(3) = "" Else LvwHOADON.ListItems(intDem).SubItems(3) = rsHOADONNHAP! diengiai End If intDem = intDem + 1 rsHOADONNHAP.MoveNext Loop
Set rsHOADONNHAP = Nothing End Sub
Public Sub HienThiXuat() 'hien thi hoa don xuat Dim intDem As Integer Dim intTONG As Integer
Dim rsHOADONXUAT As ADODB.Recordset
Call mobang(rsHOADONXUAT, "SELECT sohd,ngayhd,diengiai FROM HOADON WHERE LOAIHD=0")
intDem = 1
intTONG = rsHOADONXUAT.RecordCount LvwHOADON.ListItems.Clear
Do While Not rsHOADONXUAT.EOF And intDem <= intTONG LvwHOADON.ListItems.Add , , "" LvwHOADON.ListItems(intDem).SubItems(1) = rsHOADONXUAT!SOHD LvwHOADON.ListItems(intDem).SubItems(2) = rsHOADONXUAT!ngayhd If IsNull(rsHOADONXUAT!diengiai) Then LvwHOADON.ListItems(intDem).SubItems(3) = " " Else LvwHOADON.ListItems(intDem).SubItems(3) = rsHOADONXUAT! diengiai
End If