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.
36 trang |
Chia sẻ: maiphuongdc | Lượt xem: 2200 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đề tài 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.Tex
Các file đính kèm theo tài liệu này:
- 27344.DOC