Quản lý thu mua chè bằng ngôn ngữ lập trình Visual Basic

86 968 4
Quản lý thu mua chè bằng ngôn ngữ lập trình Visual Basic

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tài liệu tham khảo kỹ thuật công nghệ, chuyên ngành tin học Quản lý thu mua chè bằng ngôn ngữ lập trình Visual Basic

Mục lục Phần I Phần II Phần III NộI dung GiớI thiệu ngơn ngữ Visual Basic Lập trình vớI ngơn ngữ Visual Basic Cấu trúc chương trình viết ngơn ngữ Visual Basic Mục đích u cầu phần mềm Chức Phần mềm Quản lý thu mua chè Cơ sở liệu Mã nguồn chương trình LỜI CẢM ƠN Đồ án kết học tập, rèn luyện em bốn năm học trường Đại Học Quản lý Kinh doanh Hà Nội Để có kết này, em nhận nhiều động viên, giúp đỡ bảo thầy cô, gia đình,bạn bè… Trước hết, em xin chân thành cảm ơn Thầy giáo Đồn Hữu Vượng tận tình hướng dẫn giúp đỡ em hoàn thành đề tài luận văn tốt nghiệp Em xin chân thành cảm ơn thầy, cô giáo trường Đại Học Quản lý Kinh doanh Hà Nội, đặc biệt Khoa Tin Học, giảng dạy, truyền thụ cho em kiến thức quý báu tạo điều kiện thuận lợi cho em suốt trình học tập trường Xin gửi lời cảm ơn đến người thân gia đình, bạn bè gần xa giúp đỡ, động viên tơi q trình thực luận văn Lời nói đầu Ở nước ta, năm gần đây, công nghệ thông tin phát triển không ngừng, sâu vào nhiều lĩnh vực đời sống Mọi cá nhân, tổ chức cần đến công nghệ thông tin để hoạt động, phát triển Hoạt động kinh doanh chè nói chung thu mua chè, khơng nằm ngồi quy luật Đây cơng việc với nhiều cơng đoạn phức tạp, đa dạng Nó địi hỏi người quản lý phải nắm người trực tiếp bán chè, nhân viên, loại chè mà đơn vị thu mua, đưa thơng tin cơng nợ…Để góp phần nhỏ vào cơng phát triển cơng nghệ thông tin muốn cố gắng thử sức em chọn đề tài "Quản lý thu mua chè" làm đề tài cho luận văn tốt nghiệp Đề tài "Quản lý thu mua chè" đề tài lớn, thời gian để thực hiện, kinh nghiệm lập trình, kiến thức nghiệp vụ em cịn hạn chế, nên chắn chương trình cịn nhiều thiếu sót Em mong nhận bảo, đóng góp ý kiến thầy, cô giáo, bạn bè… Phần I : Giới thiệu ngôn ngữ Visual Basic Ngôn ngữ Visual Basic ngày sử dụng rộng rãi đề án, chương trình thực ngồi nước Visual Basic xem công cụ phát triển phần mềm thông dụng Sau phiên Visual Basic 1.0 Visual Basic 2.0, chạy nhanh hơn, dễ sử dụng Đến Visual Basic 3.0 bổ sung thêm số phương thức đơn giản, dễ điều khiển sở liệu Visual Basic 4.0 bổ sung thêm hỗ trợ phát triển 32 bit bắt đầu tiến trình chuyển Visual Basic thành ngơn ngữ lập trình hướng đốI tượng Visual Basic 5.0 bổ sung khả tạo điều khiển riêng Visual Basic 6.0 có thêm nhiều chức mạnh ứng dụng Internet/ Intranet .v.v… Visual Basic gắn liền vớI khái niệm lập trình trực quan, nghĩa thiết kế chương trình, bạn thấy kết qua thao tác Visual Basic cho phép chỉnh sửa cách đơn giản, nhanh chóng giao diện đốI tượng ứng dụng Đó thuận lợI cho ngườI lập trình VớI Visual Basic, việc lập trình Windows trở nên hiệu đơn giản nhiều Một khả Visual Basic khả kết hợp thư viện liên kết động DLLl (Dynamic Link Library) DLL phần mở rộng cho Visual Basic, tức xây dựng chương trình có số u cầu mà Visual Basic khơng đáp ứng đầy đủ ta viết DLL để phụ thêm cho chương trình Các cơng cụ để thiết kế giao diện: Như biết Visual Basic ngơn ngữ lập trình có tính hướng đốI tượng nên công việc thiết kế giao diện đơn giản Chúng ta việc tiến hành đưa đốI tượng cần thiết công cụ vào Form cách kích – kéo sau thay đổI thuộc tính chúng cửa sổ Properties cho phù hợp vớI mục đích lập trình 1.1 Form: Form biểu mẫu mỗI ứng dụng Visual Basic Ta dùng Form nhằm mục đích định vị xếp phận thiết kế giao diện vớI ngườI sử dụng Ta xem Form phận mà chứa phận khác Các thành phần Form ứng dụng tương tác vớI Form khác phận chúng tạo nên giao tiếp cho ứng dụng Form giao diện ứng dụng, Form khác chứa cơng cụ để nhập liệu, xem xét v.v… Trong nhiều ứng dụng Visual Basic, kích cỡ vị trí biểu mẫu lúc thiết kế kích cỡ mà ngườI dùng gặp vào lúc sử dụng Điều này, có nghĩa Visual Basic cho phép ta thay đổI kích cỡ di chuyển vị trí Form đến nơi hình chạy đề án, cách thay đổI số thuộc tính cửa sổ thuộc tính đốI tượng (Properties Windows ) Thực tế, tính thiếu Visual Basic khả tiến hành thay đổI động để đáp ứng kiện ngườI dùng 1.2 Toolbox (hộp công cụ): Toolbox hộp công cụ chưa biểu tượng, biểu thị cho điều khiển mà ta biểu mẫu bảng chứa đối tượng định nghĩa sẵn Visual Basic Các đối tượng sử dụng Form để tạo thành giao diện cho chương trình ứng dụng Visual Basic Ta coi hộp cơng cụ hộp “đồ nghề” người thiết kế chương trình 1.3 Scrollbar (thanh cuốn): Scrollbar đối tượng cho phép nhận từ người dùng giá trị tuỳ theo vị trí chạy thay cho giá trị số Thanh có số thuộc tính quan trọng sau: • Thuộc tính Min: xác định cận • Thuộc tính Max: xác định cận • Thuộc tính Value: xác định giá trị tạm thời 1.4 Option Button (Nút chọn): Đối tượng nút chọn (thường dùng nhiều nút) cho phép người dùng chọn lựa chọn đưa Như vậy, thời điểm nút chọn đuợc chọn 1.5 Checkbox( hộp kiểm); Cũng nút chọn, đối tượng hộp kiểm dùng nhiều hộp lần Nhưng khác với nút chọn, hộp kiểm cho phép người dùng lựa hay nhiều điều kiện Như thời điểm có nhiều hộp kiểm chọn 1.6 Label(nhãn): Đối tượng nhãn cho phép người dùng gắn nhãn phận giao diện lúc thiết kế giao diện cho chương trình ứng dụng Các nhãn dùng để hiển thị thông tin không muốn người dùng thay đổi Trong thực tế, nhãn thường dùng để định danh hộp văn điều khiển khác việc mô tả nội dung điều khiển Một cơng cụ phổ biến cho việc hiển thị thông tin trợ giúp, 1.7 Picturebox, Image ( hộp ảnh, điều khiển ảnh ); Đối tượng Image Picturebox dùng để hiển thị ảnh Nó cho phép người thiết kế đưa hình ảnh từ file ảnh ( bmp , gif …) lên Form 1.8 Textbox ( hộp văn ); Đối tượng Textbox dùng làm hộp nhập liệu cho phép đưa chuỗi ký tự vào Form Có thể dùng hộp văn để nhập liệu hiển thị văn Tất công cụ windows chỉnh sửa văn : cut , copy , paste dùng hộp văn 1.9 Command Button ( nút lệnh ): Khi người dùng kích vào nút lệnh biểu mẫu, thao tác thực tuỳ theo thủ tục kiện viết để đáp ứng kiện kích chuột 1.10 Listbox ( hộp danh sách ): Đối tượng Listbox cho phép kết xuất thơng tin nhiều chuỗi kí tự vào thơng qua phương thức additem Thường dùng để hiển thị thơng tin dạng danh sách có liên quan với Listbox không cho phép người dùng nhập liệu vào 1.11 Combo box ( hộp kết hợp ); Công cụ cho phép người dùng gõ vào thơng tin hiển thị thơng tin có tác dụng hộp danh sách hộp văn Hộp kết hợp có loại: - Hộp kết hợp thả xuống ( drop-down combo ) : hộp văn cho phép người dùng gõ vào, kế bên có mũi tên mà nhấn vào xổ danh sách cho phép người sử dụng chọn lựa - Hộp kết hợp đơn giản ( simple combo ) : hiển thị danh sách cho phép người dùng gõ vào hộp văn - Hộp danh sách thả xuống ( drop- down list box) : tương tự hộp kết hợp thả xuống Danh sách không hiển thị sẵn người dùng không nhấn vào mũi tên bên cạnh người sử dụng chọn từ danh sách, gõ vào hộp văn danh sách cuộn đến phần tử yêu cầu đánh dấu 1.12 Ole ( đối tượng nhúng ): Ole viết tắt Object - Linking and Embedding Nó cho phép ta nhúng toàn ứng dụng liệu từ ứng dụng khác vào chương trình Ole khơng hệ thống cho phép nhúng hay kết nối liệu từ ứng dụng khác mà vào thời gian chạy chương trình ta có ứng dụng chương trình ta Nó có khả automation cho phép đóng gói đối tượng chức ứng dụng để sử dụng ứng dụng khác 1.13 Project explorer : Project explorer Visual Basic 6.0 giúp quản lý định hướng đề án, biểu mẫu, module,… Visual Basic cho phép tổ chức nhiều đề án nhóm gọi project groups Ta lưu tập hợp đề án Visual Basic thành tập tin nhóm đề án Các tập tin có phần mở rộng Vbg 1.14 Propeties windows ( cửa sổ thuộc tính ): Là nơi chứa danh sách thuộc tính đối tượng cụ thể Các thuộc tính khác với đối tượng cụ thể Ta đặt thuộc tính cho phù hợp với chương trình ứng dụng Lập trình Visual Basic: Ở phần một, biết tuỳ biến biểu mẫu cách bổ xung điều khiển vào cho phù hợp với yêu cầu chương trình Tuy nhiên, coi mặt chương trình Muốn chương trình chạy phải thêm vào thành phần khác lệnh, liệu cách thức thể hiển chúng chương trình Khi lập trình Visual Basic phần lớn mã xử lý để đáp ứng kiện Ví dụ kiện kích chuột, bấm phím, load form…Các dịng mã thi hành chương trình Visual Basic phải nằm thủ tục hàm, dịng lệnh nằm ngồi khơng làm việc Toàn mã lệnh gõ vào cửa sổ code 2.1 Cửa sổ code: Cửa số code bao gồm thành phần sau: Thanh tách: cửa sổ code có tách (Split bar) nằm đầu cuộn dọc Mục đích là: dịng mã trở nên nhiều, ta chia cửa sổ code thành phần Hộp liệt kê Object: nằm đầu cửa sổ code bên trái, liệt kê tất điều khiển có biểu mẫu thêm vào đối tượng có tên là: General Khi thả hộp liệt kê nhắp vào đối tượng đưa ta đến phần mã viết cho đối tượng Hộp Procedure: hộp cung cấp kiện mà đối tượng lựa chọn hộp liệt kê object 2.2 Intellisence: Intellisence cơng cụ thơng minh, giúp ta đỡ cơng gõ tra cứu Intellisence mở hộp liệt kê với thông tin đối tượng mà ta tiếp cận Nó có phần: - QuickInfo: cho ta thông tin cú pháp lệnh Visual Basic Mỗi nhập từ khoá theo sau dấu cách dấu chấm .một hộp thoại cung cấp cú pháp thành phần - List properties/Methods: tính đưa danh sách tính chất phương pháp đối tượng ta gõ dấu chấm - Available constant : tính cung cấp danh sách sẵn có 2.1 Biến: Trong Visual Basic, tên biến dài tối đa 255 kí tự Kí tự phải chữ tên biến tổ hợp chữ cái, chữ số dấu gạch Khơng dùng từ khố Visual Basic ( end, print .) làm tên biến Visual Basic không phân biệt chữ hoa, chữ thường Cách khai báo biến: Dim as Phạm vi sử dụng biến phụ thuộc vào cách khai báo biến vị trí đặt dịng lênh khai báo 2.2 - Các kiểu liệu: String: biến string lưu giữ kí tự Một chuỗi có hay nhiều kí tự Integer: biến ngun lưu giữ giá trị số nguyên từ -32768 đến +32767 Long Integer: biến số nguyên dài lưu giữ số nguyên giữa: -2147483648 đến +214783647 Single precision: số có phần thập phân gồm: Single precision có độ xác đến chữ số double precision có độ xác lên đến 16 vị trí Currency: Biến tiền tệ kiểu Kiểu cho ta 15 chữ số trước dấu thập phân chữ số sau dấu thập phân Date: kiểu liệu ngày tháng Byte: kiểu byte lưu giữ số nguyên từ đến 255 Boolean: kiểu logic với giá trị True/False Variant: kiểu thiết kế để lưu liệu khác Visual Basic 2.3 Các tốn tử: 2.3.1 Các tốn tử tính tốn: Các tốn tử Ý nghĩa Ví dụ + Có thể dùng để cộng hai toán hạng X=y+1 hai chuỗi với A=”A”+”B” trừ số hạng X=y-1 * Nhân số hạng X=y*2 / Chia, trả kiểu số thực Y=4/2 \ Chia lấy nguyên X=3\2(x=1) Mod Chia lấy dư X=7 mod (x=3) ^ Lấy luỹ thừa X=y^3 (X=y3) 2.3.2 Các toán tử so sánh: Toán tử > < = >= End If Khi gặp điều lệnh If… then, Visual Basic kiểm tra , True máy thực kêt False máy bỏ qua lệnh thực lệnh sau End If Dạng 2: If then else Khi gặp lệnh này, lấy giá trị True thực < lệnh 1> bỏ qua , lấy giá trị False bỏ qua thực Nhiều bạn phải thực nhiều lệnh ứng với điều kiện True hay False Để làm điều đó, ta sử dụng dạng khác cấu trúc If … then, có dạng tổng quát sau: If then else end if 2.4.2 Cấu trúc Select Case: Cú pháp: Select case Case ………………… Case …………… Case else End Select 2.5 Cấu trúc lặp: 2.5.1 Cấu trúc lặp có điều kiện: Cú pháp 1: While < Biểu thức điều kiện> Wend Cú pháp 2: 10 Stt = ' If Me.OptDate = True Then RsHoaDon.MoveFirst Do Until RsHoaDon.EOF = True 'If IsNull(RsHoaDon.Fields(6)) = True Or RsHoaDon.Fields(6) = "0" Then If RsHoaDon!ngaymua = DT_Lich Then Call ListviewDetail_ThuMua(ListThuMua, RsHoaDon, Stt) End If 'End If RsHoaDon.MoveNext Loop ElseIf Me.OptMonth = True Then RsHoaDon.MoveFirst Do Until RsHoaDon.EOF = True 'If IsNull(RsHoaDon.Fields(6)) = True Or RsHoaDon.Fields(6) = "0" Then If (DatePart("m", RsHoaDon!ngaymua) = DT_Lich.Month) _ And (DatePart("yyyy", RsHoaDon!ngaymua) = DT_Lich.Year) Then Call ListviewDetail_ThuMua(ListThuMua, RsHoaDon, Stt) End If 'End If RsHoaDon.MoveNext Loop ElseIf Me.OptYear = True Then RsHoaDon.MoveFirst Do Until RsHoaDon.EOF = True 'If IsNull(RsHoaDon.Fields(6)) = True Or RsHoaDon.Fields(6) = "0" Then If DatePart("yyyy", RsHoaDon!ngaymua) = DT_Lich.Year Then Call ListviewDetail_ThuMua(ListThuMua, RsHoaDon, Stt) End If 'End If RsHoaDon.MoveNext Loop End If Dim i As Integer Dim TongKL As Double Dim TongGT As Double TongKL = 72 TongGT = If ListThuMua.ListItems.Count Then For j = To ListThuMua.ListItems.Count TongKL = TongKL + CDbl(ListThuMua.ListItems(j).ListSubItems(5).Text) TongGT = TongGT + CDbl(ListThuMua.ListItems(j).ListSubItems(6).Text) Next End If lblKhoiLuong.Caption = Format(CDbl(TongKL), "#,###") lblGiaTri.Caption = Format(CDbl(TongGT), "#,###") Label12.Caption = "Giá trung bình : " If lblGiaTri.Caption = "" Or lblKhoiLuong.Caption = "" Then lblGt_tb.Caption = Else lblGt_tb.Caption = Format(CDbl(lblGiaTri.Caption) / CDbl(lblKhoiLuong.Caption), "#,###") End If End Sub Private Sub Create_ListPhanLoai() Dim No As Integer Dim Stt As Integer ListThuMua.ListItems.Clear Call ListviewHeader_PhanLoai(ListThuMua) If RsHoaDon.RecordCount = Then Exit Sub End If Stt = ' If Me.OptDate = True Then RsHoaDon.MoveFirst Do Until RsHoaDon.EOF = True If RsHoaDon.Fields(3) = DT_Lich Then Call ListviewDetail_PhanLoai(ListThuMua, RsHoaDon, RsNoiDungMua, Stt, cmbChonLoaiPL, No) End If RsHoaDon.MoveNext Loop ElseIf Me.OptMonth = True Then RsHoaDon.MoveFirst Do Until RsHoaDon.EOF = True If (DatePart("m", RsHoaDon.Fields(3)) = DT_Lich.Month) _ 73 And (DatePart("yyyy", RsHoaDon.Fields(3)) = DT_Lich.Year) Then Call ListviewDetail_PhanLoai(ListThuMua, RsHoaDon, RsNoiDungMua, Stt, cmbChonLoaiPL, No) End If RsHoaDon.MoveNext Loop ElseIf Me.OptYear = True Then RsHoaDon.MoveFirst Do Until RsHoaDon.EOF = True If DatePart("yyyy", RsHoaDon.Fields(3)) = DT_Lich.Year Then Call ListviewDetail_PhanLoai(ListThuMua, RsHoaDon, RsNoiDungMua, Stt, cmbChonLoaiPL, No) End If RsHoaDon.MoveNext Loop End If Dim i As Integer Dim TongKL As Double Dim TongGT As Double TongKL = TongGT = If ListThuMua.ListItems.Count Then For j = To ListThuMua.ListItems.Count TongKL = TongKL + CDbl(ListThuMua.ListItems(j).ListSubItems(6).Text) TongGT = TongGT + CDbl(ListThuMua.ListItems(j).ListSubItems(7).Text) Next End If lblKhoiLuong.Caption = Format(CDbl(TongKL), "#,###") lblGiaTri.Caption = Format(CDbl(TongGT), "#,###") Label12.Caption = "Giá trung bình : " If lblGiaTri.Caption = "" Or lblKhoiLuong.Caption = "" Then lblGt_tb.Caption = Else lblGt_tb.Caption = Format(CDbl(lblGiaTri.Caption) / CDbl(lblKhoiLuong.Caption), "#,###") End If End Sub Private Sub Create_ListNo() 74 Dim Stt As Integer ListThuMua.ListItems.Clear Call ListviewHeader_No(ListThuMua) If RsHoaDon.RecordCount = Then Exit Sub End If Stt = ' If Me.OptDate = True Then RsHoaDon.MoveFirst Do Until RsHoaDon.EOF = True If RsHoaDon.Fields(3) = DT_Lich Then Call ListviewDetail_No(ListThuMua, RsHoaDon, rsKhachHang, Stt, chkNo) End If RsHoaDon.MoveNext Loop ElseIf Me.OptMonth = True Then RsHoaDon.MoveFirst Do Until RsHoaDon.EOF = True If (DatePart("m", RsHoaDon.Fields(3)) = DT_Lich.Month) _ And (DatePart("yyyy", RsHoaDon.Fields(3)) = DT_Lich.Year) Then Call ListviewDetail_No(ListThuMua, RsHoaDon, rsKhachHang, Stt, chkNo) End If RsHoaDon.MoveNext Loop ElseIf Me.OptYear = True Then RsHoaDon.MoveFirst Do Until RsHoaDon.EOF = True If DatePart("yyyy", RsHoaDon.Fields(3)) = DT_Lich.Year Then Call ListviewDetail_No(ListThuMua, RsHoaDon, rsKhachHang, Stt, chkNo) End If RsHoaDon.MoveNext Loop End If Dim i As Integer Dim TongKL As Double Dim TongGT As Double TongKL = 75 TongGT = If ListThuMua.ListItems.Count Then For j = To ListThuMua.ListItems.Count If ListThuMua.ListItems(j).ListSubItems(7).Text "" Then TongGT = TongGT + CDbl(ListThuMua.ListItems(j).ListSubItems(7).Text) Else TongGT = TongGT + End If Next End If lblGiaTri.Caption = Format(CDbl(TongGT), "#,###") If lblGiaTri.Caption = "" Or lblKhoiLuong.Caption = "" Then lblGt_tb.Caption = End If End Sub Private Sub Create_ListTongHop() Dim Stt As Integer ListThuMua.ListItems.Clear Call ListviewHeader_TongHop(ListThuMua) If OptMonth = True Then Call ListviewDetail_TongHop(ListThuMua, Stt, "thang", DT_Lich) ElseIf OptYear = True Then Call ListviewDetail_TongHop(ListThuMua, Stt, "nam", DT_Lich) End If Dim i As Integer Dim TongKL As Double Dim TongGT As Double Dim TongNo As Double TongKL = TongGT = If ListThuMua.ListItems.Count Then For j = To ListThuMua.ListItems.Count TongKL = TongKL + CDbl(ListThuMua.ListItems(j).ListSubItems(2).Text) TongGT = TongGT + CDbl(ListThuMua.ListItems(j).ListSubItems(3).Text) If ListThuMua.ListItems(j).ListSubItems(4).Text "" Then 76 TongNo = TongNo + CDbl(ListThuMua.ListItems(j).ListSubItems(4).Text) Else TongNo = TongNo + End If Next End If lblKhoiLuong.Caption = Format(CDbl(TongKL), "#,###") lblGiaTri.Caption = Format(CDbl(TongGT), "#,###") Call Label_No_UnHide Label12.Caption = "Tỉng gi¸ trị nợ :" lblGt_tb.Caption = Format(CDbl(TongNo), "#,###") End Sub Private Sub Label_No_Hide() Label2.Caption = "Tỉng tiỊn nỵ : " Label3.Visible = False Label1.Visible = False Label7.Visible = False Label12.Visible = False lblGt_tb.Visible = False lblKhoiLuong.Visible = False End Sub Private Sub Label_No_UnHide() Label2.Caption = "Tổng giá trị : " Label3.Visible = True Label1.Visible = True Label7.Visible = True Label12.Visible = True lblGt_tb.Visible = True lblKhoiLuong.Visible = True End Sub Private Sub OptDate_Click() If optMuaChe.Value = True Then Call Create_ListThuMua Call Label_No_UnHide ElseIf optPhanLoaiChe.Value = True Then Call Create_ListPhanLoai Call Label_No_UnHide ElseIf optNo.Value = True Then Call Create_ListNo 77 Call Label_No_Hide End If End Sub Private Sub optYear_Click() If optMuaChe.Value = True Then Call Create_ListThuMua Call Label_No_UnHide ElseIf optPhanLoaiChe.Value = True Then Call Create_ListPhanLoai Call Label_No_UnHide ElseIf optNo.Value = True Then Call Create_ListNo Call Label_No_Hide ElseIf optTongHop.Value = True Then Call Create_ListTongHop End If End Sub Private Sub optMonth_Click() If optMuaChe.Value = True Then Call Create_ListThuMua Call Label_No_UnHide ElseIf optPhanLoaiChe.Value = True Then Call Create_ListPhanLoai Call Label_No_UnHide ElseIf optNo.Value = True Then Call Create_ListNo Call Label_No_Hide ElseIf optTongHop.Value = True Then Call Create_ListTongHop End If End Sub Private Sub DT_Lich_Change() If optMuaChe.Value = True Then Call Create_ListThuMua Call Label_No_UnHide ElseIf optPhanLoaiChe.Value = True Then Call Create_ListPhanLoai Call Label_No_UnHide ElseIf optNo.Value = True Then Call Create_ListNo 78 ElseIf optTongHop.Value = True Then Call Create_ListTongHop End If End Sub Private Sub optTongHop_Click() Call Create_ListTongHop OptDate.Enabled = False Me.cmbChonLoaiPL.Visible = False Me.chkNo.Visible = False End Sub Private Sub optPhanLoaiChe_Click() Me.cmbChonLoaiPL.Visible = True chkNo.Visible = False lblChonLoai.Visible = True Call Create_ListPhanLoai Call Label_No_UnHide OptDate.Enabled = True End Sub Private Sub optMuaChe_Click() Call Create_ListThuMua Call Label_No_UnHide Me.cmbChonLoaiPL.Visible = False chkNo.Visible = False lblChonLoai.Visible = False OptDate.Enabled = True End Sub Private Sub optNo_Click() Call Create_ListNo Me.cmbChonLoaiPL.Visible = False chkNo.Visible = True lblChonLoai.Visible = False Call Label_No_Hide OptDate.Enabled = True End Sub Private Sub cmbChonLoaiPL_Click() Call Create_ListPhanLoai OptDate.Enabled = True End Sub 79 Private Sub chkNo_Click() Call Create_ListNo End Sub Private Sub cmdPrint_Click() Dim Sql As String ' - Thu mua che -If optMuaChe = True Then Dim rsMuaChe As Recordset With rptMuaChe BottomMargin = 1000 LeftMargin = 1000 RightMargin = 1000 TopMargin = 1000 ReportWidth = 9000 End With If OptDate = True Then Sql = " SELECT tbl_HoaDon.NgayMua, tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, Sum(tbl_HoaDon.Tongtien) AS TongTien, Sum(tbl_HoaDon.TongKhoiluong) AS TongKhoiluong, Sum(tbl_HoaDon [No]) AS [No] " & _ " FROM tbl_HoaDon INNER JOIN tbl_KhachHang ON tbl_HoaDon.MaKH = tbl_KhachHang.MaKH " & _ " GROUP BY tbl_HoaDon.NgayMua, tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi " & _ "HAVING ((cstr(tbl_HoaDon.NgayMua)='" & DT_Lich & "')); " ElseIf OptYear = True Then Sql = " SELECT tbl_HoaDon.NgayMua, tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, Sum(tbl_HoaDon.Tongtien) AS TongTien, Sum(tbl_HoaDon.TongKhoiluong) AS TongKhoiluong, Sum(tbl_HoaDon [No]) AS [No] " & _ " FROM tbl_HoaDon INNER JOIN tbl_KhachHang ON tbl_HoaDon.MaKH = tbl_KhachHang.MaKH " & _ " GROUP BY tbl_HoaDon.NgayMua, tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi " & _ 80 " HAVING ((cstr(datepart('yyyy',tbl_HoaDon.NgayMua))='" & DT_Lich.Year & " ')); " ElseIf OptMonth = True Then Sql = " SELECT Year([NgayMua]) AS [year], Month([NgayMua]) AS [month], tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, Sum(tbl_HoaDon.Tongtien) AS Tongtien, Sum(tbl_HoaDon.TongKhoiluong) AS TongKhoiluong, Sum(tbl_HoaDon [No]) AS [No] " & _ " FROM tbl_HoaDon INNER JOIN tbl_KhachHang ON tbl_HoaDon.MaKH = tbl_KhachHang.MaKH " & _ " GROUP BY Year([NgayMua]), Month([NgayMua]), tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi " & _ " HAVING (((Year([NgayMua]))='" & DT_Lich.Year & "' ) AND ((Month([NgayMua]))='" & DT_Lich.Month & "')); " End If Set rsMuaChe = New Recordset rsMuaChe.Open Sql, Cnn, adOpenKeyset Set rptMuaChe.DataSource = rsMuaChe rptMuaChe.Show ' - Danh sach hoa don no -ElseIf optNo = True Then Dim rsNoTra As Recordset With rptNo BottomMargin = 1000 LeftMargin = 1000 RightMargin = 1000 TopMargin = 1000 ReportWidth = 9000 End With With rptNoTra BottomMargin = 1000 LeftMargin = 1000 RightMargin = 1000 TopMargin = 1000 ReportWidth = 9000 End With If OptDate = True Then If chkNo.Value = Then 81 Sql = " SELECT tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, tbl_HoaDon.NgayMua, Sum(tbl_HoaDon.TongKhoiluong) AS TongKhoiluong, Sum(tbl_HoaDon.Tongtien) AS Tongtien, Sum(tbl_HoaDon.[No]) AS [No] "&_ " FROM tbl_HoaDon INNER JOIN tbl_KhachHang ON tbl_HoaDon.MaKH = tbl_KhachHang.MaKH " & _ " GROUP BY tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, tbl_HoaDon.NgayMua " &_ " HAVING ((cstr(tbl_HoaDon.NgayMua)='" & DT_Lich & "') AND ((Sum(tbl_HoaDon.[No]))CInt(0))); " Else Sql = " SELECT tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, tbl_HoaDon.NgayMua, Sum(tbl_HoaDon.TongKhoiluong) AS TongKhoiluong, Sum(tbl_HoaDon.Tongtien) AS Tongtien, Sum(tbl_HoaDon.[No]) AS [No] "&_ " FROM tbl_HoaDon INNER JOIN tbl_KhachHang ON tbl_HoaDon.MaKH = tbl_KhachHang.MaKH " & _ " GROUP BY tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, tbl_HoaDon.NgayMua " &_ " HAVING ((cstr(tbl_HoaDon.NgayMua)='" & DT_Lich & "') AND ((Sum(tbl_HoaDon.[No]))=CInt(0))); " End If ElseIf OptMonth = True Then ' -If chkNo.Value = Then Sql = " SELECT Month([NgayMua]) AS [month], Year([NgayMua]) AS [year], tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, Sum(tbl_HoaDon.TongKhoiluong) AS TongKhoiLuong, sum(tbl_HoaDon.Tongtien) AS TongTien, Sum(tbl_HoaDon.[No]) AS [No] " & _ " FROM tbl_HoaDon INNER JOIN tbl_KhachHang ON tbl_HoaDon.MaKH = tbl_KhachHang.MaKH " & _ " GROUP BY Month([NgayMua]), Year([NgayMua]), tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi" & _ " HAVING ((cstr(Month([NgayMua]))='" & DT_Lich.Month & "') AND (cstr(Year([NgayMua]))='" & DT_Lich.Year & "' ) AND ((Sum(tbl_HoaDon.[No]))CInt(0))); " 82 Else Sql = " SELECT Month([NgayMua]) AS [month], Year([NgayMua]) AS [year], tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, Sum(tbl_HoaDon.TongKhoiluong) AS TongKhoiLuong, sum(tbl_HoaDon.Tongtien) AS TongTien, Sum(tbl_HoaDon.[No]) AS [No] " & _ " FROM tbl_HoaDon INNER JOIN tbl_KhachHang ON tbl_HoaDon.MaKH = tbl_KhachHang.MaKH " & _ " GROUP BY Month([NgayMua]), Year([NgayMua]), tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi" & _ " HAVING ((cstr(Month([NgayMua]))='" & DT_Lich.Month & "') AND (cstr(Year([NgayMua]))='" & DT_Lich.Year & "' ) AND ((Sum(tbl_HoaDon.[No]))=CInt(0))); " End If ' ElseIf OptYear = True Then If chkNo.Value = Then Sql = " SELECT tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, tbl_HoaDon.NgayMua, Sum(tbl_HoaDon.TongKhoiluong) AS TongKhoiluong, Sum(tbl_HoaDon.Tongtien) AS Tongtien, Sum(tbl_HoaDon.[No]) AS [No] "&_ " FROM tbl_HoaDon INNER JOIN tbl_KhachHang ON tbl_HoaDon.MaKH = tbl_KhachHang.MaKH " & _ " GROUP BY tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, tbl_HoaDon.NgayMua " &_ " HAVING ((cstr(datepart('yyyy',tbl_HoaDon.NgayMua))='" & DT_Lich.Year & "') AND ((Sum(tbl_HoaDon.[No]))CInt(0))); " Else Sql = " SELECT tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, tbl_HoaDon.NgayMua, Sum(tbl_HoaDon.TongKhoiluong) AS TongKhoiluong, Sum(tbl_HoaDon.Tongtien) AS Tongtien, Sum(tbl_HoaDon.[No]) AS [No] "&_ " FROM tbl_HoaDon INNER JOIN tbl_KhachHang ON tbl_HoaDon.MaKH = tbl_KhachHang.MaKH " & _ " GROUP BY tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, tbl_HoaDon.NgayMua " &_ 83 " HAVING ((cstr(datepart('yyyy',tbl_HoaDon.NgayMua))='" & DT_Lich.Year & "') AND ((Sum(tbl_HoaDon.[No]))=CInt(0))); " End If End If Set rsNoTra = New Recordset rsNoTra.Open Sql, Cnn, adOpenKeyset Set rptNoTra.DataSource = rsNoTra rptNoTra.Show ' Tong hop -ElseIf optTongHop = True Then Dim rsTongHop As Recordset With rptTongHop BottomMargin = 1000 LeftMargin = 1000 RightMargin = 1000 TopMargin = 1000 ReportWidth = 9000 End With If OptMonth = True Then Sql = " SELECT tbl_HoaDon.NgayMua as MuaNgay, Sum(tbl_HoaDon.Tongtien) AS Tongtien, Sum(tbl_HoaDon.TongKhoiluong) AS TongKhoiluong, Sum(tbl_HoaDon [No]) AS [No] " & _ " From tbl_HoaDon " & _ " GROUP BY tbl_HoaDon.NgayMua " & _ " HAVING ((CStr(DatePart('yyyy',[NgayMua]))='" & DT_Lich.Year & "' And CStr(DatePart('m',[NgayMua]))='" & DT_Lich.Month & "')); " ElseIf OptYear = True Then Sql = " SELECT Year([NgayMua]) AS nam, 'Thỏng ' & Month([NgayMua]) & ' năm ' & Year([NgayMua]) AS MuaNgay, Sum(tbl_HoaDon.Tongtien) AS Tongtien, Sum(tbl_HoaDon.TongKhoiluong) AS TongKhoiluong, Sum(tbl_HoaDon [No]) AS [No] " & _ " From tbl_HoaDon " & _ " GROUP BY Year([NgayMua]), Month([NgayMua]) " & _ " HAVING (((Year([NgayMua]))='" & DT_Lich.Year & "' )) " & _ "ORDER BY Year([NgayMua]), Month([NgayMua]); " End If 84 Set rsTongHop = New Recordset rsTongHop.Open Sql, Cnn, adOpenKeyset Set rptTongHop.DataSource = rsTongHop rptTongHop.Show ' -PHAN LOAI CHE ElseIf optPhanLoaiChe = True Then Dim rsPhanLoaiChe As Recordset With rptPhanLoaiChe BottomMargin = 800 LeftMargin = 750 RightMargin = 750 TopMargin = 800 ReportWidth = 9500 End With If OptDate = True Then Sql = " SELECT tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, tbl_NoidungMua.LoaiChe, Sum(tbl_NoidungMua.KhoiluongSau) AS KhoiLuong, Sum(tbl_NoidungMua.GiaChe) AS GiaChe, Sum(tbl_NoidungMua.Giatri) AS Giatri " & _ " FROM (tbl_HoaDon INNER JOIN tbl_KhachHang ON tbl_HoaDon.MaKH = tbl_KhachHang.MaKH) INNER JOIN tbl_NoidungMua ON tbl_HoaDon.MaHD = tbl_NoidungMua.MaHD " & _ " GROUP BY tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, tbl_NoidungMua.LoaiChe " & _ " HAVING ((cstr(tbl_HoaDon.NgayMua)='" & DT_Lich & "' )); " ElseIf OptYear = True Then Sql = " SELECT tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, tbl_NoidungMua.LoaiChe, Sum(tbl_NoidungMua.KhoiluongSau) AS KhoiLuong, Sum(tbl_NoidungMua.GiaChe) AS GiaChe, Sum(tbl_NoidungMua.Giatri) AS Giatri " & _ " FROM (tbl_HoaDon INNER JOIN tbl_KhachHang ON tbl_HoaDon.MaKH = tbl_KhachHang.MaKH) INNER JOIN tbl_NoidungMua ON tbl_HoaDon.MaHD = tbl_NoidungMua.MaHD " & _ 85 " GROUP BY tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, tbl_NoidungMua.LoaiChe " & _ " HAVING ((cstr(datepart('yyyy',tbl_HoaDon.NgayMua))='" & DT_Lich.Year & "' )); " ElseIf OptMonth = True Then Sql = " SELECT tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, tbl_NoidungMua.LoaiChe, tbl_NoidungMua.KhoiluongSau AS KhoiLuong, tbl_NoidungMua.GiaChe AS GiaChe, tbl_NoidungMua.Giatri AS Giatri " & _ " FROM (tbl_KhachHang INNER JOIN tbl_HoaDon ON tbl_KhachHang.MaKH = tbl_HoaDon.MaKH) INNER JOIN tbl_NoidungMua ON tbl_HoaDon.MaHD = tbl_NoidungMua.MaHD " & _ " GROUP BY tbl_HoaDon.NgayMua, tbl_HoaDon.MaHD, tbl_KhachHang.TenKH, tbl_KhachHang.DiaChi, tbl_NoidungMua.LoaiChe, tbl_NoidungMua.KhoiluongSau, tbl_NoidungMua.GiaChe, tbl_NoidungMua.Giatri; " & _ " HAVING ((CStr(DatePart('m',[ngaymua]))='" & DT_Lich.Month & "' And CStr(DatePart('yyyy',[ngaymua]))='" & DT_Lich.Year & "' ));" End If Set rsPhanLoaiChe = New Recordset rsPhanLoaiChe.Open Sql, Cnn, adOpenKeyset Set rptPhanLoaiChe.DataSource = rsPhanLoaiChe rptPhanLoaiChe.Show End If End Sub 86 ...  Quản lý người sử dụng chương trình:  Quản lý thu mua Chè:  Quản lý công nợ:  In báo cáo: 13 Sơ đồ chương trình: CHỨC NĂNG CHƯƠNG TRÌNH QL người sử dụng chương trình Quản lý thu mua Chè Quản. .. thiệu ngôn ngữ Visual Basic Ngôn ngữ Visual Basic ngày sử dụng rộng rãi đề án, chương trình thực nước Visual Basic xem công cụ phát triển phần mềm thông dụng Sau phiên Visual Basic 1.0 Visual Basic. .. Quản lý công nợ Báo báo cáo thu mua chè Quản lý người sử dụng chương trình: Chương trình Quản lý thu mua chè sử dụng doanh nghiệp kinh doanh Chè, nên bảo mật liệu công việc vô quan trọng Сhức quản

Ngày đăng: 21/11/2012, 09:58

Hình ảnh liên quan

Bảng 1: Húa đơn - Quản lý thu mua chè bằng ngôn ngữ lập trình Visual Basic

Bảng 1.

Húa đơn Xem tại trang 16 của tài liệu.
Bảng 2: Khỏch hàng - Quản lý thu mua chè bằng ngôn ngữ lập trình Visual Basic

Bảng 2.

Khỏch hàng Xem tại trang 16 của tài liệu.
Bảng 6: OldData - Quản lý thu mua chè bằng ngôn ngữ lập trình Visual Basic

Bảng 6.

OldData Xem tại trang 17 của tài liệu.
7 MaxSTT Text Max stt của bảng Price - Quản lý thu mua chè bằng ngôn ngữ lập trình Visual Basic

7.

MaxSTT Text Max stt của bảng Price Xem tại trang 17 của tài liệu.
Bảng 10: User - Quản lý thu mua chè bằng ngôn ngữ lập trình Visual Basic

Bảng 10.

User Xem tại trang 18 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan