Private Sub inan_MouseMove(Button As Integer, Shift As Integer, X As Single, 
Y As Single)
Label2.Visible = False
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
                
              
                                            
                                
            
 
            
                
90 trang | 
Chia sẻ: lylyngoc | Lượt xem: 2983 | Lượt tải: 2
              
            Bạn đang xem trước 20 trang tài liệu Chương trình quản lý công văn đến bằng Visual Basic, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
 lý ,......máy tính hầu như đều có đóng góp 
khả năng tuyệt vời của nó tới tất cả các lĩnh vực . Từ việc xây dựng các chương 
trình khoa học kỹ thuật lớn đến các công việc quản lý thường nhật ,máy tính giúp 
chúng ta cập nhật ,tìm kiếm và lưu trữ thông tin một cách tốt nhất .Nhưng các 
phần mềm hỗ trợ cho việc sử dụng máy tính hầu hết của nước ngoài ,điều này gây 
rất nhiều trở ngại đối với những người không biết hoặc biết ít tiếng Anh.Vì vậy 
các phần mềm sử dụng tiếng Việt sẽ giúp người sử dụng có hiều quả hơn trong 
công việc.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. 
 Visual Basic Quản lý công văn đến 
 3
 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ưư 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ông văn đến trong bài tập lớn này.Công việc quản lý công văn 
bằng thủ công là rất phức tạp và dễ gây nhầm lẫn vì các thao tác thủ công nhàm 
chán,đồng thời việc tìm kiếm công văn sẽ rất lâu và khó ,vì vậy có một phần mềm 
hỗ trợ việc sử dụng máy tính để quản lý các công văn sẽ giúp người quản lý dễ 
dàng hơn. 
 Mặc dù đã rất cố gắng để hoàn thành đề tài nhưng vì còn hạn chế về kinh 
nghiệm và kiến thức nên chương trình còn nhiều sai sót cần được bổ sung.Vì vậy, 
em mong thầy cô và các bạn xem và đóng góp ý kiến giúp cho chương trình ngày 
càng hoàn thiện hơn. 
 Cuối cùng ,em xin chân thành cảm ơn thầy giảng viên bộ môn Lập trình hướng 
đối tượng qua Visual Basic _Nguyễn Văn Xuất đã tận tình giảng dạy và hướng 
dẫn em hoàn thành đề tài này. 
CHƯƠNG TRÌNH QUẢN LÝ CÔNG VĂN ĐẾN 
 Chương trình Quản lý công văn đến cần đạt được các yêu cầu tối thiểu sau : 
 Visual Basic Quản lý công văn đến 
 4
 + Việc cập nhật ,lưu trữ các công văn đến phải đơn giản ,dễ ràng ,tránh được 
các sai sót khi cập nhật. 
 + 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 4.0. 
 Chương trình sử dụng hệ quản trị cơ sở dữ liệu Access 
 Tên chương trình : “C:\Qlcvd” 
 File cơ sở dữ liệu : “C:\Qlvcd\Qlcvd.mdb” 
 Gồm có 1 bảng : cv 
Chương trình Quản lý công văn đến gồm có 6 Form thực hiện các thao tác quản lý 
công văn đến. 
 + 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 chính để thao tác với các công văn đến như sửa hoặc xoá các 
công văn,gọi các Form khác như Form cập nhật để cập nhật các công văn đến, 
Form Xem để xem toàn bộ các công văn đã cập nhật ,Form Tìm kiếm để thực hiện 
thao tác tìm kiễm côngvăn thoả mãn điều kiện nào đó,Form In để in ấn các công 
văn. 
 Visual Basic Quản lý công văn đến 
 5
 + Form3 ( Form capnhat) : tại đây người sử dụng có thể cập nhật các thông tin 
về công văn đến như loại công văn ,Cơ quan ra công văn , nội dung,...... 
 + Form 4 (Form xem) :là Form để người sử dụng xem toàn bộ các công văn đã 
nhập vào ,Form này cho phép chúng ta thêm mới công văn,sửa ,xoá các công văn 
gọi chức năng in công văn. 
 + Form 5 (Form timkiem) : giúp người sử dụng tìm kiếm các công văn thoả mãn 
điều kiện của một trường nào đó.Khi tìm thấy các công văn thoả mãn điều kiện 
tìm kiếm thì hiện ra toàn bộ các trường hoặc một trường nào đó của các công văn 
đó tuỳ theo yêu cầu của người sử dụng. 
 + Form 6 (Form inan) : dùng để in ấn công văn ra giấy qua máy in. 
 CHƯƠNG TRÌNH 
 Visual Basic Quản lý công văn đến 
 6
 Mở đầu chương trình là Form1 giới thiệu về tên chương trình,tại form này người 
sử dụng có thể vào chương trình chính Quản lý công văn đến hoặc thoát ra khỏi 
chương trình. 
 Khi vào chương trình chính thì form 1 được lấy làm nền cho chương trình. 
 + Form 2 ( Chương trình chính) : Trên Form này giúp người sử dụng làm các 
thao tác về công việc quản lý công văn đến.Chương trình cho phép sửa hoặc xoá 
các công văn,gọi các Form khác để thực hiện các công việc của quản lý công văn 
như Cập nhật ,Xem toàn bộ các công văn đã cập nhật vào ,tìm kiếm công văn ,in 
các công văn . 
 + From 3 : (Form capnhat) : Form này giúp người sử dụng cập nhật các thông 
tin về các công văn đến để lưu trữ trên máy tính.Chương trình có chức năng sử lý 
một số lỗi thường gặp khi cập nhật như vào nhầm ngày tháng ,chương trình sẽ 
thông báo lỗi và báo cho người cập nhật cập nhật lại cho đúng , hoặc việc cập nhật 
chưa hết các thông tin. 
 + Form 4 : ( Form Xem ) : Form này cho phép người sử dụng xem toàn bộ các 
công văn đã được cập nhật vào.Tại đây người sử dụng có thể thêm ,sửa hoặc xoá 
các công văn trực tiếp trên cơ sở dữ liệu của mình. Form còn cho phép gọi form in 
để in các công văn cần thiết. 
 + Form 5 : ( Form timkiem) : Form giúp người sử dụng chương trình tìm kiếm 
các công văn theo một trường nào đó thoả mãn điều kiện tìm kiếm. 
 + Form 6 : ( Form in ) : Form cho người sử dụng để in ấn các công văn ra giấy 
qua máy in theo một mẫu quy định trước . 
 Visual Basic Quản lý công văn đến 
 7
 Visual Basic Quản lý công văn đến 
 8
 I.FORM MỞ ĐẦU : Giới thiệu tên đề tài ,tên người thực hiện chương 
trình , Form có 2 nút lệnh để người sử dụng có thể thoát ra khỏi chương trình hoặc 
vào chương tình chính . Khi vào chương trình chính Form làm nền cho toàn bộ 
chương trình và hiện lên một nút có nhãn X cho phép người sử dụng thoát ra 
chương trình bất cứ lúc nào. 
 Các phương thức xử lý ở Form mở đầu : 
Attribute VB_Name = "Form1" 
Private Sub Command1_Click() 
 Lbl1.Visible = False 
 Command1.Visible = False 
 Visual Basic Quản lý công văn đến 
 9
 Command2.Visible = False 
 Label1.Visible = True 
 For i = 0 To 6 
 Lab1(i).Visible = False 
 Next i 
 Form2.Show 
End Sub 
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 Label2.Visible = False 
 Lbl2.Visible = False 
 Lbl1.Visible = True 
End Sub 
Private Sub Command2_Click() 
 End 
End Sub 
 Visual Basic Quản lý công văn đến 
 10
Private Sub Command2_MouseMove(Button As Integer, Shift As Integer, 
X As Single, Y As Single) 
 Label2.Visible = False 
 Lbl1.Visible = False 
 Lbl2.Visible = True 
