Chương trình quản lý các số điện thoại đã thuê bao tại một trạm điện thoại

 Cùng với sự phát triển của xã hội , công tác tổ chức quản lý cũng cần được đầu tư và phát triển để có thể đáp ứng tốt đuợc yêu cầu cũng như giúp cho những người làm việc trong bưu điện thực hiện tốt các công việc để quản lý các số điện thoại đã đăng ký thuê bao.

 Trước hết để quản lý được một khối lượng lớn các số điện thoại mà các khách hàng đã đăng ký thuê bao của một trạm điện thoại, phải tổ chức tốt hệ thống lưu trữ hồ sơ để có thể đáp ứng được những yêu cầu : tiết kiệm chỗ, dễ tìm kiếm, dễ bổ sung sửa đổi. Hệ thống quản lý mới phải khắc phục được những nhược điểm của hệ thống cũ,ngoài ra hệ thống mới phải có khả năng phát hiện lỗi và xử lý kiểm tra tính đúng đắn của dữ liệu ngay từ khi cập nhật, đồng thời phải tiết kiệm thời gian khi tra cứu thông tin của khách hàng khi có ưu cầu từ bên ngoài. Như vậy chủ yếu phải chỉnh đổi lại cơ sỡ dữ liệu cho phù hợp trên cơ sỡ kế thừa cơ sỡ dữ liệu đã có sẵn

 

doc36 trang | Chia sẻ: huong.duong | Lượt xem: 1563 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Chương trình quản lý các số điện thoại đã thuê bao tại một trạm điện thoại, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
n đó 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.2 họ tên Tra cứu theo 2.1 số điện thoại Thông tin khách hàng Tra cứu 2.3 Tổng hợp Hồ sơ hàng thá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 Thông tin khách hàng Thống kê khách 3.2 hàng đã trả tiền In hoá đơn 3.1 trả tiền Hoá đơn trả tiền hàng tháng Đưa ra tình hình 3.3 chung của bưu điện 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. Vì đây là một trạm bưu điện cho nên việc tính toán về hoạt động của bưu điện trong tháng là điều không thể tránh khỏi như vậy 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 Gọi Người dùng MASDT MASDT MAVUNG SODT HO NGAY GOI TIEN THOI GIAN DC TEN 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ý Các Số Điện Thoại Đã Đăng Ký Thuê Bao trong bài tập lớn này.Ngoài ra trong chương trình em 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 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ácchứ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 & " BACH KHOA 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 & " BACH KHOA 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 & " BACH KHOA 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 & " BACH KHOA 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 & " 04.117 " 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 & " 04.117 " 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 & " 04.117 " 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 & " 04.117 " 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 & " 04.117 " 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 & " 04.117 " 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

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

  • docP0026.doc