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
79 trang |
Chia sẻ: maiphuongdc | Lượt xem: 3162 | Lượt tải: 5
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 = "Lu 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:
- 23.doc