End Sub 
Private Sub Form_Load() 
 Form2.Data1.DatabaseName = App.Path & "\qlcvd.mdb" 
 Form2.Data1.RecordSource = "cv" 
End Sub 
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 Label2.Visible = True 
End Sub 
Private Sub Label2_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 Lbl1.Visible = False 
 Visual Basic Quản lý công văn đến 
 11
 Lbl2.Visible = False 
End Sub 
Private Sub Label1_Click() 
 End 
End Sub 
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 Lbl1.Visible = False 
 Lbl2.Visible = False 
 Label2.Visible = False 
End Sub 
 Visual Basic Quản lý công văn đến 
 12
 II.FORM 2 : ( Chương trình chính ): Từ Form mở đầu của chương trình nếu 
bạn chọn mục “ Mở chương trình” thì form chính sẽ mở ra ,ở chương trình này 
cho phép người sử dụng làm các công việc với công văn đến như gọi chương trình 
cập nhật , xoá hoặc sửa các công văn ,sau đó ghi lại , gọi các form khác để xem 
,tìm kiếm hoặc in các công văn. 
 Các phương thức xử lý trong chương trình : 
Attribute VB_Name = "Form2" 
Public SCV As Integer 
Private Sub chuyen_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 Then 
 Visual Basic Quản lý công văn đến 
 13
 thoihan.SetFocus 
 End If 
End Sub 
Private Sub cmdin_Click() 
 Form2.WindowState = 1 
 inan.Show 
End Sub 
Private Sub cmdin_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 L02.Visible = False 
End Sub 
Private Sub cmdsua_Click() 
 If (noidung.Text = "") Or (chuyen.Text = "") Then 
 MsgBox "Không có dữ liệu công văn cần sửa!" 
 Exit Sub 
 Visual Basic Quản lý công văn đến 
 14
 Else 
 Data1.Recordset.Edit 
 Command5.Enabled = True 
 cmdsua.Enabled = False 
 If loai.Visible = True Then 
 loai.SetFocus 
 Else 
 Exit Sub 
 End If 
 End If 
End Sub 
Private Sub cmdthem_Click() 
 Form2.WindowState = 1 
 nhap.Show 
End Sub 
Private Sub cmdthoat_Click() 
 Form2.Hide 
 Visual Basic Quản lý công văn đến 
 15
 Form1.Command1.Visible = True 
 Form1.Command2.Visible = True 
 Form1.Label1.Visible = False 
 For k = 0 To 6 
 Form1.Lab1(k).Visible = True 
 Next k 
End Sub 
Private Sub cmdtim_Click() 
 Form2.WindowState = 1 
 tim.Show 
End Sub 
Private Sub cmdtim_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 L02.Visible = False 
End Sub 
 Visual Basic Quản lý công văn đến 
 16
Private Sub cmdxem_Click() 
 Form2.WindowState = 1 
 xem.Show 
End Sub 
Private Sub cmdxoa_Click() 
 Dim n As Integer 
 If (chuyen.Text = "") Or (noidung.Text = "") Then 
 MsgBox "Không có dữ liệu công văn cần xoá!" 
 Exit Sub 
 Else 
 n = MsgBox(" Bạn có muốn xoá công văn này không?", 4, "Nếu xoá chọn 
nút Yes") 
 If n = 6 Then 
 Data1.Recordset.Delete 
 If Data1.Recordset.EOF Then 
 Data1.Recordset.MovePrevious 
 Else 
 Data1.Refresh 
 Visual Basic Quản lý công văn đến 
 17
 Data1.Recordset.MoveLast 
 stt.Text = Data1.Recordset.RecordCount 
 End If 
 Else 
 Exit Sub 
 End If 
 cmdsua.Enabled = True 
 Command5.Enabled = False 
End If 
End Sub 
Private Sub Command1_Click() 
 Command5.Enabled = False 
 cmdsua.Enabled = True 
 Data1.Recordset.MoveFirst 
 stt.Text = 1 
End Sub 
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 Visual Basic Quản lý công văn đến 
 18
 L01.Visible = True 
 L01.Caption = "Chuyển tới công văn đầu tiên " 
 L01.Left = 1200 
End Sub 
Private Sub Command2_Click() 
 Command5.Enabled = False 
 cmdsua.Enabled = True 
 If stt > 1 Then 
 Data1.Recordset.MovePrevious 
 stt.Text = stt.Text - 1 
 Else 
 MsgBox "Bạn đã chuyển tới công văn đầu tiên", , "Quản lý công văn đến" 
 Exit Sub 
 End If 
End Sub 
Private Sub Command2_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 Visual Basic Quản lý công văn đến 
 19
 L01.Visible = True 
 L01.Caption = "Chuyển về công văn đứng trước" 
 L01.Left = 2160 
End Sub 
Private Sub Command3_Click() 
 Command5.Enabled = False 
 cmdsua.Enabled = True 
 SCV = Data1.Recordset.RecordCount 
 If stt.Text < SCV Then 
 Data1.Recordset.MoveNext 
 stt.Text = stt.Text + 1 
 Else 
 MsgBox "Bạn đã chuyển đến công văn cuối cùng", , "Quản lý công văn đến" 
 Exit Sub 
 End If 
End Sub 
 Visual Basic Quản lý công văn đến 
 20
Private Sub Command3_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 L01.Visible = True 
 L01.Caption = "Chuyển đến công văn tiếp theo" 
 L01.Left = 3120 
End Sub 
Private Sub Command4_Click() 
 Command5.Enabled = False 
 cmdsua.Enabled = True 
 Data1.Recordset.MoveLast 
 SCV = Data1.Recordset.RecordCount 
 stt.Text = SCV 
End Sub 
 Visual Basic Quản lý công văn đến 
 21
Private Sub Command4_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 L01.Visible = True 
 L01.Caption = "Chuyển tới công văn cuối cùng" 
 L01.Left = 3960 
End Sub 
Private Sub Command5_Click() 
 If loai.Text = "" Then 
 MsgBox "Bạn phải nhập loại công văn!", , "Quản lý công văn đến" 
 loai.SetFocus 
 Exit Sub 
 End If 
 If ngra.Text = "" Then 
 MsgBox "Bạn phải nhập vào ngày tháng ra công văn!", , "Quản lý công văn 
đến" 
 ngra.SetFocus 
 Exit Sub 
 End If 
 Visual Basic Quản lý công văn đến 
 22
 If ngden.Text = "" Then 
MsgBox "Bạn phải nhập vào ngày công văn đến !", , "Quản lý công văn đến" 
 ngden.SetFocus 
 Exit Sub 
 End If 
 If Ten.Text = "" Then 
MsgBox "Bạn phải nhập vào tên công văn!", , "Quản lý công văn đến" 
 Ten.SetFocus 
 Exit Sub 
 End If 
 If mk.Text = "" Then 
 mk.SetFocus 
 Exit Sub 
 End If 
 If dm.Text = "" Then 
 dm.SetFocus 
 Exit Sub 
 End If 
 If cq.Text = "" Then 
 Visual Basic Quản lý công văn đến 
 23
 cq.SetFocus 
 Exit Sub 
 End If 
 If noidung.Text = "" Then 
 MsgBox "Bạn phải nhập vào nội dung của công văn!", , "Quản lý công văn đến" 
 noidung.SetFocus 
 Exit Sub 
 End If 
 If chuyen.Text = "" Then 
 MsgBox "Bạn phải nhập vào bộ phận công văn chuyển đến!", , "Quản lý 
công văn đến" 
 chuyen.SetFocus 
 Exit Sub 
 End If 
 If thoihan.Text = "" Then 
 thoihan.SetFocus 
 Exit Sub 
 End If 
 If nguoi.Text = "" Then 
 Visual Basic Quản lý công văn đến 
 24
 nguoi.SetFocus 
 Exit Sub 
 End If 
 Data1.Recordset.Fields("Loại") = loai.Text 
 Data1.Recordset.Fields("Ngày ra") = ngra.Text 
 Data1.Recordset.Fields("Ngày đến") = ngden.Text 
 Data1.Recordset.Fields("Tên công văn") = Ten.Text 
 Data1.Recordset.Fields("Mức khẩn") = mk.Text 
 Data1.Recordset.Fields("Độ mật") = dm.Text 
 Data1.Recordset.Fields("Cơ quan") = cq.Text 
 Data1.Recordset.Fields("Nội dung") = noidung.Text 
 Data1.Recordset.Fields("Chuyển cho") = chuyen.Text 
 Data1.Recordset.Fields("Thời hạn") = thoihan.Text 
 Data1.Recordset.Fields("Người ký") = nguoi.Text 
 Data1.Recordset.Update 
 Command5.Enabled = False 
 cmdsua.Enabled = True 
End Sub 
 Visual Basic Quản lý công văn đến 
 25
Private Sub cq_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 Then 
 noidung.SetFocus 
 End If 
End Sub 
Private Sub dm_Click() 
cq.SetFocus 
End Sub 
Private Sub dm_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 Then 
 cq.SetFocus 
 End If 
End Sub 
 Visual Basic Quản lý công văn đến 
 26
Private Sub Form_Load() 
 Data1.Refresh 
 mk.AddItem "Thường" 
 mk.AddItem "Khẩn" 
 mk.AddItem "Tối khẩn" 
 dm.AddItem "Thường" 
 dm.AddItem "Mật" 
 dm.AddItem "Tối mật" 
 Data1.Recordset.MoveLast 
 SCV = Data1.Recordset.RecordCount 
 stt.Text = SCV 
End Sub 
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, 
Y As Single) 
 L01.Visible = False 
 L02.Visible = False 
