Đồ án Xây dựng phần mềm quản lý bán hàng cho trung tâm thương mại NC-HT thuộc tập đoàn Hitech

Mục lục

A. Giới thiệu chung về đề tài lựa chọn

1. Tên đề tài 5

2. Lý do chọn đề tài 5

3. Mục tiêu của đề tài 6

4. Công cụ nghiên cứu và thực hiện đề tài 6

4.1 Hệ quản trị cơ sở dữ liệu Microsoft access 2003 6

4.2 Ngôn ngữ lập trình Visual Basic 6.0 6

4.3 Công cụ làm báo cáo Crystal Report 7

B. Nội dung 7

1. Nội dung bài toán quản lý bán hàng 7

2. Phân tích nghiệp vụ 9

2.1 Quy trình mua hàng 9

2.2 Quy trình quản lý kho 13

2.3 quy trình triển khai bán hàng 14

3. Phân tích yêu cầu người sử dụng 14

3.1 Yêu cầu chung 14

3.2 Yêu cầu đối với nghiệp cụ nhập hàng 15

3.3 Yêu cầu đối với nghiệp vụ xuất hàng 16

3.4 Yêu cầu đối với nghiệp vụ xuất báo cáo 16

3.5 Các yêu cầu khác 16

4. Phân tích hệ thống thông tin quản lý bán hàng và lưu kho tại trung tâm thương mại NC-HT 17

4.1 Sơ đồ chức năng kinh doanh của trung tâm thương mại 17

4.2 Sơ đồ luồng thông tin IFD 19

4.3 Sơ đồ luồng dữ liệu DFD 21

4.3.1 Sơ đồ ngữ cảnh

4.3.2 Sơ đồ DFD mức 0 của các nghiệp vụ quản lý bán hàng

 

 

4.4 Các bảng dữ liệu đầu vào 25

4.5 Các thuật toán 25

4.5.1 Giải thuật đăng nhập chương trình 27

4.5.2 Giải thuật sửa dữ liệu 28

4.5.3 Giải thuật tìm kiếm thông tin theo các cụm từ 28

Giao diện chương trình 29

Một số đoạn code chương trình 37

 

 

 

 

 

 

 

doc79 trang | Chia sẻ: maiphuongdc | Lượt xem: 3090 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Đồ án Xây dựng phần mềm quản lý bán hàng cho trung tâm thương mại NC-HT thuộc tập đoàn Hitech, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
xt 10 Số lượng Mối quan hệ giữa các bảng Các thuật toán Giải thuật đăng nhập chương trình Bắt đầu N=0 Nhập tên và mật khẩu N=N+1 N<=3 Thông báo lỗi Thực hiện chương trình Đăng nhập hệ thống Kiểm tra thông tin đăng nhập Đăng nhập lại không Kết thúc F T T T F Giải thuật sửa dữ liệu Hiện thông báo Có tồn tại bản ghi này không T F Kết thúc Có tiếp tục sửa không? Đóng Form sau khi sửa Bắt đầu Mở Form cần sửa Tìm bản ghi cần sửa F T Hiện bản ghi cần sửa Tiến hành sửa dữ liệu của bản ghi Lưu bản ghi Giải thuật tìm kiếm thông tin theo từ hoặc cụm từ T T F Đóng Form Có tiếp tục không? Kết thúc Hiển thị bản ghi tìm thấy Kiểm tra có bản ghi nào thoả mãn không ? Bắt đầu Nhập thông tin cần tìm kiếm Hiện thông báo F Các giao diện chương trình Một số đoạn code chương trình Code form danh mục khách hàng Private Sub KhongChoUpDate() GrdKH.AllowUpdate = False txtMakh.Locked = True txtTenkhachhang.Locked = True txtDiachi.Locked = True txtDienthoai.Locked = True txtGhichu.Locked = True End Sub Private Sub ChoPhepUpDate() GrdKH.AllowUpdate = True txtMakh.Locked = False txtTenkhachhang.Locked = False txtDiachi.Locked = False txtDienthoai.Locked = False txtGhichu.Locked = False End Sub Private Sub cmdKTTK_Click() txtGiatri.Text = "" cbTimtheo.Text = "" NapAdodcKH lbSokq.Caption = "" lbSokq1.Caption = "Số bản ghi:" & AdodcKH.Recordset.RecordCount KhongChoUpDate End Sub Private Sub cmdTim_Click() Dim str As String Dim trloi As Integer If cbTimtheo.Text = "" Then trloi = MsgBox("Bạn hãy nhập tiêu thức cần tìm kiếm", vbOKOnly) If trloi = vbOK Then cbTimtheo.SetFocus Exit Sub End If ElseIf txtGiatri.Text = "" Then trloi = MsgBox("Bạn hãy nhập giá trị cần tìm kiếm", vbOKOnly) If trloi = vbOK Then txtGiatri.SetFocus Exit Sub End If ElseIf cbTimtheo.Text = "Ma KH" Then str = "MaKH" ElseIf cbTimtheo.Text = "Ten KH" Then str = "TenKH" ElseIf cbTimtheo.Text = "Địa chỉ" Then str = "DiaChi" ElseIf cbTimtheo.Text = "Điện thoạii" Then str = "DT" ElseIf cbTimtheo.Text = "Ghi chú" Then str = "GhiChu" End If AdodcKH.RecordSource = "SELECT MaKH,TenKH,DiaChi, DT,GhiChu FROM KhachHang where " & str & "='" & txtGiatri.Text & "' ORDER BY MaKH " AdodcKH.Refresh lbSokq.Caption = "Số kết quả:" & AdodcKH.Recordset.RecordCount lbSokq1.Caption = "" End Sub Private Sub Form_Load() AdodcKH.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database\QuanLyBanHang.mdb;Persist Security Info=False" NapAdodcKH lbSokq1.Caption = "Số bản ghi:" & AdodcKH.Recordset.RecordCount KhongChoUpDate End Sub Private Sub NapAdodcKH() AdodcKH.CommandType = adCmdText AdodcKH.RecordSource = "SELECT MaKH,TenKH,DiaChi, DT,GhiChu FROM KhachHang ORDER BY MaKH" AdodcKH.Refresh End Sub Private Sub CmdThem_Click() Dim Traloi As Integer Traloi = MsgBox("Bạn muốn thêm bản ghi mớii ?", vbInformation + vbYesNo) If Traloi = vbNo Then AdodcKH.Refresh Exit Sub Else AdodcKH.Recordset.AddNew ChoPhepUpDate txtMakh.SetFocus End If End Sub Private Sub CmdLuu_Click() AdodcKH.Recordset.Save GrdKH.AllowUpdate = False lbSokq1.Caption = "Số bản ghi:" & AdodcKH.Recordset.RecordCount End Sub Private Sub CmdChon_Click() ChoPhepUpDate End Sub Private Sub CmdSua_Click() Dim Traloi As Integer Traloi = MsgBox("Bạn muốn sửa bản ghi ?", vbInformation + vbYesNo) If Traloi = vbNo Then AdodcKH.Refresh Exit Sub Else GrdKH.AllowUpdate = True AdodcKH.Recordset.Update End If KhongChoUpDate End Sub Private Sub CmdXoa_Click() Dim Traloi As Integer Traloi = MsgBox("bạn muốn xoá bản ghi này ?", vbInformation + vbYesNo) If Traloi = vbNo Then GrdKH.AllowDelete = False Else GrdKH.AllowDelete = True AdodcKH.Recordset.Delete End If lbSokq1.Caption = "Số bản ghii:" & AdodcKH.Recordset.RecordCount End Sub Code form danh mục mặt hàng Private Sub KhongChoUpDate() GrdMH.AllowUpdate = False txtMahh.Locked = True txtTenhang.Locked = True txtDvt.Locked = True txtGianhap.Locked = True txtGiaban.Locked = True txtTonkho.Locked = True txtXuatxu.Locked = True txtHansudung.Locked = True End Sub Private Sub ChoPhepUpDate() GrdMH.AllowUpdate = True txtMahh.Locked = False txtTenhang.Locked = False txtDvt.Locked = False txtGianhap.Locked = False txtGiaban.Locked = False txtTonkho.Locked = False txtXuatxu.Locked = False txtHansudung.Locked = False End Sub Private Sub cmdKTTK_Click() txtGiatri.Text = "" cbTimtheo.Text = "" NapAdodcMH lbSokq.Caption = "" lbSokq1.Caption = "Số bản ghi:" & AdodcMH.Recordset.RecordCount KhongChoUpDate End Sub Private Sub cmdTim_Click() Dim str As String Dim trloi As Integer If cbTimtheo.Text = "" Then trloi = MsgBox("Bạn hãy nhập tiêu thức tìm kiếm", vbOKOnly) If trloi = vbOK Then cbTimtheo.SetFocus Exit Sub End If ElseIf txtGiatri.Text = "" Then trloi = MsgBox("Bạn hãy nhập giá trị cần tìm kiếm, vbOKOnly) If trloi = vbOK Then txtGiatri.SetFocus Exit Sub End If ElseIf cbTimtheo.Text = "M· hµng" Then str = "MaHH" AdodcMH.RecordSource = "SELECT MaHH,TenHH,DVT,GiaNhap,GiaBan,TonKho,Xuatxu,HanSuDung FROM HangHoa where " & str & "='" & txtGiatri.Text & "' ORDER BY MaHH " ElseIf cbTimtheo.Text = "Tên hàng" Then str = "TenHH" AdodcMH.RecordSource = "SELECT MaHH,TenHH,DVT,GiaNhap,GiaBan,TonKho,Xuatxu,HanSuDung FROM HangHoa where " & str & "='" & txtGiatri.Text & "' ORDER BY MaHH " ElseIf cbTimtheo.Text = "Đơn vị tính" Then str = "DVT" AdodcMH.RecordSource = "SELECT MaHH,TenHH,DVT,GiaNhap,GiaBan,TonKho,Xuatxu,HanSuDung FROM HangHoa where " & str & "='" & txtGiatri.Text & "' ORDER BY MaHH " ElseIf cbTimtheo.Text = "Giá nhập" Then str = "GiaNhap" AdodcMH.RecordSource = "SELECT MaHH,TenHH,DVT,GiaNhap,GiaBan,TonKho,Xuatxu,HanSuDung FROM HangHoa where " & str & "=" & txtGiatri.Text & " ORDER BY MaHH " ElseIf cbTimtheo.Text = "Xuất xứ" Then str = "Xuatxu" AdodcMH.RecordSource = "SELECT MaHH,TenHH,DVT,GiaNhap,GiaBan,TonKho,Xuatxu,HanSuDung FROM HangHoa where " & str & "='" & txtGiatri.Text & "' ORDER BY MaHH " ElseIf cbTimtheo.Text = "Hạn sử dụng" Then str = "HanSuDung" AdodcMH.RecordSource = "SELECT MaHH,TenHH,DVT,GiaNhap,GiaBan,TonKho,Xuatxu,HanSuDung FROM HangHoa where " & str & "=DateValue('" & txtGiatri.Text & "') ORDER BY MaHH " ElseIf cbTimtheo.Text = "Tồn kho" Then str = "TonKho" AdodcMH.RecordSource = "SELECT MaHH,TenHH,DVT,GiaNhap,GiaBan,TonKho,Xuatxu,HanSuDung FROM HangHoa where " & str & "=" & txtGiatri.Text & " ORDER BY MaHH " ElseIf cbTimtheo.Text = "Giá bán" Then str = "GiaBan" AdodcMH.RecordSource = "SELECT MaHH,TenHH,DVT,GiaNhap,GiaBan,TonKho,Xuatxu,HanSuDung FROM HangHoa where " & str & "=" & txtGiatri.Text & " ORDER BY MaHH " End If AdodcMH.Refresh lbSokq.Caption = "Số kết quả:" & AdodcMH.Recordset.RecordCount lbSokq1.Caption = "" End Sub Private Sub Form_Load() AdodcMH.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database\QuanLyBanHang.mdb;Persist Security Info=False" NapAdodcMH lbSokq1.Caption = "Số bản ghi:" & AdodcMH.Recordset.RecordCount KhongChoUpDate End Sub Private Sub NapAdodcMH() AdodcMH.CommandType = adCmdText AdodcMH.RecordSource = "SELECT MaHH,TenHH,DVT,GiaNhap,GiaBan,TonKho,Xuatxu,HanSuDung FROM HangHoa ORDER BY MaHH" AdodcMH.Refresh End Sub Private Sub CmdThem_Click() Dim Traloi As Integer Traloi = MsgBox("Bạn muốn thêm bản ghi mới ?", vbInformation + vbYesNo) If Traloi = vbNo Then AdodcMH.Refresh Exit Sub Else AdodcMH.Recordset.AddNew ChoPhepUpDate txtMahh.SetFocus End If End Sub Private Sub CmdLuu_Click() AdodcMH.Recordset.Save GrdMH.AllowUpdate = False lbSokq1.Caption = "Số bản ghi:" & AdodcMH.Recordset.RecordCount End Sub Private Sub CmdChon_Click() ChoPhepUpDate End Sub Private Sub CmdSua_Click() Dim Traloi As Integer Traloi = MsgBox("Bạn muốn sửa bản ghi này?", vbInformation + vbYesNo) If Traloi = vbNo Then AdodcMH.Refresh Exit Sub Else GrdMH.AllowUpdate = True AdodcMH.Recordset.Update End If KhongChoUpDate End Sub Private Sub CmdXoa_Click() Dim Traloi As Integer Traloi = MsgBox("Bạn muốn xoá bản ghi này ?", vbInformation + vbYesNo) If Traloi = vbNo Then GrdMH.AllowDelete = False Else GrdMH.AllowDelete = True AdodcMH.Recordset.Delete End If lbSokq1.Caption = "Số bản ghi:" & AdodcMH.Recordset.RecordCount End Sub Code form hoá đơn bán hàng Option Explicit Dim KiemtraHH As Integer Dim KiemtraHD As Integer Dim rsMaHH As New ADODB.Recordset Dim rsMaKH As New ADODB.Recordset Dim rsNapTuDong As New ADODB.Recordset Dim rsMaNV As New ADODB.Recordset Dim rsTong As New ADODB.Recordset Dim rsSoHHDB As New ADODB.Recordset Dim rsKiemTraCTB1 As New ADODB.Recordset Dim rsKiemTraCTB2 As New ADODB.Recordset Dim rsSoLuong As New ADODB.Recordset Dim rsHoaDonBan As New ADODB.Recordset Dim KT1 As Integer Dim KT2 As Integer Dim KT3 As Integer Dim Ten1 As String Private Sub cmbMaHH_Click() Dim sql As String sql = "SElect TenHH, DVT, GiaBan, TonKho, XuatXu from HangHoa where MaHH=('" & cmbMaHH.Text & "')" rsNapTuDong.Open sql, Conn TxtTenHH.Text = rsNapTuDong!TenHH txtDvt.Text = rsNapTuDong!DVT txtGiaban.Text = rsNapTuDong!GiaBan txtTonkho.Text = rsNapTuDong!TonKho txtXuatxu.Text = rsNapTuDong!XuatXu TxtSoLuong.Text = "" txtThanhTien.Text = "" TxtSoLuong.SetFocus rsNapTuDong.Close End Sub Private Sub ThanhTien() txtThanhTien.Text = Val(TxtSoLuong.Text) * Val(txtGiaban.Text) End Sub Private Sub cmdFirst1_Click() If KT1 = 1 Or KT2 = 1 Or (adoCTB.Recordset.EOF And adoCTB.Recordset.BOF) Then Exit Sub Else adoCTB.Recordset.MoveFirst End If End Sub Private Sub cmdFirst2_Click() If KT1 = 1 Or KT2 = 1 Or (adoHDB.Recordset.EOF And adoHDB.Recordset.BOF) Then Exit Sub Else adoHDB.Recordset.MoveFirst NapadoCTB NapadoTHB End If End Sub Private Sub cmdLast1_Click() If KT1 = 1 Or KT2 = 1 Or (adoCTB.Recordset.EOF And adoCTB.Recordset.BOF) Then Exit Sub Else adoCTB.Recordset.MoveLast End If End Sub Private Sub cmdLast2_Click() If KT1 = 1 Or KT2 = 1 Or (adoHDB.Recordset.EOF And adoHDB.Recordset.BOF) Then Exit Sub Else adoHDB.Recordset.MoveLast NapadoCTB NapadoTHB End If End Sub Private Sub CmdLuuHD_Click() Dim Traloi As Integer Dim sql As String Dim sql1 As String Dim sql2 As String On Error GoTo XuLyLoi If KT1 = 1 Then If TxtSoHHDB.Text = "" Or cmbMaNV.Text = "" Or TxtNgayBan.Text = "" Or CmbMaKH.Text = "" Then Exit Sub End If sql1 = "Select SoHHDB from HoaDonBan" rsSoHHDB.Open sql1, Conn NapadoCTB NapadoTHB Do Until rsSoHHDB.EOF If TxtSoHHDB.Text = rsSoHHDB!SoHHDB Then sql2 = "Select KhachHang.MaKH, TenKH, KhachHang.DiaChi, KhachHang.DT, NgayBan, NhanVien.MaNV, TenNV, ChietKhau from HoaDonBan, NhanVien, KhachHang " & _ "where HoaDonBan.MaKH=KhachHang.MaKH and HoaDonBan.MaNV= NhanVien.MaNV and SoHHDB=('" & TxtSoHHDB.Text & "')" rsHoaDonBan.Open sql2, Conn TxtNgayBan.Text = rsHoaDonBan!NgayBan cmbMaNV.Text = rsHoaDonBan!MaNV txtTennv.Text = rsHoaDonBan!TenNV CmbMaKH.Text = rsHoaDonBan!MaKH txtTenKH.Text = rsHoaDonBan!TenKH txtDiachi.Text = rsHoaDonBan!DiaChi txtDT.Text = rsHoaDonBan!DT sql = " update HoaDonBan set ChietKhau=val('" & txtChietKhau.Text & "') where SoHHDB=('" & TxtSoHHDB.Text & "')" Conn.Execute sql adoCTB.Refresh adoTHB.Refresh NapadoCTB NapadoTHB MsgBox "Lưu thành công!", vbOKOnly rsSoHHDB.Close rsHoaDonBan.Close Exit Sub Else rsSoHHDB.MoveNext End If Loop If txtChietKhau = "" Then sql = "insert into HoaDonBan (SoHHDB, MaKH, NgayBan, MaNV) values ('" & TxtSoHHDB.Text & "', '" & CmbMaKH.Text & "', '" & TxtNgayBan.Text & "', '" & cmbMaNV.Text & "')" Conn.Execute sql Else sql = "insert into HoaDonBan values ('" & TxtSoHHDB.Text & "', '" & CmbMaKH.Text & "', '" & TxtNgayBan.Text & "', '" & cmbMaNV.Text & "','" & txtChietKhau & "')" Conn.Execute sql End If MsgBox "Lưu thành công!", vbOKOnly rsSoHHDB.Close Exit Sub ElseIf KT2 = 1 Then sql = "update HoaDonBan set MaKH=('" & CmbMaKH.Text & "'), MaNV=('" & cmbMaNV.Text & "'), NgayBan=('" & TxtNgayBan.Text & "'), ChietKhau=('" & txtChietKhau.Text & "') where SoHHDB=('" & TxtSoHHDB.Text & "')" Conn.Execute sql adoTHB.Refresh NapadoTHB MsgBox "Xoá thành công” Exit Sub Else Exit Sub End If XuLyLoi: MsgBox "bạn hãy xem lại dữ liệu nhập!", vbOKOnly MsgBox Error$ rsSoHHDB.Close Exit Sub End Sub Private Sub CmdLuuMH_Click() Dim sql As String Dim sql1 As String Dim sql2 As String Dim sql3 As String Dim sql4 As String Dim Traloi As Integer Dim sql5 As String If KT2 = 1 Then sql5 = "Select SoHHDB from HoaDonBan" rsSoHHDB.Open sql5, Conn Do Until rsSoHHDB.EOF If TxtSoHHDB.Text rsSoHHDB!SoHHDB Then rsSoHHDB.MoveNext Else sql = "Select MaHH from HangHoa" rsMaHH.Open sql, Conn Do Until rsMaHH.EOF If cmbMaHH.Text rsMaHH!MaHH Then rsMaHH.MoveNext Else If Val(TxtSoLuong.Text) > Val(txtTonkho.Text) Then MsgBox " Trong kho không có đủ!", vbOKOnly rsSoHHDB.Close rsMaHH.Close Exit Sub ElseIf Val(TxtSoLuong.Text) = "0" Then MsgBox " Không hợp lệ!", vbOKOnly rsSoHHDB.Close rsMaHH.Close Exit Sub Else sql1 = "Select MaHH from ChiTietBanHang where MaHH=('" & cmbMaHH.Text & "') and SoHHDB=('" & TxtSoHHDB.Text & "')" rsKiemTraCTB1.Open sql1, Conn If rsKiemTraCTB1.EOF Then sql2 = " Insert into ChiTietBanHang values ('" & TxtSoHHDB.Text & "', '" & cmbMaHH.Text & "', '" & TxtSoLuong.Text & "')" Conn.Execute sql2 sql3 = " Update HangHoa set TonKho=TonKho - val('" & TxtSoLuong.Text & "') where MaHH=('" & cmbMaHH.Text & "')" Conn.Execute sql3 adoCTB.Refresh adoTHB.Refresh 'NapadoCTB 'cmbMaHH.DataField =AdoCTB.Recordset!TenHH 'TxtTenHH.DataField = AdoCTB.Recordset!TenHH 'TxtSoLuong.DataField = adoCTB.Recordset!SoLuong 'TxtDVT.DataField = AdoCTB.Recordset!DVT 'TxtGiaBan.DataField = AdoCTB.Recordset!GiaBan 'TxtTonKho.DataField = adoCTB.Recordset!TonKho 'txtThanhTien.DataField = adoCTB.Recordset!ThanhTien 't xtXuatXu.DataField = AdoCTB.Recordset!XuatXu MsgBox "Lưu thành công!", vbOKOnly Else Traloi = MsgBox(" ?", vbInformation + vbYesNo) If Traloi = vbYes Then sql3 = " Update ChiTietBanHang set SoLuong=SoLuong + val('" & TxtSoLuong.Text & "') where MaHH=('" & cmbMaHH.Text & "') and SoHHDB=('" & TxtSoHHDB.Text & "')" Conn.Execute sql3 sql3 = " Update HangHoa set TonKho=TonKho - val('" & TxtSoLuong.Text & "') where MaHH=('" & cmbMaHH.Text & "')" Conn.Execute sql3 adoCTB.Refresh adoTHB.Refresh 'NapadoCTB Else End If End If rsKiemTraCTB1.Close End If rsSoHHDB.Close rsMaHH.Close Exit Sub End If Loop If rsMaHH.EOF Then vbOKOnly End If rsMaHH.Close rsSoHHDB.Close Exit Sub End If Loop If rsSoHHDB.EOF Then rsSoHHDB.Close ElseIf KT3 = 1 Then sql = "Update ChiTietBanHang set SoLuong=val('" & TxtSoLuong.Text & "') where SoHHDB=('" & TxtSoHHDB.Text & "') and MaHH=('" & cmbMaHH.Text & "')" sql1 = "Update HangHoa set TonKho=(TonKho + val('" & Text1.Text & "') - val('" & TxtSoLuong.Text & "')) where MaHH=('" & cmbMaHH.Text & "')" Conn.Execute sql Conn.Execute sql1 adoCTB.Refresh adoTHB.Refresh NapadoCTB Else Exit Sub End If End Sub Private Sub cmdNext1_Click() If KT1 = 1 Or KT2 = 1 Or (adoCTB.Recordset.EOF And adoCTB.Recordset.BOF) Then Exit Sub Else If adoCTB.Recordset.EOF = False Then adoCTB.Recordset.MoveNext Else adoCTB.Recordset.MoveLast End If End If End Sub Private Sub cmdNext2_Click() If KT1 = 1 Or KT2 = 1 Or (adoHDB.Recordset.EOF And adoHDB.Recordset.BOF) Then Exit Sub Else If adoHDB.Recordset.EOF = False Then adoHDB.Recordset.MoveNext NapadoCTB NapadoTHB Else adoHDB.Recordset.MoveLast NapadoCTB NapadoTHB End If End If End Sub Private Sub cmdPri1_Click() If KT1 = 1 Or KT2 = 1 Or (adoCTB.Recordset.EOF And adoCTB.Recordset.BOF) Then Exit Sub Else If adoCTB.Recordset.BOF = False Then adoCTB.Recordset.MovePrevious Else adoCTB.Recordset.MoveFirst End If End If End Sub Private Sub cmdPri2_Click() If KT1 = 1 Or KT2 = 1 Or (adoHDB.Recordset.EOF And adoHDB.Recordset.BOF) Then Exit Sub Else If adoHDB.Recordset.BOF = False Then adoHDB.Recordset.MovePrevious NapadoCTB NapadoTHB Else adoHDB.Recordset.MoveFirst NapadoCTB NapadoTHB End If End If End Sub Private Sub CmdSuaHD_Click() KT2 = 1 vbOKOnly TxtNgayBan.Locked = False cmbMaNV.Locked = False txtTennv.Locked = False CmbMaKH.Locked = False txtTenKH.Locked = False txtDiachi.Locked = False txtDT.Locked = False txtChietKhau.Locked = False End Sub Private Sub CmdSuaMH_Click() KT3 = 1 Dim Traloi As Integer Traloi = MsgBox(" Bản có muốn sửa số lượng không?", vbYesNo) If Traloi = vbYes Then Text1.Text = TxtSoLuong.Text TxtSoLuong.Locked = False cmbMaHH.DataField = "" TxtTenHH.DataField = "" TxtSoLuong.DataField = "" txtDvt.DataField = "" txtGiaban.DataField = "" txtTonkho.DataField = "" txtThanhTien.DataField = "" txtXuatxu.DataField = "" TxtSoLuong.Text = "" txtThanhTien.Text = "" End If End Sub Private Sub cmdThemHD_Click() KT1 = 1 adoTHB.Recordset.AddNew ChoUpdate TxtSoHHDB.Text = "" TxtNgayBan.Text = "" cmbMaNV.Text = "" txtTennv.Text = "" CmbMaKH.Text = "" txtTenKH.Text = "" txtDiachi.Text = "" txtDT.Text = "" txtTongThue.Text = "" txtChietKhau.Text = "" txtTongTien.Text = "" txtTongTT.Text = "" cmbMaHH.DataField = "" TxtTenHH.DataField = "" TxtSoLuong.DataField = "" txtDvt.DataField = "" txtGiaban.DataField = "" txtTonkho.DataField = "" txtThanhTien.DataField = "" txtXuatxu.DataField = "" cmbMaHH.Text = "" TxtTenHH.Text = "" txtGiaban.Text = "" txtTonkho.Text = "" txtDvt.Text = "" txtXuatxu.Text = "" TxtSoLuong.Text = "" txtThanhTien = "" cmbMaHH.Locked = True TxtTenHH.Locked = True TxtSoLuong.Locked = True txtDvt.Locked = True txtGiaban.Locked = True txtTonkho.Locked = True txtXuatxu.Locked = True txtThanhTien.Locked = True txtTongTT.Locked = True NapcmbMaHH NapcmbMaKH NapcmbMaNV NapadoCTB NapadoTHB TxtSoHHDB.SetFocus End Sub Private Sub CmdThemMH_Click() KT2 = 1 If TxtSoHHDB.Text = "" Or cmbMaNV.Text = "" Or TxtNgayBan.Text = "" Or CmbMaKH.Text = "" Then Exit Sub Else Dim Traloi As Integer Traloi = MsgBox("Bạn muốnt thêm bản ghi mới ?", vbInformation + vbYesNo) If Traloi = vbNo Then adoCTB.Refresh Exit Sub Else ChoUpdate NapcmbMaHH cmbMaHH.DataField = "" TxtTenHH.DataField = "" TxtSoLuong.DataField = "" txtDvt.DataField = "" txtGiaban.DataField = "" txtTonkho.DataField = "" txtThanhTien.DataField = "" txtXuatxu.DataField = "" cmbMaHH.Text = "" TxtTenHH.Text = "" txtGiaban.Text = "" txtTonkho.Text = "" txtDvt.Text = "" txtXuatxu.Text = "" TxtSoLuong.Text = "" txtThanhTien = "" cmbMaHH.SetFocus End If End If End Sub Private Sub CmdThoat_Click() Unload Me End Sub Private Sub CmdXoaHD_Click() KT3 = 1 Dim sql As String Dim sql1 As String sql = "Select SoHHDB from ChiTietBanHang" rsSoHHDB.Open sql, Conn Do Until rsSoHHDB.EOF If (TxtSoHHDB.Text) = rsSoHHDB!SoHHDB Then rsSoHHDB.Close Exit Sub Else rsSoHHDB.MoveNext End If Loop If rsSoHHDB.EOF Then sql1 = "Delete * from HoaDonBan where SoHHDB=('" & TxtSoHHDB.Text & "')" Conn.Execute sql1 MsgBox "§· xo¸ thµnh c«ng" NapadoHDB End If rsSoHHDB.Close End Sub Private Sub CmdXoaMH_Click() Dim sql As String Dim sql2 As String sql = "delete * from ChiTietBanHang where MaHH=('" & cmbMaHH.Text & "') and SoHHDB=('" & TxtSoHHDB.Text & "')" sql2 = "update HangHoa set TonKho=TonKho+val('" & txtTonkho.Text & "') where MaHH=('" & cmbMaHH.Text & "') " Conn.Execute sql Conn.Execute sql2 'NapadoCTB adoCTB.Refresh End Sub Private Sub Form_Load() NapadoHDB NapadoCTB NapadoTHB Naptooltip KhongChoUpDate End Sub Private Sub NapadoHDB() adoHDB.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database\QuanLyBanHang.mdb;Persist Security Info=False" adoHDB.CommandType = adCmdText adoHDB.RecordSource = " SELECT SoHHDB, NgayBan, NhanVien.MaNV, TenNV,KhachHang.MaKH, TenKH, KhachHang.DiaChi, KhachHang.DT,ChietKhau from HoaDonBan, KhachHang, NhanVien " & _ "where HoaDonBan.MaNV=NhanVien.MaNV and HoaDonBan.MaKH=KhachHang.MaKH" adoHDB.Refresh End Sub Private Sub NapadoCTB() adoCTB.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database\QuanLyBanHang.mdb;Persist Security Info=False" adoCTB.CommandType = adCmdText adoCTB.RecordSource = " select HangHoa.MaHH, TenHH, XuatXu, DVT, SoLuong, GiaBan, SoLuong* GiaBan as ThanhTien, TonKho from HangHoa, ChiTietBanHang " & _ "where HangHoa.MaHH=ChiTietBanHang.MaHH and SoHHDB=('" & TxtSoHHDB.Text & "')" adoCTB.Refresh End Sub Private Sub NapadoTHB() adoTHB.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database\QuanLyBanHang.mdb;Persist Security Info=False" adoTHB.CommandType = adCmdText adoTHB.RecordSource = "select Sum(SoLuong*GiaBan) as TongTien, Sum(SoLuong*GiaBan*0.1) as TongThue, (Sum(SoLuong*GiaBan) + sum(SoLuong*GiaBan*0.1)-Sum(SoLuong*GiaBan*ChietKhau)) as TongTT " & _ "From HoaDonBan, HangHoa, ChiTietBanHang " & _ "Where HoaDonBan.SoHHDB=ChiTietBanHang.SoHHDB and HangHoa.MaHH=ChiTietBanHang.MaHH " & _ "and HoaDonBan.SoHHDB=('" & TxtSoHHDB.Text & "')" adoTHB.Refresh End Sub Private Sub Naptooltip() CmdThemHD.ToolTipText = "Thªm ho¸ ®¬n" CmdLuuHD.ToolTipText = "L­u ho¸ ®¬n" CmdSuaHD.ToolTipText = "Söa ho¸ ®¬n" CmdXoaHD.ToolTipText = "Xo¸ ho¸ ®¬n" CmdThoat.ToolTipText = "Tho¸t " End Sub Private Sub KhongChoUpDate() TxtSoHHDB.Locked = True TxtNgayBan.Locked = True cmbMaNV.Locked = True txtTennv.Locked = True CmbMaKH.Locked = True txtTenKH.Locked = True txtDiachi.Locked = True txtDT.Locked = True txtTongThue.Locked = True txtChietKhau.Locked = True txtTongTien.Locked = True txtTongTT.Locked = True cmbMaHH.Locked = True TxtTenHH.Locked = True TxtSoLuong.Locked = True txtDvt.Locked = True txtGiaban.Locked = True txtTonkho.Locked = True txtXuatxu.Locked = True txtThanhTien.Locked = True GrdHHB.AllowDelete = False GrdHHB.AllowUpdate = False End Sub Private Sub ChoUpdate() TxtSoHHDB.Locked = False TxtNgayBan.Locked = False cmbMaNV.Locked = False txtTennv.Locked = False CmbMaKH.Locked = False txtTenKH.Locked = False txtDiachi.Locked = False txtDT.Locked = False txtTongThue.Locked = False txtChietKhau.Locked = False txtTongTien.Locked = False txtTongTT.Locked = False cmbMaHH.Locked = False TxtTenHH.Locked = False TxtSoLuong.Locked = False txtDvt.Locked = False txtGiaban.Locked = False txtTonkho.Locked = False txtXuatxu.Locked = False txtThanhTien.Locked = False GrdHHB.AllowDelete = True GrdHHB.AllowUpdate = True End Sub Private Sub NapcmbMaHH() Dim sql As String sql = "Select MaHH from HangHoa where TonKhonull order by MaHH" rsMaHH.Open sql, Conn cmbMaHH.Clear Do While Not rsMaHH.EOF cmbMaHH.AddItem rsMaHH!MaHH rsMaHH.MoveNext Loop rsMaHH.Close End Sub Private Sub NapcmbMaKH() Dim sql As String sql = "Select MaKH from KhachHang order by MaKH" rsMaKH.Open sql, Conn CmbMaKH.Clear Do While Not rsMaKH.EOF CmbMaKH.AddItem rsMaKH!MaKH rsMaKH.MoveNext Loop rsMaKH.Close End Sub Private Sub txtThanhTien_Gotfocus() txtThanhTien.Text = Val(TxtSoLuong.Text) * Val(txtGiaban.Text) End Sub Private Sub NapcmbMaNV() Dim sql As String sql = " select MaNV from NhanVien order by MaNV" rsMaNV.Open sql, Conn cmbMaNV.Clear Do Until rsMaNV.EOF cmbMaNV.AddItem rsMaNV!MaNV rsMaNV.MoveNext Loop rsMaNV.Close End Sub Private Sub cmbMaNV_Click() Dim sql As String sql = "Select TenNV from NhanVien where MaNV=('" & cmbMaNV.Text & "')" rsNapTuDong.Open sql, Conn txtTennv.Text = rsNapTuDong!TenNV rsNapTuDong.Close End Sub Private Sub cmbMaKH_Click() Dim sql As String sql = "Select TenKH, DiaChi, DT from KhachHang where MaKH=('" & CmbMaKH.Text & "')" rsNapTuDong.Open sql, Conn txtTenKH.Text = rsNapTuDong!TenKH txtDiachi.Text = rsNapTuDong!DiaChi txtDT.Text = rsNapTuDong!DT rsNapTuDong.Close End Sub Private Sub cmbMaKH_LostFocus() Dim sql As String On Error GoTo XuLyLoi sql = "Select TenKH, DiaChi, DT from KhachHang where MaKH=('" & CmbMaKH.Text & "')" Dim rsTenKH As New ADODB.Recordset rsTenKH.Open sql, Conn txtTenKH.Text = rsTenKH!TenKH txtDiachi.Text = rsTenKH!DiaChi txtDT.Text = rsTenKH!DT rsTenKH.Close Exit Sub XuLyLoi: MsgBox " B¹n h·y nhËp l¹i m· kh¸ch hµng!", vbOKOnly rsTenKH.Close End Sub Private Sub cmbMaNV_LostFocus() Dim sql As String On Error GoTo XuLyLoi sql = "Select TenNV from NhanVien where MaNV=('" & cmbMaNV.Text & "')" Dim rsTenNV As New ADODB.Recordset rsTenNV.Open sql, Conn txtTennv.Text = rsTenNV!TenNV rsTenNV.Close Exit Sub XuLyLoi: rsTenNV.Close Exit Sub End Sub Private Sub cmbMaHH_LostFocus() Dim sql As String On Error GoTo XuLyLoi sql = "Select TenHH, XuatXu, GiaBan ,DVT, TonKho from HangHoa where MaHH=('" & cmbMaHH.Text & "')" Dim rsTenHH As New ADODB.Recordset rsTenHH.Open sql, Conn TxtTenHH.Text = r

Các file đính kèm theo tài liệu này:

  • doc23.doc