Luận văn Chương trình quản lí hợp đồng thuê bao điện thoại

Form IV (Tìm Kiếm) Từ Form chính nếu bạn chọn trên thanh Menu chức năng bạn chọn Menu tìm kiếm hoặc bạn có thể ấn phím nóng(Ctr-D)khi đó Form tìm kiếm hiện ra nó sẽ cho phép bạn tìm kiếm theo số đIện thoại hay địa chỉ và có thể đưa ra các thông tin mà bạn muốn.

doc90 trang | Chia sẻ: aloso | Lượt xem: 1630 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận văn Chương trình quản lí hợp đồng thuê bao điện thoại, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
0% 5. Các quá trình liên quan XD và QLHĐPM Lập trình Phân đoạn các hoạt động STT Hoạt Động Bắt Đầu Kết Thúc 1 Lập ké Hoạch TEST Bắt đầu quy trình TEST KH được QTVDA phê duyệt 2 kịch bản test Kết thúc bước 1 QTVDA phê duyệt kịch bản 3 Test hệ thống kết thúc bước 2 QTVDA phê duyệt kịch bản 4 Test nghiệm thu kết thúc bước 3 QTVDA phê duyệt kịch bản 5 Hồ Sơ Test kết thúc bước 4 QTVDA phê duyệt kịch bản Trong bảng này ta liệt kê các hoạt động lớn nhưng chưa là hoạt động cụ thể cho hoạt động của chương trình .người ta phải chi tiết hóa đầu việc cụ thể . Lập kế hoạch test ta phải phân chia theo thời gian và bố trí lực lượng để thực hiện qua trình TEST. Kế hoạch test được xây dựng theo bảng sau: STT Hoạt Động Thời gian nhân lực 1 Thâm Nhập Thị trường 2 tháng 5 cán bộ test 2 Đề cương kịch bản 1 tuần 2 cán bộ test 3 Kịch bản test 2 tuần 5 cán bộ test 4 duyệt kịch bản 1 ngày 5 cán bộ test + lãnh đạo cty 5 Test hệ thống 10 ngày 5 cán bộ test 6 TEST nghiệm thu 10 ngày 5 cán bộ test Trên cở sở bảng phân loại tổng quát các hoạt động thì các cán bộ tiếp tục chi tiết hóa thành cácđầu việc cụ thể để có bản hướng dẫn hoạt động cụ thể chi tiết theo công việc và theo thời gian. 6. Quy trình 6: Triển khai phần mềm Mục Đích: Quy trình này có mục đích là cài đặt phần mềm cho kháh hàng tại các điểm triển khai và hương dẫn đào tạo sử dụng cho khách hàng. Các dấu hiệu: Quy trình này được đặc trưng bởi các dấu hiệu sau : Cài đặt máy chủ . Cài đặt các máy mạng Vận hành phần mề Đào tạo sử dụng Các thông số của quy trình Thông số Mô Tả yêu cầu 1.TSố chung: Chức Danh Cán Bộ triển khai Tiêu Chuẩn của FPT 2. Input Phần Mềm Bộ công cụ cài đặt HĐPM QTVDA phê duyệt 3. Sản phẩm(output) Biên bản cài đặt do khách hàng ký QTVDA phê duyệt 4. Đánh giá chất lượng Việc thực hiên cài đặt tại điểm triển khai đúng hạn >= 90% Mức độ chênh lệnh thời gian dự kiến và thời gian triển khai Thời gian đáp ứng yêu cầu của khách hang + - 20% 48giờ 5. Quá trình liên quan XD và QLHĐPM Lập trình Phân đoạn các hoạt động STT Hoạt Động Bắt Đầu Kết Thúc 1 Lập giải pháp triển khai Bắt đầu quy trình TK KH được QTVDA phê duyệt 2 Lập kế hoạch triển khai Kết thúc bước 1 QTVDA phê duyệt 3 Cài đặt máy chủ kết thúc bước 2 QTVDA phê duyệt 4 Cài dặt máy mạng kết thúc bước 3 QTVDA phê duyệt,khách hàng 5 Vận hành kết thúc bước 4 QTVDA phê duyệt 6 Đào tạo sử dụng kết thúc bước 5 khách hàng 7 Biên bản triển khai kết thúc bước 6 khách hàng Quá trình đào tạo sử dụng thực hiện theo bước sau: STT Lớp Đào Tạo đối tượng nội dung thời gian 1 lãnh đạo GD,PGD.. 1 ngày 2 VN quản lý Toàn bộ 3 ngày 3 NV tin học Toàn bộ 5 ngày Trên cở sở bảng phân loại tổng quát các hoạt động thì các cán bộ tiếp tục chi tiết hóa thành cácđầu việc cụ thể để có bản hướng dẫn hoạt động cụ thể chi tiết theo công việc và theo thời gian. 7. Quy trình 7: Quản lý dự án trong công nghệ phần mềm Quản lý dự án trong công nghệ phần mềm là công đoạn có tính chất bao chùm 6 công đoạn chúng ta đã nêu ở trên. Quản lý dự án bắt đầu từ khi có ý định khởi tạo với khách hàng cho đên khi thanh lý hợp đồng, quy trình quản lý dự ná bao gồm 5 bước: Xác định mục tiêu của dự án phần mềm Xác định quy mô của phần mềm Quản lý rủi ro Lập lịch thực hiện dự án Theo dõi và kiểm soát 7.1 Xác định mục tiêu Quản trị viên dự án là chức danh có nhiệm vụ xác định mục tiêu của một dự án phầm mềm, mục tiêu phải rõ ràng cụ thể vạch rõ gianh giới giữa phần mềm này và phần mềm khác. 7.2 Xác định quy mô phần mềm Đây là vấn đề có ỹ nghĩa đặc biệt quan trọng trong quản lý dự án phần mềm, vấn đề cân đong đo đếm trong thời gian thực luôn luôn thực hiện với mọi công việc thì đối với một dự án phần mềm cũng hoàn toàn tương tự quản trị viên dự án xác định quy mô của phần mềm để bố trí nhân lực và thời gian. Tuy nhiên vấn đề xác định quy mô lại rất phức tạp vì thế phần xác định quy mô luôn luôn được coi là khâu trọng yếu. Để xác định quy mô của phần mềm người ta dùng 2 phương pháp: KLOC và FP. 7.3 Quản lý rủi ro Là nét đặc trưng trong dự án phần mềm, trong các dự án phần mềm thì mức độ rủi ro là khác nhau. Nội dung xác định rủi ro bao gồm: xác định rủi ro thường gồm; đưa ra giải pháp quản lý rủi ro. Các nhà tin học người Mỹ cho rằng “Nếu kỹ sư phần mềm không chủ động tấn công vào các rủi ro thì chính các dủi ro lại chủ động tấn công vào họ”. 7.4 Lập lịch thực hiện Người ta thường sử dụng dạng sơ đồ FERT để biể diễn tinế trình thực hiện dự án phần mềm theo thời gian từ khi bắt đầu đến khi kết thúc dự án Lập lịch theo thời gian thường chi tiết đến đơn vị là ngày nhưng ở những điểm chuyển tiếp từ công đoạn này sang công đoạn khác thường được gọi là các khớp, người ta thường bố trí một khoảng thời gian ngắn chuyển tiếp để kế hoạch theo thời gian được thực hiện linh hoạt. Lập kế hoạch theo thời gian cho ta cái nhìn tổng thể về yếu tố thời gian đối với một dự án phần mềm còn đối với mỗi công đoạn thì phải thực hiện nghiêm túc khoảng thời gian đã cho, đôi khi trong sơ đồ người ta thường ghi thêm các nguồn lực chủ yếu về con người đối với mỗi giai đoạn. 7.5 Theo dõi và kiểm soát Nhằm nắm được thường xuyên tiến trình của dự án và trong trường hợp xảy ra các sự cố đưa ra các giải pháp khắc phục. Nội dung theo dõi và kiểm soát được thể hiện trong hình vẽ sau Theo dõi & kiểm soát K/s tiến trình dự án K/s hiện tượng bất thường K/s sản phẩm dự án K/s nguồn lực CHƯƠNG II: GIỚI THIỆU VỀ ĐƠN VỊ THỰC TẬP 1. Sơ lược về Bưu Điện Tỉnh Lai Châu BƯU ĐIỆN TỈNH LAI CHÂU (Lai Chau Posts & Telecommunications) Trụ sở : Phong Châu 2 Phường Đoàn Kết Tỉnh Lai Châu Điện thoại : (84-231)875584 Fax : (84-231)875580 Nơi thực tập : Phòng Kinh doanh Viễn Thông Tin Học Lĩnh vực hoạt động : Bưu điện Ngành nghề : Bưu chính, cố định, di động, truyền số liệu, internet, Gphone, dịch vụ khác Sản phẩm : Sản phẩm in, thiết bị bưu chính, sản phẩm phần mềm, Trụ sở : Phong Châu 2 Phường Đoàn Kết Tỉnh Lai Châu Kể từ ngày 01/01/2008 Tập đoàn BCVT Việt nam thực hiện việc chia tách tổng công ty bưu chính viễn thông thành 2 tổng công ty. 1/ Tổng công ty Bưu chính Việt Nam. 2/ Tổng công ty Viễn thông Việt Nam. Bưu điện tỉnh Lai Châu được thành lập theo QĐ số 558/QĐ-TCCB/HĐQT ngày 06 tháng 12 năm 2007 của Tập đoàn Bưu chính Viễn thông Việt Nam. Với hình thức giữ nguyên hiện trạng của Bưu điện tỉnh Lai Châu cũ. Trực thuộc tổng công ty Bưu chính Việt Nam. - Giám đốc: Ông Trần Quang Hợp. - Phó giám đốc: Ông Đặng nhân Có. - Bưu điện tỉnh Lai Châu được phép hoạt động sản xuất kinh doanh trong các lĩnh vực, ngành nghề kinh doanh theo giấy phép đăng ký số: 0106000918 ngày 10/08/2007 của tổng công ty Bưu chính Việt Nam. Lĩnh vực hoạt động chính : Bưu điện Ngành nghề : Kinh doanh khai thác bưu chính viễn thông Sửa chữa thiết bị chuyên ngành bưu chính viễn thông Tư vấn, lắp đặt, bảo trì mạng tin học, kinh doanh vật tư, thiết bị và phần mềm tin học Tư vấn đầu tư xây dựng, khảo sát, thiết kế, thi công xây dựng, xây lắp các công trình bưu chính viễn thông Dịch vụ vận chuyển, giao nhận hàng hoá và kho vận Ngoài ra được kinh doanh các ngành nghề khác được tổng công ty BCVN cho phép và phù hợp với qui định của pháp luật Sản phẩm: Sản phẩm in, thiết bị bưu chính, sản phẩm phần mềm, 2. Các phòng ban chức năng: - Mô hình quản lí của cơ quan: Giám đốc Phó Giám đốc P. Hành chính - Quản trị P. Kinh doanh Bưu chính P. Kế hoạch đầu tư P. Tổ chức cán bộ lao động P. Kinh doanh viễn thông tin học P. Kế toán Thống kê tài chính *Lãnh đạo Bưu Điện Lai Châu: - Giám Đốc: Ông Trần Quang Hợp - Phó Giám Đốc: Ông Đặng Nhân Có *Đảng bộ, Công Đoàn, Đoàn Thanh Niên Chủ Tịch Công Đoàn Bí thư đảng bộ *Các phòng ban chức năng và sự nghiệp - Phòng hành chính – quản trị: +) Phòng Hành chính – Quản trị có chức năng nhiệm vụ tham mưu giúp Giám Đốc về công tác hành chính, văn thư lưu trữ, kế hoạch tổng hợp, công tác đối ngoại, tham gia một số dự án, quản lý và điều hành phương tiện xe ô tô cơ quan, thực hiện các nhiệm vụ khác do Giám Đốc giao - Phòng Kinh Doanh Bưu Chính: Kinh doanh các sản phẩm bưu chính: tem, thư, dịch vụ điện thoại trong và ngoài nước, nhận và chuyển các bưu phẩm, hoạt động tiết kiệm bưu điện, bán thẻ điện thoại,sim card, thẻ game online, … - Phòng Kế Hoạch Đầu Tư: Tham mưu giúp ban lãnh đạo thực hiện chức năng quản lí về nhà nước về kế hoạch và đầu tư bao gồm các lĩnh vực: Tham mưu tổng hợp về quy hoạch, kế hoạch phát triển kinh tế xã hội, và đầu tư. - Phòng Tổ Chức Cán Bộ Lao Động : Giúp giám đốc trong công tác quản lí, quy hoạch, đào tạo, bồi dưỡng đội ngũ cán bộ, công chức, kiện toàn tổ chức bộ máy, đảm bảo thực hiện đúng và kịp thời các chế độ chính sách của nhà nước đối với cán bộ, công chức, thực hiện công tác bảo vệ an toàn cơ quan, an ninh trật tự trong cơ quan. +) Quản lí và hướng dẫn thực hiện các chính sách về tiền lương, phụ cấp theo lương, bảo hiểm xã hội (Hưu trí, mất sức, thôi việc, tai nạn lao động,… +) Đề xuất việc xây dựng và tổ chức thực hiện các quy hoạch về đội ngũ cán bộ (cán bộ chuyên môn và cán bộ quản lí) +) Đề xuất việc xây dựng, hướng dẫn thực hiện các nội dung về định biên và quản lý biên chế, tổ chức tuyển dụng, sử dụng, điều động, thuyên chuyển, đề bạt, đào tạo, bồi dưỡng đối với đội ngũ cán bộ công chức trong cơ quan. - Phòng Kế Toán: +) Phòng có chức năng quản lý công tác tài chính kế toán tại cơ quan theo các Luật Kế toán . Ngân sách và chế độ chính sách hiện hành của Nhà nước về lĩnh vực tài chính kế toán. +) Thu thập , xử lý thông tin, sô liệu kế toán theo đối tượng và nội dung công việc kế toán, theo chuẩn mực và chế độ kế toán +) Kiểm tra, giám sát các khoản thu, chi tài chính, các nghĩa vụ thu, nộp, thanh toán nợ . Kiểm tra việc quản lý, sử dụng tài sản và nguồn hình thành tài sản . Phát hiện và ngăn ngừa các hành vi vi phạm pháp luật về tài chính, kế toán. +) Phân tích thông tin, số liệu kế toán ; tham mưu, đề xuẩt các giải pháp phục vụ yêu cầu quản trị và quyết định kinh tế , tài chính của cơ quan +) Cung cấp thông tin và số liệu kế toán theo qui định của pháp luật +) Tổ chức điều hành bộ máy kế toán thực hiện công tác kế toán trong cơ quan theo quy định chức năng , nhiệm vụ của Phòng. Giúp lãnh đạo cơ quan giám sát tài chính của cơ quan +) Điều hành chi tiêu ngân sách +) Lập kế hoạch ngân sách hàng năm +) Kiểm tra, duyệt chứng từ thu, chi, chứng từ thanh toán +) Tham mưu cho Ban gi ám đốc về chế độ tài chính kế toán +) Lập báo cáo tài chính +) Lập Dự toán ngân sách hàng năm +) Chịu trách nhiệm trực tiếp kiểm tra đôn đốc, giải quyết các vướng mắc về giao dịch với ngân hàng, kho bạc. Chỉ đạo việc đối chiếu thu hồi công nợ, kiểm quỹ tiền mặt và đối chiếu định kỳ cũng như đột xuất. +) Cập nhật các văn bản pháp luật về lĩnh vực tài chính kế toán +) Yêu cầu các bộ phận có liên quan trong cơ quan cung cấp đầy đủ, kịp thời tài liệu liên quan đến công việc kế toán và giám sát tài chính của mình +) Chịu trách nhiệm nộp các khoản thuế: thuế môn bài, thuế GTGT, thuế thu nhập. - Phòng Kinh Doanh Viễn Thông: - Tin Học: +) Phòng kinh doanh Viễn thông -Tin học trực thuộc Bưu điện tỉnh có nhiệm vụ lập kế hoạch, phương án tổ chức kinh doanh các dịch vụ Bưu chính viễn thông trên địa bàn tỉnh Lai Châu. +)Quản lý toàn bộ hệ thống tin học bưu điện tỉnh Lai Châu và toàn bộ các huyện trong phạm vi của tỉnh: quản lí phát hành báo chí, kinh doanh dịch vụ internet,… +) Lắp đặt mới và sửa chữa, xử lí các sự cố các máy vi tính phục vụ cho hoạt động kinh doanh của các bưu điện huyện trong phạm vi của tỉnh. - Công Đoàn: +) Chức năng, Nhiệm vụ, quyền hạn Đại diện, bảo vệ lợi ích hợp pháp chính đáng của công nhân viên chức lao động Tham gia kiểm tra, giám sát hoạt động của cơ quan Nhà nước, tổ chức kinh tế - xã hội Giáo dục, động viên công nhân viên chức lao động phát huy quyền làm chủ đất nước, thực hiện nghĩa vụ công dân, xây dựng và bảo vệ Tổ quốc quốc Tuyên truyền đường lối, chủ trương của Đảng, chính sách, pháp luật của Nhà nước và nhiệm của tổ chức Công đoàn. Đại diện, bảo vệ các quyền, lợi ích hợp pháp, chính đáng của đoàn viên, công nhân viên chức lao động thuộc Ngành. Nghiên cứu tham gia quản lý Nhà nước về kinh tế - xã hội của Ngành và tham gia xây dựng các chế độ, chính sách Ngành. Nghiên cứu đề xuất với Tổng Liên đoàn Lao động Việt Nam về hệ thống tổ chức, mô hình tổ chức, cụ thể hoá chức năng, nhiệm vụ của mỗi cấp trong hệ thống Công đoàn Bưu điện Việt Nam. Hướng dẫn chỉ đạo hoạt động của các công đoàn cấp trên cơ sở và công đoàn cơ sở trực thuộc Công đoàn Bưu điện Việt Nam. Chủ động phối hợp với Liên đoàn Lao động tỉnh, thành phố xây dựng quy chế và chỉ đạo hướng dẫn các công đoàn cơ sở trực thuộc tại địa phương triển khai các hoạt động. * Các đơn vị trực thuộc bưu điện tỉnh: Bưu điện huyện Tam Đường Bưu điện huyện Than Uyên Bưu điện huyện Phong Thổ Bưu điện huyện Sìn Hồ Bưu điện huyện Mường Tè Và các điểm bưu điện văn hoá xã CHƯƠNG III CHƯƠNG TRÌNH QUẢN LÍ HỢP ĐỒNGTHUÊ BAO ĐIỆN THOẠI Phần I : Phân tích hệ thống I . Các chức năng cơ bản của hệ thống: 1>Quản lý thông tin về khách hàng : + Cập nhật thông tin về khách hàng. + Đưa ra các thông tin về hoá đơn trả tiền của khách hàng. 2> Tra cứu,Tìm kiếm : + Tra cứu theo số điện thoại. + Tra cứu theo họ tên. + Tra cứu theo các số liệu tổng hợp. 3> Báo cáo,Thống kê + Lập và xuất hoá đơn trả tiền hàng tháng của khách hàng. + Thống kê các khách hàng đã trả tiền trong tháng. + Báo cáo về tình hình chung của bưu điện trong tháng. II.Biểu đồ phân cấp chức năng của hệ thống quản lý thuê bao điện thoại Quản lý hợp đồng thuê bao điện thoại Quản lý khách hàng Tra cứu, tìm kiếm BÁO CÁO, thống kê Cập nhật Thông tin khách hàng Đưa ra các hoá đơn trả tiền khách hàng Tra cứu theo số điện thoại Tra cứư theo họ tên Tra cứu theo số liệu tổng hợp In các hóa đơn trả tiền của khách hàng Thống kê các khách hàng đã trả tiền Đưa ra tình hình chung của bưu điện Biểu đồ luông dữ liệu mức khung cảnh cho ta cái nhìn khái quát về quá trình hoạt động của hệ thống. Các thông tin cần xử lý Hệ thống quản lý các hợp đồng thuê bao điện thoại Khách hàng Thông tin Các nhân viên bưu điện Thông tin đã xử lý Các thông báo tới khách hàng Giải thích: Tác nhân ngoài là khách hàng sẽ đưa thông tin cá nhân tới cho hệ thống khi các khách hàng đến đăng ký thuê bao. Hệ thống có nhiệm vụ lưu trữ các thông tin đó gửi tới các nhân viên bưu điện, tác nhân ngoài là nhân viên bưu điện sẽ thông qua đó xử lý các thông tin đó và cuối tháng sẽ gửi các yêu cầu cho khách hàng . Biểu Đồ Luồng Dữ Liệu Mức Dưới Đỉnh Khách hàng Qu¶n lý kh¸ch hµng Tra cøu, t×m kiÕm B¸o c¸o, thèng kª Hố sơ lưu hàng tháng th¸ng Nh©n viªn b­u ®iÖn Thông tin khách hàng *Giải thích: Khi thông tin về khách hàng được chuyển vào hệ thống, chức năng Quản lý khách hàng sau khi phân loại và xử lý sẽ đưa thông tin vào kho Thông tin khách hàng và Kho hồ sơ lư trữ hàng tháng. Chức năng báo cáo thống kê cứ đến cuối tháng sẽ thu thập thông tin từ kho hồ sơ lưu trữ hàng tháng sau đó sẽ tổng kết và đưa ra các thông tin về khách hàng cũng như tình hình hàng tháng của bưu điện. Mổi khi có khách hàng cần biết đến các thông tin về khách hàng khi đó chức năng tra cứu và tìm kiếm sẽ cập nhật thông tin từ kho lưu trữ thông tin khách hàng để đưa ra các thông tin cần thiết *chức năng quản lý khách hàng Cập nhật thông tin 1.1 khách hàng Đưa ra các hoá đơn trả tiền của 1.2 khách hàng Khách hàng Hồ sơ khách hàng Hồ sơ lưu hàng tháng Hoá đơn trả tiền hàng tháng *Giải thích: Khi khách hàng đăng ký thuê bao thông tin khách hàng được lưu trữ bởi chức năng cập nhật thông tin khách hàng chức năng này sẽ lưu trữ thông tin của khách hàng, để đưa ra thông tin các hoá đơn của khách hàng thì chức năng đưa ra các hoá đơn trả tiền của khách hàng sẽ cập nhật thông tin từ kho hồ sơ lưu trữ hàng tháng. Với mổi thông tin đó lại được lưu trữ vào kho hoá đơn trả tiền hàng tháng. * Chức năng tra cứu, tìm kiếm Nhân viên Tra cứu theo 2.1 số điện thoại Tra cứu theo 2.2 2.2 họ tên Tra cứu 2.3 Tổng hợp Hồ sơ hàng tháng Thông tin khách hàng * Giải thích: Khi có tác nhân ngoài là nhân viên bưu điện theo yêu cầu của khách hàng cần các thông tin về một quí khách hàng nào đó khi đó tuỳ thuộc vào yêu cầu mà nhân viên có thể tra cứu dựa vào sự hoạt động của các chức năng. Hai chức năng tra cứu theo Họ tên và chức năng tra cứu theo địa chỉ truy có thể cập nhật thông tin từ kho thông tin khách hàng từ đó phân loại cho phù hợp với yêu cầu mà nhân viên bưu điện cần, riêng chức năng tra cứu theo số liệu tổng hợp có thể truy nhập thông tin từ hai kho dữ liệu đó là hồ sơ hàng tháng và thông tin khách hàng. Để giảm thời giản truy cập hai chức năng tra cứu theo Họ tên và chức năng tra cứu theo địa chỉ có thể kết nối trao đổi thông tin với chức năng tra cứu theo số liệu tổng hợp. * chức năng báo cáo, thống kê Nhân viên In hoá đơn 3.1 trả tiền tr¶ tiÒn Thèng kª kh¸ch 3.2 hµng ®· tr¶ tiÒn Đưa ra tình hình chung của bưu điện 3.3 Ho¸ ®¬n tr¶ tiÒn hµng th¸ng Thông tin khách hàng kh¸ch hµng Hồ sơ lưu hµng th¸ng * Giải thích Đến cuối mổi tháng các nhân viên bưu điện phải có nhiệm vụ gửi các hoá đơn thanh toán tiền cho các các cuộc gọi hàng tháng của quí khách hàng đã đăng ký thuê bao. Từ chức năng in hoá đơn trả tiền của khách hàng phải được cập nhật thông tin từ kho Hoá đơn trả tiền của khách hàng, mặt khác chức năng thống kê khách hàng đã trả tiền phải được cập nhật từ kho Hoá đơn trả tiền hàng tháng, hồ sơ lưu hàng tháng để có thể đưa ra thông tin chính xác các khách hàng đã trả tiền. Chức năng đánh giá tình hình chung của bưu điện phải được cập nhật đầy đủ thông tin để có thể đánh giá chính xác quá trình hoạt động của bưu điện trong tháng. Từ quá trình phân tích ta có thể đưa ra lược đồ cơ sở dữ liệu Người dùng Gọi HO TEN DC MASDT MAVUNG SODT THOI GIAN TIEN NGAY GOI MASDT Thiết Kế Các File Dữ Liệu 1.1. Bảng hồ sơ lưu trữ thông tin khách hàng thuê bao STT Tên trường Kiểu Độ rộng Giải thích 1 MASDT Text 50 Mã số điện thoại 2 HO Text 30 Họ khách hàng 3 TEN Text 40 Tên khách hàng 4 DC Text 60 Địa chỉ khách hàng 1.2. Bảng hồ sơ lưu trữ thông tin khách hàng thuê bao STT Tên trường Kiểu Độ rộng Giải thích 1 MAVUNG Text 50 Mã vùng 2 MASDT Text 40 Mã số đIện thoại 3 SODT Number 40 Số điện thoại khách thuê bao 4 THOIGIAN Date/Time 60 Thời gian gọi của khách hàng 5 TIEN Number 70 Số tiền gọi cho mổi cuộc Phân Tích Chương trình I. Giới Thiệu Ngôn Ngữ Để thực hiện một chương trình ngoài giải thuật còn một điều không thể thiếu được đó ngôn ngữ lập trình để làm cho phần mềm đó hoàn chỉnh hơn.Bên cạnh các ngôn ngữ lập trình đa dạng và phong phú ,thì ngôn ngữ lập trình Visual Basic có tính năng cao hơn cả ,giúp cho người dùng trong các công tác tổ chức ,lập dự án,tìm kiếm,lưu trữ,biểu diễn thông tin ,tiết kiệm thời gian. Phần mềm Visual Basic của hãng Microsoft là phần mềm phổ biến ở nước ta hiện nay.Visual Basic là ngôn ngữ lập trình trực quan theo hướng đối tượng lấy ngôn ngữ Basic làm gốc. Sử dụng phần mềm lập trình hướng đối tượng trên Windows sẽ giúp chương trình dễ sử dụng và tiện lợi cho người sử dụng vì nó cung cấp khả năng tạo đối tượng và các lớp bằng cách sử dụng giao diện thay ngôn ngữ,Visual Basic có giao diện đẹp ,các thao tác đơn giản không bị phụ thuộc vào chương trình như các chương trình lập trình trên môi trường DOS.Khả năng kết nối và các công cụ truy vấn giúp cho ta tổ chức tìm kiếm thông tin một cách nhanh chóng khi cơ sở dữ liệu đã được tạo các quan hệ ràng buộc. Tóm lại ,ngôn ngữ lập trình hướng đối tượng này là một công cụ cần thiết cho người sử dụng có thể cập nhật, lưu trữ, tìm kiếm, xem sửa một cách nhanh chóng. Với mong muốn áp dụng Visual Basic vào công tác quản lý,em xin thực hiện đề tài : Quản Lý Hợp Đồng Thuê Bao Điện Thoại trong bài tập lớn này.Ngoài ra trong chương trình tôi còn sử dụng ngôn ngữ lập trình SQL(Structer Query Language )đây là ngôn ngữ rất mạnh về truy vấn dữ liệu PHẦN II. NỘI DUNG CHƯƠNG TRÌNH Chương trình Quản lý số điện thoại đã đăng ký thuê bao cần đạt được các yêu cầu tối thiểu sau : + Việc cập nhật các thông tin khách hàng, thông tin về hoá đơn trả tiền của khách hàng. + Việc tìm kiếm đơn giản ,nhanh chóng ,chính xác. + Việc in ấn các công văn tiện lợi ,đẹp ,dễ nhìn. Trong bài tập lớn này với đề tài Quản lý công văn đến được lập bằng ngôn ngữ lập trình hướng đối tượng Visual Basic 6.0. Chương trình sử dụng hệ quản trị cơ sở dữ liệu Access để lưu trữ các thông tin về khách hàng đã đăng ký thuê bao với các thông tin : thời gian cho từng cuộc gọi, số tiền cho từng cuộc gọi… Chương trình Quản lý số điện thoại đã đăng ký thuê bao gồm có 6 Form thực hiện các thao tác sau. + Form 1: Form này để người sử dụng bắt đầu vào chương trình chính.Giao diện Form như là một logo.Khi vào chương trình Form có chức năng như là nền cho chương trình. + Form2 : là Form có tác dụng cập nhật tất cả các khách hàng đã đăng ký thuê bao công việc này bao gồm đưa ra thông tin về địa chỉ, số điện thoại mà khách hàng này đã đăng ký. Form này có thể đưa ra được tất cả các khách hàng có trong cơ sỡ dữ liệu. + Form3 ( Form in khách hàng) : tại đây người sử dụng có thể in ra các khách hàng nếu cần thiết + Form 4 (Form tìm kiếm) :là Form để cho các nhân viên bưu điện khi có khách hàng gọi điện đến thì có thể tìm kiếm một cách dễ dàng hơn, nó cho phép tìm kiếm theo địa chỉ, theo số điện thoại mà khách hàng đã thuê bao, nếu như tìm thấy các điều kiện thoả mãn thì có thể hiện ra tát cả các trường hoặc một trường nào đó tuỳ vào yêu cầu tìm kiếm. + Form 5 (Form In ra các hoá đơn trả tiền của khách hàng) :với tất các khách hàng đã đăng ký thuê bao có các cuộc gọi trong tháng sẽ được in ra cho các nhân viên bưu điện cuối mổi tháng. + Form 6 (Form in ấn và tính toán) :dùng để tính toán tiền cho mổi cuộc gọi của khách hàng tuỳ thuộc vào vùng gọi của khách hàng và số thời gian mà quí khách hàng đã gọi, mổi khi chương trình chạy thì việc tính tiền sẽ được tiến hành và được lưu trữ vào cơ sỡ dữ liệu đã có sẵn.Trên Form này có các nút lệnh cho phép nhân viên có thể xuất hoá đơn trả tiền hàng tháng của khách hàng và tổng số tiền mà quí khách hàng phải trả trong tháng. I. Form mở đầu. Form này mục đích chủ yếu để giới thiệu chương trình bao gồm ba nút lệnh: + Các chức năng bao gồm nội dung của tất cả chương trình + Trợ giúp hướng dẩn cánh sử dụng chương trình,và người viết chương trình. + Thoát giúp cho người sử dụng có thể thoát khỏi chương trình một cách dể dàng. Các phương thức được sử dụng trong Form này Private Sub MNUEXIT_Click() End End Sub Private Sub mnugoi_Click() End Sub Private Sub mnuin_Click() xuly.WindowState = 1 CUSTOR.show End Sub Private Sub MNUTIM_Click() Form1.WindowState = 1 tim.show End Sub Private Sub MNUTT_Click() Form1.WindowState = 1 inra.show End Sub Private Sub MNUTTT_Click() Form1.WindowState = 1 xuly.show End Sub Form II (Cập Nhật Thông Tin Khách Hàng) Từ Form chính nếu bạn chọn trên thanh Menu chức năng thông tin khách hàng->cập nhật hoặc bạn củng có thể ấn (Ctr-C) khi đó Form cập nhật sẽ hiện ra cho phép bạn có thể xem thông tin các khách hàng đã đăng ký thuê bao. Các phương thức được sử dụng trong Form này Dim j As Integer Dim i As Integer If Val(tu.Text) Val(den.Text) Then d.Recordset.MoveFirst For j = 1 To Val(tu.Text) d.Recordset.MoveNext Next j = j - 1 d.Recordset.MovePrevious End If For j = Val(tu.Text) To Val(den.Text) T.Text = "" T.Text = "" T.Text = " THONG TIN CAC KHACH HANG DA THUE BAO " & Chr(13) & Chr(10) & Chr(13) & Chr(10) '***************' T.Text = T.Text & " PHONE NUMBER : " & d.Recordset.Fields("MASDT") & Chr(13) & Chr(10) T.Text = T.Text & " FIRST NAME : " & d.Recordset.Fields("HO") & Chr(13) & Chr(10) T.Text = T.Text & " LAST NAME : " & d.Recordset.Fields("TEN") & Chr(13) & Chr(10) T.Text = T.Text & " ADRESS : " & d.Recordset.Fields("DC") & Chr(13) & Chr(10) T.Text = T.Text & " LAI CHAU POST OFFICE " & Chr(13) & Chr(10) If d.Recordset.EOF False Then d.Recordset.MoveNext Printer.EndDoc End If Next End Sub Private Sub Command2_Click() thu.Text = "" If d.Recordset.BOF = False Then d.Recordset.MovePrevious End If If d.Recordset.EOF Then hdthu = d.Recordset.RecordCount hdthu = hdthu - 1 End If If d.Recordset.BOF = False Then If hdthu = 0 Then hdthu = 1 thu.Text = hdthu T.Text = "" End If End If '***************' If d.Recordset.BOF = True Then MsgBox "YOU DON'T TO CONTINUE " Exit Sub Else T.Text = "" T.Text = " THONG TIN CAC KHACH HANG DA THUE BAO " & Chr(13) & Chr(10) & Chr(13) & Chr(10) '***************' T.Text = T.Text & " PHONE NUMBER : " & d.Recordset.Fields("MASDT") & Chr(13) & Chr(10) T.Text = T.Text & " FIRST NAME : " & d.Recordset.Fields("HO") & Chr(13) & Chr(10) T.Text = T.Text & " LAST NAME : " & d.Recordset.Fields("TEN") & Chr(13) & Chr(10) T.Text = T.Text & " ADRESS : " & d.Recordset.Fields("DC") & Chr(13) & Chr(10) T.Text = T.Text & " LAI CHAU POST OFFICE " & Chr(13) & Chr(10) End If End Sub Private Sub Command3_Click() thu.Text = "" If d.Recordset.EOF = False Then d.Recordset.MoveNext End If If d.Recordset.BOF Then hdthu = hdthu + 1 If hdthu = d.Recordset.RecordCount + 1 Then hdthu = d.Recordset.RecordCount thu.Text = hdthu T.Text = "" End If End If '***************' If d.Recordset.EOF = True Then MsgBox "I'M SORRY YOU DON'T TO CONTINUE" Exit Sub Else T.Text = " THONG TIN CAC KHACH HANG DA THUE BAO " & Chr(13) & Chr(10) & Chr(13) & Chr(10) '***************' T.Text = T.Text & " PHONE NUMBER : " & d.Recordset.Fields("MASDT") & Chr(13) & Chr(10) T.Text = T.Text & " FIRST NAME : " & d.Recordset.Fields("HO") & Chr(13) & Chr(10) T.Text = T.Text & " LAST NAME : " & d.Recordset.Fields("TEN") & Chr(13) & Chr(10) T.Text = T.Text & " ADRESS : " & d.Recordset.Fields("DC") & Chr(13) & Chr(10) T.Text = T.Text & " LAI CHAU POST OFFICE " & Chr(13) & Chr(10) End If '+++++++++++++++++++++++++++++++++++++++++++++++++++++ End Sub Private Sub Command4_Click() Form1.WindowState = 0 Unload Me End Sub Private Sub den_Change() If Not IsNumeric(den.Text) Then den.Text = "" Else If (Val(den.Text) > d.Recordset.RecordCount) Or (Val(den.Text) < 1) Then den.Text = "" End If End If End Sub Private Sub Form_Load() hdthu = 1 d.DatabaseName = App.Path & "\PHONE.mdb" d.Refresh d.RecordSource = "NGDUNG" d.Refresh d.Recordset.MoveLast hdthu = d.Recordset.RecordCount thu.Text = hdthu T.Text = "" T.Text = " THONG TIN CAC KHACH HANG DA THUE BAO " & Chr(13) & Chr(10) & Chr(13) & Chr(10) '***************' T.Text = T.Text & " PHONE NUMBER : " & d.Recordset.Fields("MASDT") & Chr(13) & Chr(10) T.Text = T.Text & " FIRST NAME : " & d.Recordset.Fields("HO") & Chr(13) & Chr(10) T.Text = T.Text & " LAST NAME : " & d.Recordset.Fields("TEN") & Chr(13) & Chr(10) T.Text = T.Text & " ADRESS : " & d.Recordset.Fields("DC") & Chr(13) & Chr(10) T.Text = T.Text & " LAI CHAU POST OFFICE " & Chr(13) & Chr(10) End Sub Private Sub show_Click() inra.show End Sub Private Sub sobanin_Change() If Not IsNumeric(sobanin.Text) Then sobanin.Text = "" Else If Val(sobanin.Text) < 1 Then sobanin.Text = "" End If End If End Sub Private Sub thu_Change() tu.Text = thu.Text den.Text = thu.Text End Sub Private Sub tu_Change() If Not IsNumeric(tu.Text) Then tu.Text = "" Else If (Val(tu.Text) > d.Recordset.RecordCount) Or (Val(tu.Text) < 1) Then tu.Text = "" End If End If End Sub Private Sub tu_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then den.SetFocus End If End Sub FORM III(In khách Hàng) Từ Form chính nếu bạn chọn trên thanh Menu chức năng bạn chọn Menu thông tin khách hàng->in khách hàng hoặc bạn củng có thể ấn (Ctr-A) khi đó Form in khách hàng sẽ hiện ra cho phép bạn có thể in bất kỳ khách hàng nào nếu bạn muốn đIều này giúp cho các nhân viên bưu điện dễ dàng truy cập hơn *Các Phương Thức Public cvthu As Integer Private Sub Cmd01_Click(Index As Integer) End Sub Private Sub cmd2_Click() If Not Data1.Recordset.BOF Then Data1.Recordset.MovePrevious Else Data1.Recordset.MoveLast End If End Sub Private Sub Cmd3_Click() If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext Else Data1.Recordset.MoveFirst End If End Sub Private Sub Cmd4_Click() Data1.Recordset.MoveLast End Sub Private Sub cd1_Click() Data1.Recordset.MoveFirst thu.Caption = 1 T.Text = "" T.Text = T.Text & " CONG HOA XA HOI CHU NGHIA VIET NAM " & Chr(13) & Chr(10) T.Text = T.Text & " Doclap_tudo_hanhphuc " & Chr(13) & Chr(10) T.Text = T.Text & " o0o " & Chr(13) & Chr(10) T.Text = T.Text & " LOI CAM ON TOI CAC KHACH HANG DA THUE BAO " & Chr(13) & Chr(10) T.Text = T.Text & " KINH GUI ONG\BA : " & Data1.Recordset.Fields("HO") & Chr(13) & Chr(10) T.Text = T.Text & " NAME : " & Data1.Recordset.Fields("TEN") & Chr(13) & Chr(10) T.Text = T.Text & " SO MAY : " & Data1.Recordset.Fields("MASDT") & Chr(13) & Chr(10) T.Text = T.Text & " ADDRESS : " & Data1.Recordset.Fields("DC") & Chr(13) & Chr(10) T.Text = T.Text & " XIN CHAN THANH CAM ON QUI KHACH HANG DA DUNG THUE BAO CUA CHUNG TOI " & Chr(13) & Chr(10) T.Text = T.Text & " MOI THAC MAC XIN GUI CHO CHUNG TOI THEO SO MAY " & Chr(13) & Chr(10) T.Text = T.Text & " 0231875101 " End Sub Private Sub cd2_Click() If thu.Caption > 1 Then Data1.Recordset.MovePrevious thu.Caption = thu.Caption - 1 T.Text = "" T.Text = T.Text & " CONG HOA XA HOI CHU NGHIA VIET NAM " & Chr(13) & Chr(10) T.Text = T.Text & " Doclap_tudo_hanhphuc " & Chr(13) & Chr(10) T.Text = T.Text & " o0o " & Chr(13) & Chr(10) T.Text = T.Text & " LOI CAM ON TOI CAC KHACH HANG DA THUE BAO " & Chr(13) & Chr(10) T.Text = T.Text & " KINH GUI ONG\BA : " & Data1.Recordset.Fields("HO") & Chr(13) & Chr(10) T.Text = T.Text & " NAME : " & Data1.Recordset.Fields("TEN") & Chr(13) & Chr(10) T.Text = T.Text & " SO MAY : " & Data1.Recordset.Fields("MASDT") & Chr(13) & Chr(10) T.Text = T.Text & " ADDRESS : " & Data1.Recordset.Fields("DC") & Chr(13) & Chr(10) T.Text = T.Text & " XIN CHAN THANH CAM ON QUI KHACH HANG DA DUNG THUE BAO CUA CHUNG TOI " & Chr(13) & Chr(10) T.Text = T.Text & " MOI THAC MAC XIN GUI CHO CHUNG TOI THEO SO MAY " & Chr(13) & Chr(10) T.Text = T.Text & " 0231875101 " Else MsgBox "ban ghi da het ", , "in ban ghi cuoi" Exit Sub End If End Sub Private Sub cd3_Click() If thu.Caption < Data1.Recordset.RecordCount Then Data1.Recordset.MoveNext thu.Caption = thu.Caption + 1 T.Text = "" T.Text = T.Text & " CONG HOA XA HOI CHU NGHIA VIET NAM " & Chr(13) & Chr(10) T.Text = T.Text & " Doclap_tudo_hanhphuc " & Chr(13) & Chr(10) T.Text = T.Text & " o0o " & Chr(13) & Chr(10) T.Text = T.Text & " LOI CAM ON TOI CAC KHACH HANG DA THUE BAO " & Chr(13) & Chr(10) T.Text = T.Text & " KINH GUI ONG\BA : " & Data1.Recordset.Fields("HO") & Chr(13) & Chr(10) T.Text = T.Text & " NAME : " & Data1.Recordset.Fields("TEN") & Chr(13) & Chr(10) T.Text = T.Text & " SO MAY : " & Data1.Recordset.Fields("MASDT") & Chr(13) & Chr(10) T.Text = T.Text & " ADDRESS : " & Data1.Recordset.Fields("DC") & Chr(13) & Chr(10) T.Text = T.Text & " XIN CHAN THANH CAM ON QUI KHACH HANG DA DUNG THUE BAO CUA CHUNG TOI " & Chr(13) & Chr(10) T.Text = T.Text & " MOI THAC MAC XIN GUI CHO CHUNG TOI THEO SO MAY " & Chr(13) & Chr(10) T.Text = T.Text & " 0231875101 " Else MsgBox "ban ghi ban chon da het ", , "in ban ghi dau" Exit Sub End If End Sub Private Sub cd4_Click() Data1.Recordset.MoveLast thu.Caption = Data1.Recordset.RecordCount T.Text = "" T.Text = T.Text & " CONG HOA XA HOI CHU NGHIA VIET NAM " & Chr(13) & Chr(10) T.Text = T.Text & " Doclap_tudo_hanhphuc " & Chr(13) & Chr(10) T.Text = T.Text & " o0o " & Chr(13) & Chr(10) T.Text = T.Text & " LOI CAM ON TOI CAC KHACH HANG DA THUE BAO " & Chr(13) & Chr(10) T.Text = T.Text & " KINH GUI ONG\BA : " & Data1.Recordset.Fields("HO") & Chr(13) & Chr(10) T.Text = T.Text & " NAME : " & Data1.Recordset.Fields("TEN") & Chr(13) & Chr(10) T.Text = T.Text & " SO MAY : " & Data1.Recordset.Fields("MASDT") & Chr(13) & Chr(10) T.Text = T.Text & " ADDRESS : " & Data1.Recordset.Fields("DC") & Chr(13) & Chr(10) T.Text = T.Text & " XIN CHAN THANH CAM ON QUI KHACH HANG DA DUNG THUE BAO CUA CHUNG TOI " & Chr(13) & Chr(10) T.Text = T.Text & " MOI THAC MAC XIN GUI CHO CHUNG TOI THEO SO MAY " & Chr(13) & Chr(10) T.Text = T.Text & " 0231875101 " End Sub Private Sub Form_Load() Data1.DatabaseName = App.Path & "\PHONE.mdb" Data1.RecordSource = "NGDUNG" Data1.Refresh Data1.Recordset.MoveLast sobanin.Text = "" cvthu = Data1.Recordset.RecordCount thu = cvthu T.Text = "" T.Text = T.Text & " CONG HOA XA HOI CHU NGHIA VIET NAM " & Chr(13) & Chr(10) T.Text = T.Text & " Doclap_tudo_hanhphuc " & Chr(13) & Chr(10) T.Text = T.Text & " o0o " & Chr(13) & Chr(10) T.Text = T.Text & " LOI CAM ON TOI CAC KHACH HANG DA THUE BAO " & Chr(13) & Chr(10) T.Text = T.Text & " KINH GUI ONG\BA : " & Data1.Recordset.Fields("HO") & Chr(13) & Chr(10) T.Text = T.Text & " NAME : " & Data1.Recordset.Fields("TEN") & Chr(13) & Chr(10) T.Text = T.Text & " SO MAY : " & Data1.Recordset.Fields("MASDT") & Chr(13) & Chr(10) T.Text = T.Text & " ADDRESS : " & Data1.Recordset.Fields("DC") & Chr(13) & Chr(10) T.Text = T.Text & " XIN CHAN THANH CAM ON QUI KHACH HANG DA DUNG THUE BAO CUA CHUNG TOI " & Chr(13) & Chr(10) T.Text = T.Text & " MOI THAC MAC XIN GUI CHO CHUNG TOI THEO SO MAY " & Chr(13) & Chr(10) T.Text = T.Text & " 0231875101 " End Sub Private Sub inan_Click() Dim i, l As Integer T.Text = "" T.Text = T.Text & " CONG HOA XA HOI CHU NGHIA VIET NAM " & Chr(13) & Chr(10) T.Text = T.Text & " Doclap_tudo_hanhphuc " & Chr(13) & Chr(10) T.Text = T.Text & " o0o " & Chr(13) & Chr(10) T.Text = T.Text & " LOI CAM ON TOI CAC KHACH HANG DA THUE BAO " & Chr(13) & Chr(10) T.Text = T.Text & " KINH GUI ONG\BA : " & Data1.Recordset.Fields("HO") & Chr(13) & Chr(10) T.Text = T.Text & " NAME : " & Data1.Recordset.Fields("TEN") & Chr(13) & Chr(10) T.Text = T.Text & " SO MAY : " & Data1.Recordset.Fields("MASDT") & Chr(13) & Chr(10) T.Text = T.Text & " ADDRESS : " & Data1.Recordset.Fields("DC") & Chr(13) & Chr(10) T.Text = T.Text & " XIN CHAN THANH CAM ON QUI KHACH HANG DA DUNG THUE BAO CUA CHUNG TOI " & Chr(13) & Chr(10) T.Text = T.Text & " MOI THAC MAC XIN GUI CHO CHUNG TOI THEO SO MAY " & Chr(13) & Chr(10) T.Text = T.Text & " 0231875101 " If sobanin.Text = "" Then MsgBox " TOI THIEU PHAI NHAP SO BAN IN VAO" sobanin.SetFocus Else l = MsgBox("BAN MUON IN KHACH HANG NAY KHONG ?", 4, "NEU IN CHON YES") If l = 6 Then For i = 1 To Val(sobanin.Text) Printer.Print T.Text Printer.NewPage Next Printer.EndDoc Else Exit Sub End If On Error Resume Next If ActiveForm Is Nothing Then Exit Sub With dlgCommonDialog .DialogTitle = "Print" .CancelError = True .Flags = cdlPDReturnDC + cdlPDNoPageNums If ActiveForm.rtfText.SelLength = 0 Then .Flags = .Flags + cdlPDAllPages Else .Flags = .Flags + cdlPDSelection End If .ShowPrinter If Err MSComDlg.cdlCancel Then ActiveForm.rtfText.SelPrint .hDC End If End With End If End Sub Private Sub sobanin_Change() If Not IsNumeric(sobanin.Text) Then sobanin.Text = "" Else If Val(sobanin.Text) < 1 Then sobanin.Text = "" End If End If End Sub Private Sub thoat_Click() Form1.WindowState = 0 Unload Me End Sub Form IV (Tìm Kiếm) Từ Form chính nếu bạn chọn trên thanh Menu chức năng bạn chọn Menu tìm kiếm hoặc bạn có thể ấn phím nóng(Ctr-D)khi đó Form tìm kiếm hiện ra nó sẽ cho phép bạn tìm kiếm theo số đIện thoại hay địa chỉ và có thể đưa ra các thông tin mà bạn muốn. Các Phương thức sử dụng trong Form này Option Explicit Dim DB As Database Dim DongSQL As String Dim SQL1 As String Dim i As Integer Private Sub Cmdthoat_Click() Form1.WindowState = 0 Unload Me End Sub Private Sub CmdClear_Click() comhien.Text = "" ComDK.Text = "" ComPheptoan.Text = "" Gt.Text = "" ComDK.SetFocus Data1.Refresh Data1.RecordSource = "NGDUNG" Data1.Refresh Text1.Text = "Select" End Sub Private Sub cmdxem_Click() If ComDK.Text = "" Then MsgBox "ban phai chon thong tin can xem" Exit Sub End If If ComPheptoan.Text = "" Then MsgBox " ban phai chon dieu kien so sanh" Exit Sub End If If Gt.Text = "" Then MsgBox "ban phai chon gia tri so sanh" Exit Sub End If '-------------------------------------- If ComDK.Text "" And ComPheptoan.Text "" And Gt.Text "" Then If comhien.Text = "" Or comhien.Text = "TAT CA" Then DongSQL = "Select * From NGDUNG Where [" & ComDK.Text & "]" & ComPheptoan.Text Else DongSQL = "Select " & "[" & comhien.Text & "]" & " From NGDUNG Where [" & ComDK.Text & "]" & ComPheptoan.Text End If Select Case ComDK.ListIndex Case 0 To 10 If ComPheptoan.Text "Like" Then DongSQL = DongSQL & "'" & Trim(Gt.Text) & "'" Else DongSQL = DongSQL & "'" & Trim(Gt.Text) & "*'" End If End Select Data1.RecordSource = DongSQL Data1.Refresh Text1.Text = "" If comhien.Text = "" Or comhien.Text = "TAT CA" Then SQL1 = "Select *" & " From NGDUNG Where [" & ComDK.Text & "] " & ComPheptoan.Text & " '" & Gt.Text & "'" Else SQL1 = "Select [" & comhien.Text & "]" & " From NGDUNG Where [" & ComDK.Text & "] " & ComPheptoan.Text & " '" & Gt.Text & "'" End If Text1.Text = SQL1 End If End Sub Private Sub ComDK_Click() If ComDK.Text "" Then Select Case ComDK.ListIndex Case 0 To 10 ComPheptoan.Clear ComPheptoan.AddItem "=" End Select Gt.Text = "" If comhien.Text = "" Or comhien.Text = "TAT CA" Then SQL1 = "Select *" & " From NGDUNG Where [" & ComDK.Text & "] " & ComPheptoan.Text & " '" & Gt.Text & "'" Else SQL1 = "Select [" & comhien.Text & "]" & " From NGDUNG Where [" & ComDK.Text & "] " & ComPheptoan.Text & " '" & Gt.Text & "'" End If Else ComDK.SetFocus End If End Sub Private Sub ComPheptoan_Click() If ComPheptoan.Text "" Then Gt.SetFocus Text1.Text = "" If comhien.Text = "" Or comhien.Text = "TAT CA" Then SQL1 = "Select *" & " From NGDUNG Where [" & ComDK.Text & "] " & ComPheptoan.Text & " '" & Gt.Text & "'" Else SQL1 = "Select [" & comhien.Text & "]" & " From NGDUNG Where [" & ComDK.Text & "] " & ComPheptoan.Text & " '" & Gt.Text & "'" End If Else ComPheptoan.SetFocus End If End Sub Private Sub Form_Load() Set DB = OpenDatabase(App.Path & "\PHONE.mdb") Data1.Refresh Call HIEN Call Dieukien Gt.Text = "" Text1.Text = "Select" End Sub Public Sub Dieukien() For i = 0 To Data1.Recordset.Fields.Count - 1 ComDK.AddItem (Data1.Recordset.Fields(i).Name) Next i End Sub Public Sub HIEN() comhien.AddItem "TAT CA" For i = 0 To Data1.Recordset.Fields.Count - 1 comhien.AddItem (Data1.Recordset.Fields(i).Name) Next i End Sub FORM V (In ra các hoá đơn trả tiền của khách hàng): Từ Form chính nếu bạn chọn trên thanh Menu chức năng bạn chọn Menu hoá đơn trả tiền hoặc bạn có thể ấn phím nóng(Ctr-H) khi dó sẽ hiện ra form in háo đơn trã tiền của khách hàng trên dó sẽ có ba nút lệnh nếu bạn muốn in ra các thông tin của quí khách hàng có các cuộc gọi trong tháng thì bạn có thể chọn nút lệnh hoá đơn. Các phương thức trong Form này Option Explicit Dim da As DAO.Database Dim rec As DAO.Recordset Dim st Dim rec2 As DAO.Recordset Dim r As TableDef Public dem As Integer Dim qur As DAO.QueryDef Dim rs As New ADODB.Recordset Dim dem1 As Integer Private Sub Command1_Click() xuly.WindowState = 0 Unload inbaocao End Sub Private Sub Form_Load() open_db Data1.DatabaseName = App.Path & "\PHONE.mdb" Data1.RecordSource = "GOI" Data1.Refresh Data1.Recordset.MoveLast Data2.DatabaseName = App.Path & "\PHONE.mdb" Data2.RecordSource = "NGDUNG" Data2.Refresh dem = Data1.Recordset.RecordCount thu = dem ' qur.Name = "canh" st = "select HO,TEN ,DC from NGDUNG,GOI where NGDUNG.MASDT=GOI.MASDT " rs.open st, cn, adOpenKeyset, adLockOptimistic, adCmdText dem1 = rs.RecordCount ' qur.SQL = st 'da.QueryDefs.Append qur rs.MoveLast T.Text = "" T.Text = T.Text & " CONG HOA XA HOI CHU NGHIA VIET NAM " & Chr(13) & Chr(10) T.Text = T.Text & " Doclap_tudo_hanhphuc " & Chr(13) & Chr(10) T.Text = T.Text & " o0o " & Chr(13) & Chr(10) T.Text = T.Text & " THONG TIN HOA DON TR TIEN OF CUSTOMER DA THUE BAO " & Chr(13) & Chr(10) T.Text = T.Text & " KINH GUI ONG\BA : " & rs![HO] & rs![TEn] & Chr(13) & Chr(10) T.Text = T.Text & " ADDRESS : " & rs![DC] & Chr(13) & Chr(10) 'T.Text = T.Text & " XIN CHAN THANH CAM ON QUI KHACH HANG DA DUNG THUE BAO CUA CHUNG TOI " & Chr(13) & Chr(10) T.Text = T.Text & " SO DT HIEN DANG THUE BAO : " & Data1.Recordset.Fields("MASDT") & Chr(13) & Chr(10) T.Text = T.Text & " CAC SO DIEN THOAI MA QUI KHACK DA GOI TRONG THANG " & Chr(13) & Chr(10) T.Text = T.Text & " MAVUNG : " & Data1.Recordset.Fields("MAVUNG") & Chr(13) & Chr(10) T.Text = T.Text & " SODT : " & Data1.Recordset.Fields("SODT") & Chr(13) & Chr(10) T.Text = T.Text & " NGAY GOI LA : " & Data1.Recordset.Fields("NGAYGOI") & Chr(13) & Chr(10) T.Text = T.Text & " THOI GIAN LA : " & Data1.Recordset.Fields("THOIGIAN") & Chr(13) & Chr(10) T.Text = T.Text & " SO TIEN CHO CUOC GOI NAY : " & Data1.Recordset.Fields("TIEN") & Chr(13) & Chr(10) End Sub Private Sub cd2_Click() If thu.Caption > 1 Then Data1.Recordset.MovePrevious rs.MovePrevious thu.Caption = thu.Caption - 1 T.Text = "" T.Text = T.Text & " CONG HOA XA HOI CHU NGHIA VIET NAM " & Chr(13) & Chr(10) T.Text = T.Text & " Doclap_tudo_hanhphuc " & Chr(13) & Chr(10) T.Text = T.Text & " o0o " & Chr(13) & Chr(10) T.Text = T.Text & " THONG TIN HOA DON TR TIEN OF CUSTOMER DA THUE BAO " & Chr(13) & Chr(10) T.Text = T.Text & " KINH GUI ONG\BA : " & rs![HO] & rs![TEn] & Chr(13) & Chr(10) T.Text = T.Text & " ADDRESS : " & rs![DC] & Chr(13) & Chr(10) 'T.Text = T.Text & " XIN CHAN THANH CAM ON QUI KHACH HANG DA DUNG THUE BAO CUA CHUNG TOI " & Chr(13) & Chr(10) T.Text = T.Text & " SO DT HIEN DANG THUE BAO : " & Data1.Recordset.Fields("MASDT") & Chr(13) & Chr(10) T.Text = T.Text & " CAC SO DIEN THOAI MA QUI KHACK DA GOI TRONG THANG " & Chr(13) & Chr(10) T.Text = T.Text & " MAVUNG : " & Data1.Recordset.Fields("MAVUNG") & Chr(13) & Chr(10) T.Text = T.Text & " SODT : " & Data1.Recordset.Fields("SODT") & Chr(13) & Chr(10) T.Text = T.Text & " NGAY GOI LA : " & Data1.Recordset.Fields("NGAYGOI") & Chr(13) & Chr(10) T.Text = T.Text & " THOI GIAN LA : " & Data1.Recordset.Fields("THOIGIAN") & Chr(13) & Chr(10) T.Text = T.Text & " SO TIEN CHO CUOC GOI NAY : " & Data1.Recordset.Fields("TIEN") & Chr(13) & Chr(10) Else MsgBox "ban ghi da het ", , "in ban ghi cuoi" Exit Sub End If End Sub Private Sub cd3_Click() If thu.Caption < Data1.Recordset.RecordCount Then Data1.Recordset.MoveNext rs.MoveNext thu.Caption = thu.Caption + 1 T.Text = "" T.Text = T.Text & " CONG HOA XA HOI CHU NGHIA VIET NAM " & Chr(13) & Chr(10) T.Text = T.Text & " Doclap_tudo_hanhphuc " & Chr(13) & Chr(10) T.Text = T.Text & " o0o " & Chr(13) & Chr(10) T.Text = T.Text & " THONG TIN HOA DON TR TIEN OF CUSTOMER DA THUE BAO " & Chr(13) & Chr(10) T.Text = T.Text & " KINH GUI ONG\BA : " & rs![HO] & rs![TEn] & Chr(13) & Chr(10) T.Text = T.Text & " ADDRESS : " & rs![DC] & Chr(13) & Chr(10) 'T.Text = T.Text & " XIN CHAN THANH CAM ON QUI KHACH HANG DA DUNG THUE BAO CUA CHUNG TOI " & Chr(13) & Chr(10) T.Text = T.Text & " SO DT HIEN DANG THUE BAO : " & Data1.Recordset.Fields("MASDT") & Chr(13) & Chr(10) T.Text = T.Text & " CAC SO DIEN THOAI MA QUI KHACK DA GOI TRONG THANG " & Chr(13) & Chr(10) T.Text = T.Text & " MAVUNG : " & Data1.Recordset.Fields("MAVUNG") & Chr(13) & Chr(10) T.Text = T.Text & " SODT : " & Data1.Recordset.Fields("SODT") & Chr(13) & Chr(10) T.Text = T.Text & " NGAY GOI LA : " & Data1.Recordset.Fields("NGAYGOI") & Chr(13) & Chr(10) T.Text = T.Text & " THOI GIAN LA : " & Data1.Recordset.Fields("THOIGIAN") & Chr(13) & Chr(10) T.Text = T.Text & " SO TIEN CHO CUOC GOI NAY : " & Data1.Recordset.Fields("TIEN") & Chr(13) & Chr(10) Else MsgBox "ban ghi ban chon da het ", , "in ban ghi dau" Exit Sub End If End Sub Private Sub cd4_Click() Data1.Recordset.MoveLast rs.MoveLast thu.Caption = Data1.Recordset.RecordCount T.Text = "" T.Text = T.Text & " CONG HOA XA HOI CHU NGHIA VIET NAM " & Chr(13) & Chr(10) T.Text = T.Text & " Doclap_tudo_hanhphuc " & Chr(13) & Chr(10) T.Text = T.Text & " Private Sub cd1_Click()" Data1.Recordset.MoveFirst rs.MoveFirst thu.Caption = 1 T.Text = "" T.Text = T.Text & " CONG HOA XA HOI CHU NGHIA VIET NAM " & Chr(13) & Chr(10) T.Text = T.Text & " Doclap_tudo_hanhphuc " & Chr(13) & Chr(10) T.Text = T.Text & " o0o " & Chr(13) & Chr(10) T.Text = T.Text & " THONG TIN HOA DON TR TIEN OF CUSTOMER DA THUE BAO " & Chr(13) & Chr(10) T.Text = T.Text & " KINH GUI ONG\BA : " & rs![HO] & rs![TEn] & Chr(13) & Chr(10) T.Text = T.Text & " ADDRESS : " & rs![DC] & Chr(13) & Chr(10) 'T.Text = T.Text & " XIN CHAN THANH CAM ON QUI KHACH HANG DA DUNG THUE BAO CUA CHUNG TOI " & Chr(13) & Chr(10) T.Text = T.Text & " SO DT HIEN DANG THUE BAO : " & Data1.Recordset.Fields("MASDT") & Chr(13) & Chr(10) T.Text = T.Text & " CAC SO DIEN THOAI MA QUI KHACK DA GOI TRONG THANG " & Chr(13) & Chr(10) T.Text = T.Text & " MAVUNG : " & Data1.Recordset.Fields("MAVUNG") & Chr(13) & Chr(10) T.Text = T.Text & " SODT : " & Data1.Recordset.Fields("SODT") & Chr(13) & Chr(10) T.Text = T.Text & " NGAY GOI LA : " & Data1.Recordset.Fields("NGAYGOI") & Chr(13) & Chr(10) T.Text = T.Text & " THOI GIAN LA : " & Data1.Recordset.Fields("THOIGIAN") & Chr(13) & Chr(10) T.Text = T.Text & " SO TIEN CHO CUOC GOI NAY : " & Data1.Recordset.Fields("TIEN") & Chr(13) & Chr(10) End Sub Private Sub cd1_Click() Data1.Recordset.MoveFirst rs.MoveFirst thu.Caption = 1 T.Text = "" T.Text = T.Text & " CONG HOA XA HOI CHU NGHIA VIET NAM " & Chr(13) & Chr(10) T.Text = T.Text & " Doclap_tudo_hanhphuc " & Chr(13) & Chr(10) T.Text = T.Text & " o0o " & Chr(13) & Chr(10) T.Text = T.Text & " THONG TIN HOA DON TR TIEN OF CUSTOMER DA THUE BAO " & Chr(13) & Chr(10) T.Text = T.Text & " KINH GUI ONG\BA : " & rs![HO] & rs![TEn] & Chr(13) & Chr(10) T.Text = T.Text & " ADDRESS : " & rs![DC] & Chr(13) & Chr(10) 'T.Text = T.Text & " XIN CHAN THANH CAM ON QUI KHACH HANG DA DUNG THUE BAO CUA CHUNG TOI " & Chr(13) & Chr(10) T.Text = T.Text & " SO DT HIEN DANG THUE BAO : " & Data1.Recordset.Fields("MASDT") & Chr(13) & Chr(10) T.Text = T.Text & " CAC SO DIEN THOAI MA QUI KHACK DA GOI TRONG THANG " & Chr(13) & Chr(10) T.Text = T.Text & " MAVUNG : " & Data1.Recordset.Fields("MAVUNG") & Chr(13) & Chr(10) T.Text = T.Text & " SODT : " & Data1.Recordset.Fields("SODT") & Chr(13) & Chr(10) T.Text = T.Text & " NGAY GOI LA : " & Data1.Recordset.Fields("NGAYGOI") & Chr(13) & Chr(10) T.Text = T.Text & " THOI GIAN LA : " & Data1.Recordset.Fields("THOIGIAN") & Chr(13) & Chr(10) T.Text = T.Text & " SO TIEN CHO CUOC GOI NAY : " & Data1.Recordset.Fields("TIEN") & Chr(13) & Chr(10) End Sub Form VI ( In Báo Cáo Và Tính Toán) Các phương thức trong Form này Public cout As Integer Dim da As DAO.Database Dim bien Dim rec As DAO.Recordset Dim rec1 As DAO.Recordset Dim i, j, dem As Integer Private Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib.Button) End Sub Private Sub cmdre_Click() baocao1.Show 1 ' baocaohoadon1.Show 1 End Sub Private Sub Cmdthoat_Click() Form1.WindowState = 0 Unload xuly End Sub Private Sub Form_Load() dem = 1 Set da = OpenDatabase("e:\dienthoai\PHONE.mdb") Set rec = da.OpenRecordset("GOI") Set rec1 = da.OpenRecordset("CUOCGOI") dieu_chinh End Sub Public Function dem1() Dim bien As Integer bien = 1 bien = Data1.Recordset.RecordCount dem1 = bien End Function Private Sub cmddk_Click() i = i + 1 Dim d As Double dem1 If i > 1 Then MsgBox "khong the khoi tao " Exit Sub Else da.Execute "UPDATE GOI " & _ "set TIEN =[TIEN]+10" End If End Sub Sub dieu_chinh() Do Until rec.EOF If rec![MAVUNG] = "04" Then rec.Edit rec![TIEN] = rec![TIEN] + rec![THOIGIAN] * 15 rec.Update If rec![TIEN] > rec![THOIGIAN] * 15 + 27 Then rec.Edit rec![TIEN] = rec![THOIGIAN] * 15 + 27 rec.Update End If End If If rec![MAVUNG] = "037" Then rec.Edit rec![TIEN] = rec![TIEN] + rec![THOIGIAN] * 25 rec.Update If rec![TIEN] > rec![THOIGIAN] * 25 + 27 Then rec.Edit rec![TIEN] = rec![THOIGIAN] * 25 + 27 rec.Update End If End If If rec![MAVUNG] = "0210" Then rec.Edit rec![TIEN] = rec![TIEN] + rec![THOIGIAN] * 17 rec.Update If rec![TIEN] > rec![THOIGIAN] * 17 + 27 Then rec.Edit rec![TIEN] = rec![THOIGIAN] * 17 + 27 rec.Update End If End If If rec![MAVUNG] = "08" Then rec.Edit rec![TIEN] = rec![TIEN] + rec![THOIGIAN] * 30 + 27 rec.Update If rec![TIEN] > rec![THOIGIAN] * 30 + 27 Then rec.Edit rec![TIEN] = rec![THOIGIAN] * 30 + 27 rec.Update End If End If rec.MoveNext Loop rec.Close da.Close End Sub Sub kiem_tra() Set rec = da.OpenRecordset("GOI") Do Until rec.EOF If rec![MAVUNG] = "04" Then If rec![TIEN] > rec![THOIGIAN] * 15 + 27 Then rec.Edit rec![TIEN] = rec![THOIGIAN] * 15 + 27 rec.Update End If End If If rec![MAVUNG] = "037" Then If rec![TIEN] > rec![THOIGIAN] * 25 + 27 Then rec.Edit rec![TIEN] = rec![THOIGIAN] * 25 + 27 rec.Update End If End If If rec![MAVUNG] = "0210" Then If rec![TIEN] > rec![THOIGIAN] * 17 + 27 Then rec.Edit rec![TIEN] = rec![THOIGIAN] * 17 + 27 rec.Update End If End If rec.MoveNext Loop rec.Close da.Close End Sub Private Sub HIEN_Click() xuly.WindowState = 1 inbaocao.Show End Sub Private Sub Label1_Change() Dim i As Integer For i = 1 To 100 Label1.BackColor = i * Rnd Next End Sub MỤC LỤC Trang

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

  • doc33379.doc