End Sub 
 Visual Basic Quản lý công văn đến 
 27
Private Sub Frame1_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 L02.Visible = False 
End Sub 
Private Sub Frame2_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 L02.Visible = False 
End Sub 
Private Sub Label3_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 L02.Visible = False 
End Sub 
Private Sub loai_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And loai.Text "" Then 
 ngra.SetFocus 
 End If 
 Visual Basic Quản lý công văn đến 
 28
End Sub 
Private Sub mk_Click() 
 dm.SetFocus 
End Sub 
Private Sub mk_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 Then 
 dm.SetFocus 
 End If 
End Sub 
Private Sub namden1_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And namden1.Text "" Then 
 Ten.SetFocus 
 End If 
End Sub 
Private Sub namra1_KeyPress(KeyAscii As Integer) 
 Visual Basic Quản lý công văn đến 
 29
 If KeyAscii = 13 And namra1.Text "" Then 
 ngden1.SetFocus 
 End If 
End Sub 
Private Sub ngden_Change() 
 If Len(ngden.Text) > 10 Then 
 MsgBox "Bạn nhập vào ngày công văn đến sai.Bạn hãy nhập lại!", , "Quản lý 
công văn đến" 
 ngden.Text = "" 
 ngden.SetFocus 
 End If 
End Sub 
Private Sub ngden_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And ngden.Text "" Then 
 Ten.SetFocus 
 End If 
End Sub 
 Visual Basic Quản lý công văn đến 
 30
Private Sub ngden1_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And ngden1.Text "" Then 
 thden1.SetFocus 
 End If 
End Sub 
Private Sub ngra_Change() 
 If Len(ngra.Text) > 10 Then 
 MsgBox "Bạn nhập vào ngày ra công văn sai.Bạn hãy nhập lại!", , "Quản lý 
công văn đến" 
 ngra.Text = "" 
 ngra.SetFocus 
 End If 
End Sub 
Private Sub ngra_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And ngra.Text "" Then 
 ngden.SetFocus 
 Visual Basic Quản lý công văn đến 
 31
 End If 
End Sub 
Private Sub ngra1_Change() 
 If Not IsNumeric(ngra1.Text) Then 
 ngra1.Text = "" 
 Exit Sub 
 Else 
 If (Val(ngra1.Text) 31) Then 
 MsgBox " Bạn nhập ngày không hợp lệ.Bạn hãy nhập lai!" 
 ngra1.Text = "" 
 ngra1.SetFocus 
 End If 
 End If 
End Sub 
Private Sub ngra1_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And ngra1.Text "" Then 
 thra1.SetFocus 
 End If 
 Visual Basic Quản lý công văn đến 
 32
End Sub 
Private Sub nguoi_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 L02.Visible = False 
End Sub 
Private Sub noidung_DblClick() 
 If noidung.Top = 3360 Then 
 noidung.Top = 120 
 noidung.Height = 4215 
 Fra1.Visible = False 
 Fra2.Visible = False 
 Fra3.Visible = False 
 Fra4.Visible = False 
 Fra5.Visible = False 
 Fra6.Visible = False 
 Fra7.Visible = False 
 Fra8.Visible = False 
 Visual Basic Quản lý công văn đến 
 33
 Fra9.Visible = False 
 Fra10.Visible = False 
 Else 
 noidung.Top = 3360 
 noidung.Height = 975 
 Fra1.Visible = True 
 Fra2.Visible = True 
 Fra3.Visible = True 
 Fra4.Visible = True 
 Fra5.Visible = True 
 Fra6.Visible = True 
 Fra7.Visible = True 
 Fra8.Visible = True 
 Fra9.Visible = True 
 Fra10.Visible = True 
 L01.Caption = "Hãy bấm đúp nút trái chuột để phóng to nội dung công văn" 
 End If 
End Sub 
 Visual Basic Quản lý công văn đến 
 34
Private Sub noidung_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 9 And noidung.Text "" Then 
 chuyen.SetFocus 
 End If 
End Sub 
Private Sub noidung_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 L01.Visible = False 
 L02.Visible = True 
End Sub 
Private Sub Ten_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And Ten.Text "" Then 
 mk.SetFocus 
 End If 
End Sub 
Private Sub thden1_KeyPress(KeyAscii As Integer) 
 Visual Basic Quản lý công văn đến 
 35
 If KeyAscii = 13 And thden1.Text "" Then 
 namden1.SetFocus 
 End If 
End Sub 
Private Sub thoihan_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 Then 
 nguoi.SetFocus 
 End If 
End Sub 
Private Sub thra1_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And thra1.Text "" Then 
 namra1.SetFocus 
 End If 
End Sub 
Private Sub thoihan_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 Visual Basic Quản lý công văn đến 
 36
 L02.Visible = False 
End Sub 
 III.FORM CẬP NHẬT : khi người sử dụng bấm chuột vào nút Cập nhật 
trên Form chính thì form cập nhật sẽ mở ra ,Form này để người sử dụng cập nhật 
các thông tin về công văn đến,form có chức năng sử lý một số lỗi thường gặp khi 
cập nhật như vào nhầm ngày tháng ,chương trình sẽ thông báo lỗi và báo cho 
người cập nhật cập nhật lại cho đúng , hoặc việc cập nhật chưa hết các thông tin. 
 Các phương thức xử lý trên Form Cập nhật : 
Attribute VB_Name = "nhap" 
 Visual Basic Quản lý công văn đến 
 37
Attribute VB_Creatable = False 
Attribute VB_Exposed = False 
Private Sub chuyen_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And chuyen.Text "" Then 
 thoihan.SetFocus 
 End If 
End Sub 
Private Sub cmd1_Click() 
 If (loai.Text = "") Then 
 MsgBox "Bạn phải nhập vào loại công văn đến", , "Quản lý công văn đến" 
 loai.SetFocus 
 Exit Sub 
 End If 
 If (ngra.Text = "") Then 
 MsgBox "Bạn phải nhập vào ngày ra công văn ", , "Quản lý công văn đến" 
 ngra.SetFocus 
 Exit Sub 
 Visual Basic Quản lý công văn đến 
 38
 End If 
 If (thra.Text = "") Then 
 MsgBox "Bạn phải nhập vào tháng ra công văn ", , "Quản lý công văn đến" 
 thra.SetFocus 
 Exit Sub 
 End If 
 If (namra.Text = "") Then 
 MsgBox "Bạn phải nhập vào năm ra công văn ", , "Quản lý công văn đến" 
 namra.SetFocus 
 Exit Sub 
 End If 
 If (ngden.Text = "") Then 
 MsgBox "Bạn phải nhập vào ngày công văn đến", , "Quản lý công văn đến""" 
 ngden.SetFocus 
 Exit Sub 
 End If 
 If (thden.Text = "") Then 
 MsgBox "Bạn phải nhập vào tháng công văn đến", , "Quản lý công văn đến" 
 thden.SetFocus 
 Visual Basic Quản lý công văn đến 
 39
 Exit Sub 
 End If 
 If (namden.Text = "") Then 
 MsgBox "Bạn phải nhập vào năm công văn đến", , "Quản lý công văn đến" 
 namden.SetFocus 
 Exit Sub 
 End If 
 If (cq.Text = "") Then 
 MsgBox "Bạn phải nhập vào tên cơ quan ra công văn ", , "Quản lý công văn 
đến" 
 cq.SetFocus 
 Exit Sub 
 End If 
 If (chuyen.Text = "") Then 
 MsgBox "Bạn phải nhập vào bộ phận công văn chuyển đến ", , "Quản lý 
công văn đến" 
 chuyen.SetFocus 
 Exit Sub 
 End If 
 Visual Basic Quản lý công văn đến 
 40
 If (nguoi.Text = "") Then 
 MsgBox "Bạn phải nhập vào người ký công văn", , "Quản lý công văn đến" 
 nguoi.SetFocus 
 Exit Sub 
 End If 
 If (noidung.Text = "") Then 
 MsgBox "Bạn phải nhập vào nội dung công văn ", , "Quản lý công văn đến" 
 noidung.SetFocus 
 Exit Sub 
 End If 
 If (thoihan.Text = "") Then 
 MsgBox "Bạn phải nhập vào thời hạn thực thi công văn ", , "Quản lý công 
văn đến" 
 thoihan.SetFocus 
 Exit Sub 
 End If 
 If (Ten.Text = "") Then 
 MsgBox "Bạn phải nhập vào tên công văn ", , "Quản lý công văn đến" 
 Ten.SetFocus 
 Visual Basic Quản lý công văn đến 
 41
 Exit Sub 
 End If 
 If (mk.Text = "") Then 
 MsgBox "Bạn phải nhập vào mức khẩn của công văn đến", , "Quản lý công 
văn đến" 
 mk.SetFocus 
 Exit Sub 
 End If 
 If (dm.Text = "") Then 
 MsgBox "Bạn phải nhập vào độ mật của công văn đến ", , "Quản lý công 
văn đến" 
 dm.SetFocus 
 Exit Sub 
 End If 
 Form2.Data1.Refresh 
 Form2.Data1.Recordset.MoveLast 
 Form2.Data1.Recordset.AddNew 
 Form2.Data1.Recordset.Fields("Loại") = loai.Text 
 Form2.Data1.Recordset.Fields("Tên công văn") = Ten.Text 
 Visual Basic Quản lý công văn đến 
 42
 Form2.Data1.Recordset.Fields("Ngày ra") = ngra.Text & "/" & thra.Text & "/" 
& namra.Text 
 Form2.Data1.Recordset.Fields("Ngày đến") = ngden.Text & "/" & thden.Text 
& "/" & namden.Text 
 Form2.Data1.Recordset.Fields("Mức khẩn") = mk.Text 
 Form2.Data1.Recordset.Fields("Độ mật") = dm.Text 
 Form2.Data1.Recordset.Fields("Cơ quan") = cq.Text 
 Form2.Data1.Recordset.Fields("Chuyển cho") = chuyen.Text 
 Form2.Data1.Recordset.Fields("Thời hạn") = thoihan.Text 
 Form2.Data1.Recordset.Fields("Người ký") = nguoi.Text 
 Form2.Data1.Recordset.Fields("Nội dung") = noidung.Text 
 Form2.Data1.Recordset.Update 
 ngra.Text = "" 
 thra.Text = "" 
 ngden.Text = "" 
 thden.Text = "" 
 Ten.Text = "" 
 cq.Text = "" 
 chuyen.Text = "" 
 Visual Basic Quản lý công văn đến 
 43
 thoihan.Text = "" 
 nguoi.Text = "" 
 noidung.Text = "" 
 ngra.SetFocus 
End Sub 
Private Sub cmd1_MouseMove(Button As Integer, Shift As Integer, X As Single, 
Y As Single) 
 Lbl6.Visible = False 
End Sub 
Private Sub cmd2_Click() 
 nhap.Hide 
 Form2.Command5.Enabled = False 
 Form2.cmdsua.Enabled = True 
 Form2.WindowState = 0 
 Form2.Data1.Refresh 
 Form2.Data1.Recordset.MoveLast 
 Form2.stt.Text = Form2.Data1.Recordset.RecordCount 
 Visual Basic Quản lý công văn đến 
 44
End Sub 
Private Sub cmd2_MouseMove(Button As Integer, Shift As Integer, X As Single, 
Y As Single) 
 Lbl6.Visible = False 
End Sub 
Private Sub cq_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And cq.Text "" Then 
 chuyen.SetFocus 
 End If 
End Sub 
Private Sub dm_Click() 
cq.SetFocus 
End Sub 
 Visual Basic Quản lý công văn đến 
 45
Private Sub dm_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And dm.Text "" Then 
 cq.SetFocus 
 End If 
End Sub 
Private Sub Form_Load() 
 ngra.Text = "" 
 thra.Text = "" 
 namra.Text = "" 
 ngden.Text = "" 
 thden.Text = "" 
 namden.Text = "" 
 Ten.Text = "" 
 cq.Text = "" 
 chuyen.Text = "" 
 thoihan.Text = "" 
 nguoi.Text = "" 
 noidung.Text = "" 
 Visual Basic Quản lý công văn đến 
 46
 loai.AddItem "Thông báo" 
 loai.AddItem "Quyết định" 
 loai.AddItem "Chỉ thị" 
 loai.AddItem "Nghị định" 
 loai.AddItem "Công báo" 
 mk.AddItem "Thường" 
 mk.AddItem "Khẩn" 
 mk.AddItem "Tối khẩn" 
 dm.AddItem "Thường" 
 dm.AddItem "Mật" 
 dm.AddItem "Tối mật" 
End Sub 
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, 
Y As Single) 
 Lbl6.Visible = False 
End Sub 
 Visual Basic Quản lý công văn đến 
 47
Private Sub Label5_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 Lbl6.Visible = False 
End Sub 
Private Sub loai_Click() 
 ngra.SetFocus 
End Sub 
Private Sub loai_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And loai.Text "" Then 
 ngra.SetFocus 
 End If 
End Sub 
Private Sub mk_Click() 
 dm.SetFocus 
End Sub 
 Visual Basic Quản lý công văn đến 
 48
Private Sub mk_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And mk.Text "" Then 
 dm.SetFocus 
 End If 
End Sub 
Private Sub namden_Change() 
 If Not IsNumeric(namden.Text) Then 
 namden.Text = "" 
 Exit Sub 
 namden.SetFocus 
 Else 
 If Len(namden.Text) = 4 Then 
 If (Val(namden.Text) 2100) Then 
 MsgBox "Bạn cập nhật năm không hợp lệ.Bạn hãy nhập lại!", , "Quản lý công 
văn đến" 
 namden.Text = "" 
 namden.SetFocus 
 Visual Basic Quản lý công văn đến 
 49
 End If 
 End If 
 If Len(namden.Text) > 4 Then 
 namden.Text = "" 
 namden.SetFocus 
 End If 
 End If 
End Sub 
Private Sub namden_KeyPress(KeyAscii As Integer) 
 Dim hoi As Integer 
 Dim i As Integer 
 If KeyAscii = 13 And namden.Text "" Then 
 If Val(namden.Text) < Val(namra.Text) Then 
 hoi = MsgBox("Bạn nhập vào năm công văn đến nhỏ hơn năm ra công văn.Bạn 
có muốn sửa lại", 4, "Nếu sửa lại thì chọn nút Yes") 
 If hoi = 6 Then 
 namden.Text = "" 
 namden.SetFocus 
 Visual Basic Quản lý công văn đến 
 50
 Else 
 Ten.SetFocus 
 End If 
 End If 
 '================' 
 If Val(namden.Text) = Val(namra.Text) Then 
 If Val(thden.Text) = Val(thra.Text) Then 
 If Val(ngden.Text) < Val(ngra.Text) Then 
 i = MsgBox("Bạn nhập ngày công văn đến nhỏ hơn ngày ra công văn.Bạn có 
sửa lại?", 4, "Nếu sửa lại thì chọn nút Yes") 
 If i = 6 Then 
 ngden.Text = "" 
 ngden.SetFocus 
 Else 
 Ten.SetFocus 
 End If 
 Else 
 Ten.SetFocus 
 End If 
 Visual Basic Quản lý công văn đến 
 51
 Else 
 Ten.SetFocus 
 End If 
 If Val(thden.Text) < Val(thra.Text) Then 
 i = MsgBox("Bạn nhập tháng công văn đến nhỏ hơn tháng ra công văn.Bạn có 
sửa lại?", 4, "Nếu sửa lại thì chọn nút Yes") 
 If i = 6 Then 
 thden.Text = "" 
 thden.SetFocus 
 Else 
 Ten.SetFocus 
 End If 
 End If 
 End If 
 If Val(namden.Text) > Val(namra.Text) Then 
 Ten.SetFocus 
 End If 
End If 
End Sub 
 Visual Basic Quản lý công văn đến 
 52
Private Sub namra_Change() 
 If Not IsNumeric(namra.Text) Then 
 namra.Text = "" 
 Exit Sub 
 namra.SetFocus 
 Else 
 If Len(namra.Text) = 4 Then 
 If (Val(namra.Text) 2100) Then 
 MsgBox "Bạn cập nhật năm không hợp lệ.Bạn hãy nhập lại!", , "Quản lý 
công văn đến" 
 namra.Text = "" 
 namra.SetFocus 
 End If 
 End If 
 If Len(namra.Text) > 4 Then 
 namra.Text = "" 
 namra.SetFocus 
 End If 
 Visual Basic Quản lý công văn đến 
 53
End If 
End Sub 
Private Sub namra_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And namra.Text "" Then 
 ngden.SetFocus 
 End If 
End Sub 
Private Sub ngden_Change() 
 If Not IsNumeric(ngden.Text) Then 
 ngden.Text = "" 
 Exit Sub 
 ngden.SetFocus 
 Else 
 If (Val(ngden.Text) 31) Then 
 MsgBox "Bạn cập nhật ngày không hợp lệ.Bạn hãy nhập lại!", , "Quản lý 
công văn đến" 
 ngden.Text = "" 
 Visual Basic Quản lý công văn đến 
 54
 ngden.SetFocus 
 End If 
 If Len(ngden.Text) > 2 Then 
 ngden.Text = "" 
 ngden.SetFocus 
 End If 
 End If 
End Sub 
Private Sub ngden_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And ngden.Text "" Then 
 thden.SetFocus 
 End If 
End Sub 
Private Sub ngra_Change() 
 If Not IsNumeric(ngra.Text) Then 
 ngra.Text = "" 
 Exit Sub 
 Visual Basic Quản lý công văn đến 
 55
 ngra.SetFocus 
 Else 
 If (Val(ngra.Text) 31) Then 
 MsgBox "Bạn cập nhật ngày không hợp lệ.Bạn hãy nhập lại!", , "Quản lý 
công văn đến" 
 ngra.Text = "" 
 ngra.SetFocus 
 End If 
 If Len(ngra.Text) > 2 Then 
 ngra.Text = "" 
 ngra.SetFocus 
 End If 
 End If 
End Sub 
Private Sub ngra_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And ngra.Text "" Then 
 thra.SetFocus 
 End If 
End Sub 
 Visual Basic Quản lý công văn đến 
 56
Private Sub nguoi_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And nguoi.Text "" Then 
 noidung.SetFocus 
 End If 
End Sub 
Private Sub noidung_DblClick() 
 If noidung.Height = 65 Then 
 noidung.Top = 0 
 noidung.Height = 289 
 Lbl6.Caption = "Hãy nháy đúp nút trái chuột để thu nhỏ nội dung công văn." 
 noidung.SetFocus 
 Else 
 noidung.Top = 224 
 noidung.Height = 65 
 Lbl6.Caption = "Hãy nháy đúp nút trái chuột để phóng to nội dung công văn." 
 noidung.SetFocus 
 End If 
 Visual Basic Quản lý công văn đến 
 57
End Sub 
Private Sub noidung_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 Lbl6.Visible = True 
End Sub 
Private Sub Ten_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And Ten.Text "" Then 
 mk.SetFocus 
 End If 
End Sub 
Private Sub thden_Change() 
 If Not IsNumeric(thden.Text) Then 
 thden.Text = "" 
 Exit Sub 
 thden.SetFocus 
 Else 
 Visual Basic Quản lý công văn đến 
 58
 If (Val(thden.Text) 12) Then 
 MsgBox "Bạn cập nhật tháng không hợp lệ.Bạn hãy nhập lại!", , "Quản lý 
công văn đến" 
 thden.Text = "" 
 thden.SetFocus 
 End If 
 If Len(thden.Text) > 2 Then 
 thden.Text = "" 
 thden.SetFocus 
 End If 
 End If 
End Sub 
Private Sub thden_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And thden.Text "" Then 
 namden.SetFocus 
 End If 
End Sub 
 Visual Basic Quản lý công văn đến 
 59
Private Sub thoihan_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And thoihan.Text "" Then 
 nguoi.SetFocus 
 End If 
End Sub 
Private Sub thra_Change() 
 If Not IsNumeric(thra.Text) Then 
 thra.Text = "" 
 Exit Sub 
 thra.SetFocus 
 Else 
 If (Val(thra.Text) 12) Then 
 MsgBox "Bạn cập nhật tháng không hợp lệ.Bạn hãy nhập lại!", , "Quản lý 
công văn đến" 
 thra.Text = "" 
 thra.SetFocus 
 End If 
 If Len(thra.Text) > 2 Then 
 Visual Basic Quản lý công văn đến 
 60
 thra.Text = "" 
 thra.SetFocus 
 End If 
 End If 
End Sub 
Private Sub thra_KeyPress(KeyAscii As Integer) 
 If KeyAscii = 13 And thra.Text "" Then 
 namra.SetFocus 
 End If 
End Sub 
 IV.FORM XEM : chương trình cho phép người sử dụng xem toàn bộ các 
thông tin về các công văn đã cập nhật vào .Form này cho phép chúng ta có thể 
 Visual Basic Quản lý công văn đến 
 61
xem , thêm ,sửa ,xoá các công văn trực tiếp trên cơ sở dữ liệu của mình.Đồng thời 
gọi form in để in các công văn. 
 Các phương thức xử lý trên form Xem : 
 Attribute VB_Name = "xem" 
 Dim i As Integer 
Private Sub cmd1_Click() 
 Data1.Recordset.MoveFirst 
 Lab2.Caption = 1 
End Sub 
Private Sub cmd2_Click() 
 If Lab2.Caption > 1 Then 
 Data1.Recordset.MovePrevious 
 Lab2.Caption = Lab2.Caption - 1 
 Else 
 Exit Sub 
 End If 
End Sub 
 Visual Basic Quản lý công văn đến 
 62
Private Sub Cmd3_Click() 
 If Lab2.Caption < Data1.Recordset.RecordCount Then 
 Data1.Recordset.MoveNext 
 Lab2.Caption = Lab2.Caption + 1 
 Else 
 Exit Sub 
 End If 
End Sub 
Private Sub Cmd4_Click() 
 Data1.Recordset.MoveLast 
 Lab2.Caption = Data1.Recordset.RecordCount 
End Sub 
Private Sub Command1_Click() 
 Form2.WindowState = 0 
 Unload Me 
End Sub 
 Visual Basic Quản lý công văn đến 
 63
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 thoat1.Left = 336 
 thoat1.Caption = "Ra khỏi bảng xem công văn" 
 thoat1.Visible = True 
End Sub 
Private Sub Command2_Click() 
 xem.Hide 
 inan.Show 
End Sub 
Private Sub Command2_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 thoat1.Left = 288 
 thoat1.Caption = "In công văn" 
 thoat1.Visible = True 
End Sub 
 Visual Basic Quản lý công văn đến 
 64
Private Sub DBGrid1_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 thoat1.Visible = False 
End Sub 
Private Sub Form_Load() 
 Data1.DatabaseName = App.Path & "\qlcvd.mdb" 
 Data1.RecordSource = "cv" 
 Data1.Refresh 
 Data1.Recordset.MoveLast 
 Lab2.Caption = Data1.Recordset.RecordCount 
End Sub 
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, 
Y As Single) 
 thoat1.Visible = False 
End Sub 
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 Visual Basic Quản lý công văn đến 
 65
 thoat1.Visible = False 
End Sub 
 Visual Basic Quản lý công văn đến 
 66
 V.FORM tìm kiếm : Form này giúp cho người sử dụng tìm kiếm các 
công văn thoả mãn điều kiện của một trường nào đó.Người sử dụng có thể xoá , 
sửa các công văn đó trên bảng tìm kiếm công văn. 
 Các phương thức xử lý trong chương trình tìm kiếm : 
 Attribute VB_Name = "tim" 
 Dim DB As Database 
 Dim DongSQL As String 
 Dim SQL1 As String 
Public Sub Dieukien() 
 For i = 0 To Data1.Recordset.Fields.Count - 1 
 ComDK.AddItem (Data1.Recordset.Fields(i).Name) 
 Visual Basic Quản lý công văn đến 
 67
 Next i 
End Sub 
Public Sub HIEN() 
Comhien.AddItem "Tất cả" 
For i = 0 To Data1.Recordset.Fields.Count - 1 
 Comhien.AddItem (Data1.Recordset.Fields(i).Name) 
Next i 
End Sub 
Private Sub CmdClear_Click() 
 Comhien.Text = "" 
 ComDK.Text = "" 
 ComPheptoan.Text = "" 
 Gt.Text = "" 
 ComDK.SetFocus 
 Data1.Refresh 
 Data1.RecordSource = "cv" 
 Data1.Refresh 
 Visual Basic Quản lý công văn đến 
 68
 text1.Text = "Select" 
End Sub 
Private Sub cmdthoat_Click() 
 Form2.WindowState = 0 
 Unload Me 
End Sub 
Private Sub cmdxem_Click() 
 If ComDK.Text = "" Then 
 MsgBox "Bạn phải chọn điều kiện tìm", , "Tìm kiếm công văn" 
 Exit Sub 
 End If 
 If ComPheptoan.Text = "" Then 
 MsgBox "Bạn phải chọn phép toán", , "Tìm kiếm công văn" 
 Exit Sub 
 End If 
 If Gt.Text = "" Then 
 MsgBox "Bạn phải chọn giá trị", , "Tìm kiếm công văn" 
 Visual Basic Quản lý công văn đến 
 69
 Exit Sub 
 End If 
If ComDK.Text "" And ComPheptoan.Text "" And Gt.Text "" Then 
 If Comhien.Text = "" Or Comhien.Text = "Tất cả" Then 
 DongSQL = "Select * From cv Where [" & ComDK.Text & "]" & 
ComPheptoan.Text 
 Else 
 DongSQL = "Select " & "[" & Comhien.Text & "]" & " From cv 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 
 Visual Basic Quản lý công văn đến 
 70
Data1.Refresh 
text1.Text = "" 
 If Comhien.Text = "" Or Comhien.Text = "Tất cả" Then 
 SQL1 = "Select *" & " From cv Where [" & ComDK.Text & "] " & 
ComPheptoan.Text & " '" & Gt.Text & "'" 
 Else 
 SQL1 = "Select [" & Comhien.Text & "]" & " From cv 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 "=" 
 Visual Basic Quản lý công văn đến 
 71
 ComPheptoan.AddItem "<" 
 ComPheptoan.AddItem ">" 
 ComPheptoan.AddItem "<=" 
 ComPheptoan.AddItem ">=" 
 ComPheptoan.AddItem "" 
 ComPheptoan.AddItem "Like" 
 End Select 
 Gt.Text = "" 
 If Comhien.Text = "" Or Comhien.Text = "Tất cả" Then 
 SQL1 = "Select *" & " From cv Where [" & ComDK.Text & "] " & 
ComPheptoan.Text & " '" & Gt.Text & "'" 
 Else 
 SQL1 = "Select [" & Comhien.Text & "]" & " From cv Where [" & 
ComDK.Text & "] " & ComPheptoan.Text & " '" & Gt.Text & "'" 
 End If 
 text1.Text = SQL1 
Else 
 ComDK.SetFocus 
End If 
 Visual Basic Quản lý công văn đến 
 72
End Sub 
Private Sub ComPheptoan_Click() 
If ComPheptoan.Text "" Then 
 Gt.SetFocus 
 text1.Text = "" 
 If Comhien.Text = "" Or Comhien.Text = "Tất cả" Then 
 SQL1 = "Select *" & " From cv Where [" & ComDK.Text & "] " & 
ComPheptoan.Text & " '" & Gt.Text & "'" 
 Else 
 SQL1 = "Select [" & Comhien.Text & "]" & " From cv Where [" & 
ComDK.Text & "] " & ComPheptoan.Text & " '" & Gt.Text & "'" 
 End If 
 text1.Text = SQL1 
Else 
 ComPheptoan.SetFocus 
End If 
End Sub 
 Visual Basic Quản lý công văn đến 
 73
Private Sub Form_Load() 
 Set DB = OpenDatabase(App.Path & "\qlcvd.mdb") 
 Data1.Refresh 
 Call HIEN 
 Call Dieukien 
 Gt.Text = "" 
 text1.Text = "Select" 
End Sub 
 Visual Basic Quản lý công văn đến 
 74
 VI.FORM IN : Form này để người sử dụng in các công văn ra giấy qua máy 
in theo mẫu đã định trước. 
 * Các phương thức xử lý trên Form in: 
 Attribute VB_Name = "inan" 
Private Sub cd1_Click() 
 Data1.Recordset.MoveFirst 
 thu.Text = 1 
 T.Text = "" 
 Visual Basic Quản lý công văn đến 
 75
T.Text = T.Text & " Cộng hoà xã hội chủ nghĩa Việt Nam " & 
Chr(13) & Chr(10) 
T.Text = T.Text & " Độc lập - Tự do - Hạnh phúc " & 
Chr(13) & Chr(10) 
T.Text = T.Text & " o0o " & Chr(13) 
& Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Loại") & Chr(13) & Chr(10) 
T.Text = T.Text & " " & Data1.Recordset.Fields("Tên công văn") 
& Chr(13) & Chr(10) 
T.Text = T.Text & " Kính gửi: " & Data1.Recordset.Fields("Chuyển cho") & 
Chr(13) & Chr(10) 
T.Text = T.Text & "Nội dung: " & Data1.Recordset.Fields("Nội dung") & 
Chr(13) & Chr(10) 
T.Text = T.Text & "Mong " & Data1.Recordset.Fields("Chuyển cho") & " thực 
hiện " & Data1.Recordset.Fields("Loại") & " này" & Chr(13) & Chr(10) 
T.Text = T.Text & "Thời hạn " & Data1.Recordset.Fields("Loại") & " có hiệu lực: 
" & Data1.Recordset.Fields("Thời hạn") & " kể từ ngày ra " & 
Data1.Recordset.Fields("Loại") & " này " & Chr(13) & Chr(10) 
T.Text = T.Text & "Mức khẩn: " & Data1.Recordset.Fields("Mức khẩn") & 
Chr(13) & Chr(10) 
T.Text = T.Text & "Độ mật : " & Data1.Recordset.Fields("Độ mật") & Chr(13) 
& Chr(10) 
 Visual Basic Quản lý công văn đến 
 76
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Cơ quan") & ":" & Data1.Recordset.Fields("Ngày ra") & 
Chr(13) & Chr(10) 
T.Text = T.Text & " Người ký " & 
Chr(13) & Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Người ký") & Chr(13) & Chr(10) 
End Sub 
Private Sub cd1_MouseMove(Button As Integer, Shift As Integer, X As Single, 
Y As Single) 
 Label2.Left = 840 
 Label2.Visible = True 
 Label2.Caption = "Chuyển đến công văn đầu tiên " 
End Sub 
Private Sub cd2_Click() 
 If thu.Text > 1 Then 
 Data1.Recordset.MovePrevious 
 thu.Text = thu.Text - 1 
 Visual Basic Quản lý công văn đến 
 77
 T.Text = "" 
T.Text = T.Text & " Cộng hoà xã hội chủ nghĩa Việt Nam " & 
Chr(13) & Chr(10) 
T.Text = T.Text & " Độc lập - Tự do - Hạnh phúc " & 
Chr(13) & Chr(10) 
T.Text = T.Text & " o0o " & Chr(13) 
& Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Loại") & Chr(13) & Chr(10) 
T.Text = T.Text & " " & Data1.Recordset.Fields("Tên công văn") 
& Chr(13) & Chr(10) 
T.Text = T.Text & " Kính gửi: " & Data1.Recordset.Fields("Chuyển cho") & 
Chr(13) & Chr(10) 
T.Text = T.Text & "Nội dung: " & Data1.Recordset.Fields("Nội dung") & 
Chr(13) & Chr(10) 
T.Text = T.Text & "Mong " & Data1.Recordset.Fields("Chuyển cho") & " thực 
hiện " & Data1.Recordset.Fields("Loại") & " này" & Chr(13) & Chr(10) 
T.Text = T.Text & "Thời hạn " & Data1.Recordset.Fields("Loại") & " có hiệu lực: 
" & Data1.Recordset.Fields("Thời hạn") & " kể từ ngày ra " & 
Data1.Recordset.Fields("Loại") & " này " & Chr(13) & Chr(10) 
T.Text = T.Text & "Mức khẩn: " & Data1.Recordset.Fields("Mức khẩn") & 
Chr(13) & Chr(10) 
 Visual Basic Quản lý công văn đến 
 78
T.Text = T.Text & "Độ mật : " & Data1.Recordset.Fields("Độ mật") & Chr(13) 
& Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Cơ quan") & ":" & Data1.Recordset.Fields("Ngày ra") & 
Chr(13) & Chr(10) 
T.Text = T.Text & " Người ký " & 
Chr(13) & Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Người ký") & Chr(13) & Chr(10) 
Else 
 MsgBox "Bạn đã chuyển đến công văn đầu tiên", , "In công văn" 
 Exit Sub 
End If 
End Sub 
Private Sub cd2_MouseMove(Button As Integer, Shift As Integer, X As Single, 
Y As Single) 
 Label2.Left = 1560 
 Label2.Visible = True 
 Label2.Caption = " Chuyển về công văn đứng trước " 
End Sub 
 Visual Basic Quản lý công văn đến 
 79
Private Sub cd3_Click() 
If thu.Text < Data1.Recordset.RecordCount Then 
Data1.Recordset.MoveNext 
thu.Text = thu.Text + 1 
T.Text = "" 
T.Text = T.Text & " Cộng hoà xã hội chủ nghĩa Việt Nam " & 
Chr(13) & Chr(10) 
T.Text = T.Text & " Độc lập - Tự do - Hạnh phúc " & 
Chr(13) & Chr(10) 
T.Text = T.Text & " o0o " & Chr(13) 
& Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Loại") & Chr(13) & Chr(10) 
T.Text = T.Text & " " & Data1.Recordset.Fields("Tên công văn") 
& Chr(13) & Chr(10) 
T.Text = T.Text & " Kính gửi: " & Data1.Recordset.Fields("Chuyển cho") & 
Chr(13) & Chr(10) 
T.Text = T.Text & "Nội dung: " & Data1.Recordset.Fields("Nội dung") & 
Chr(13) & Chr(10) 
 Visual Basic Quản lý công văn đến 
 80
T.Text = T.Text & "Mong " & Data1.Recordset.Fields("Chuyển cho") & " thực 
hiện " & Data1.Recordset.Fields("Loại") & " này" & Chr(13) & Chr(10) 
T.Text = T.Text & "Thời hạn " & Data1.Recordset.Fields("Loại") & " có hiệu lực: 
" & Data1.Recordset.Fields("Thời hạn") & " kể từ ngày ra " & 
Data1.Recordset.Fields("Loại") & " này " & Chr(13) & Chr(10) 
T.Text = T.Text & "Mức khẩn: " & Data1.Recordset.Fields("Mức khẩn") & 
Chr(13) & Chr(10) 
T.Text = T.Text & "Độ mật : " & Data1.Recordset.Fields("Độ mật") & Chr(13) 
& Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Cơ quan") & ":" & Data1.Recordset.Fields("Ngày ra") & 
Chr(13) & Chr(10) 
T.Text = T.Text & " Người ký " & 
Chr(13) & Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Người ký") & Chr(13) & Chr(10) 
Else 
 MsgBox "Bạn đã chuyển đến công văn cuối cùng", , "In công văn" 
 Exit Sub 
End If 
End Sub 
 Visual Basic Quản lý công văn đến 
 81
Private Sub Cd3_MouseMove(Button As Integer, Shift As Integer, X As Single, 
Y As Single) 
 Label2.Left = 3345 
 Label2.Visible = True 
 Label2.Caption = " Chuyển tới công văn tiếp theo " 
End Sub 
Private Sub cd4_Click() 
 Data1.Recordset.MoveLast 
 thu.Text = Data1.Recordset.RecordCount 
 T.Text = "" 
T.Text = T.Text & " Cộng hoà xã hội chủ nghĩa Việt Nam " & 
Chr(13) & Chr(10) 
T.Text = T.Text & " Độc lập - Tự do - Hạnh phúc " & 
Chr(13) & Chr(10) 
T.Text = T.Text & " o0o " & Chr(13) 
& Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Loại") & Chr(13) & Chr(10) 
T.Text = T.Text & " " & Data1.Recordset.Fields("Tên công văn") 
& Chr(13) & Chr(10) 
 Visual Basic Quản lý công văn đến 
 82
T.Text = T.Text & " Kính gửi: " & Data1.Recordset.Fields("Chuyển cho") & 
Chr(13) & Chr(10) 
T.Text = T.Text & "Nội dung: " & Data1.Recordset.Fields("Nội dung") & 
Chr(13) & Chr(10) 
T.Text = T.Text & "Mong " & Data1.Recordset.Fields("Chuyển cho") & " thực 
hiện " & Data1.Recordset.Fields("Loại") & " này" & Chr(13) & Chr(10) 
T.Text = T.Text & "Thời hạn " & Data1.Recordset.Fields("Loại") & " có hiệu lực: 
" & Data1.Recordset.Fields("Thời hạn") & " kể từ ngày ra " & 
Data1.Recordset.Fields("Loại") & " này " & Chr(13) & Chr(10) 
T.Text = T.Text & "Mức khẩn: " & Data1.Recordset.Fields("Mức khẩn") & 
Chr(13) & Chr(10) 
T.Text = T.Text & "Độ mật : " & Data1.Recordset.Fields("Độ mật") & Chr(13) 
& Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Cơ quan") & ":" & Data1.Recordset.Fields("Ngày ra") & 
Chr(13) & Chr(10) 
T.Text = T.Text & " Người ký " & 
Chr(13) & Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Người ký") & Chr(13) & Chr(10) 
End Sub 
 Visual Basic Quản lý công văn đến 
 83
Private Sub cd4_MouseMove(Button As Integer, Shift As Integer, X As Single, 
Y As Single) 
 Label2.Left = 3600 
 Label2.Visible = True 
 Label2.Caption = " Chuyển tới công văn cuối cùng " 
End Sub 
Private Sub Form_Load() 
 Data1.DatabaseName = App.Path & "\qlcvd.mdb" 
 Data1.RecordSource = "cv" 
 Data1.Refresh 
 Data1.Recordset.MoveLast 
 sobanin.Text = "" 
 cvthu = Data1.Recordset.RecordCount 
 thu = cvthu 
T.Text = "" 
T.Text = T.Text & " Cộng hoà xã hội chủ nghĩa Việt Nam " & 
Chr(13) & Chr(10) 
 Visual Basic Quản lý công văn đến 
 84
T.Text = T.Text & " Độc lập - Tự do - Hạnh phúc " & 
Chr(13) & Chr(10) 
T.Text = T.Text & " o0o " & Chr(13) 
& Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Loại") & Chr(13) & Chr(10) 
T.Text = T.Text & " " & Data1.Recordset.Fields("Tên công văn") & 
Chr(13) & Chr(10) 
T.Text = T.Text & " Kính gửi : " & Data1.Recordset.Fields("Chuyển cho") & 
Chr(13) & Chr(10) 
T.Text = T.Text & "Nội dung : " & Data1.Recordset.Fields("Nội dung") & 
Chr(13) & Chr(10) 
T.Text = T.Text & "Mong " & Data1.Recordset.Fields("Chuyển cho") & " thực 
hiện " & Data1.Recordset.Fields("Loại") & " này" & Chr(13) & Chr(10) 
T.Text = T.Text & "Thời hạn " & Data1.Recordset.Fields("Loại") & " có hiệu lực: 
" & Data1.Recordset.Fields("Thời hạn") & " kể từ ngày ra " & 
Data1.Recordset.Fields("Loại") & " này " & Chr(13) & Chr(10) 
T.Text = T.Text & "Mức khẩn: " & Data1.Recordset.Fields("Mức khẩn") & 
Chr(13) & Chr(10) 
T.Text = T.Text & "Độ mật : " & Data1.Recordset.Fields("Độ mật") & Chr(13) 
& Chr(10) 
 Visual Basic Quản lý công văn đến 
 85
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Cơ quan") & ":" & Data1.Recordset.Fields("Ngày ra") & 
Chr(13) & Chr(10) 
T.Text = T.Text & " Người ký " & Chr(13) 
& Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Người ký") & Chr(13) & Chr(10) 
End Sub 
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, 
Y As Single) 
 Label2.Visible = False 
End Sub 
Private Sub Frame2_MouseMove(Button As Integer, Shift As Integer, X As 
Single, Y As Single) 
 Label2.Visible = False 
End Sub 
Private Sub inan_Click() 
 Dim i, l As Integer 
 Visual Basic Quản lý công văn đến 
 86
 If sobanin.Text = "" Then 
 MsgBox " Bạn phải nhập vào số bản cần in !" 
 sobanin.SetFocus 
 Else 
l = MsgBox("Bạn có muốn in công văn này không ?", 4, "Nếu in chọn nút Yes") 
If l = 6 Then 
 T.Text = "" 
T.Text = T.Text & " Cộng hoà xã hội chủ nghĩa Việt Nam " & 
Chr(13) & Chr(10) 
T.Text = T.Text & " Độc lập - Tự do - Hạnh phúc " & 
Chr(13) & Chr(10) 
T.Text = T.Text & " o0o " & Chr(13) 
& Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Loại") & Chr(13) & Chr(10) 
T.Text = T.Text & " " & Data1.Recordset.Fields("Tên công văn") & 
Chr(13) & Chr(10) 
T.Text = T.Text & " Kính gửi : " & Data1.Recordset.Fields("Chuyển cho") & 
Chr(13) & Chr(10) 
T.Text = T.Text & "Nội dung : " & Data1.Recordset.Fields("Nội dung") & 
Chr(13) & Chr(10) 
 Visual Basic Quản lý công văn đến 
 87
T.Text = T.Text & "Mong " & Data1.Recordset.Fields("Chuyển cho") & " thực 
hiện " & Data1.Recordset.Fields("Loại") & " này" & Chr(13) & Chr(10) 
T.Text = T.Text & "Thời hạn " & Data1.Recordset.Fields("Loại") & " có hiệu lực: 
" & Data1.Recordset.Fields("Thời hạn") & " kể từ ngày ra " & 
Data1.Recordset.Fields("Loại") & " này " & Chr(13) & Chr(10) 
T.Text = T.Text & "Mức khẩn: " & Data1.Recordset.Fields("Mức khẩn") & 
Chr(13) & Chr(10) 
T.Text = T.Text & "Độ mật : " & Data1.Recordset.Fields("Độ mật") & Chr(13) 
& Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Cơ quan") & ":" & Data1.Recordset.Fields("Ngày ra") & 
Chr(13) & Chr(10) 
T.Text = T.Text & " Người ký " & Chr(13) 
& Chr(10) 
T.Text = T.Text & " " & 
Data1.Recordset.Fields("Người ký") & Chr(13) & Chr(10) 
‘-----------------------------------------‘ 
 For i = 1 To Val(sobanin.Text) 
 Printer.Print T.Text 
 Printer.NewPage 
 Next 
 Printer.EndDoc 
 Visual Basic Quản lý công văn đến 
 88
Else 
Exit Sub 
End If 
End If 
End Sub 
Private Sub inan_MouseMove(Button As Integer, Shift As Integer, X As Single, 
Y As Single) 
 Label2.Visible = False 
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 
 Visual Basic Quản lý công văn đến 
 89
End Sub 
Private Sub T_MouseMove(Button As Integer, Shift As Integer, X As Single, Y 
As Single) 
Label2.Visible = False 
End Sub 
Private Sub thoat_Click() 
Form2.WindowState = 0 
Unload Me 
End Sub 
Private Sub thoat_MouseMove(Button As Integer, Shift As Integer, X As Single, 
Y As Single) 
 Label2.Visible = False 
End Sub 
Private Sub thu_MouseMove(Button As Integer, Shift As Integer, X As Single, 
Y As Single) 
 Label2.Visible = False 
End Sub 
 Visual Basic Quản lý công văn đến 
 90
            Các file đính kèm theo tài liệu này:
tl_vb_6583.pdf