Chương trình quản lý công văn đến bằng Visual Basic

Ngày nay ,các công nghệ khoa học ,kỹ thuật ngày càng phát triển như vũ bão,trong đó khoa học máy tính cũng phát triển mạnh mẽ và xâm nhập vào mọi lĩnh vực khoa học ,kinh tế ,xã hội ,quả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.

pdf90 trang | Chia sẻ: lvbuiluyen | Lượt xem: 2244 | Lượt tải: 5download
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
Visual Basic Quản lý công văn đến 1 Đề tài: “Chương trình quản lý công văn đến bằng Visual Basic” Visual Basic Quản lý công văn đến 2 LỜI NÓI ĐẦU OOO Ngày nay ,các công nghệ khoa học ,kỹ thuật ngày càng phát triển như vũ bão,trong đó khoa học máy tính cũng phát triển mạnh mẽ và xâm nhập vào mọi lĩnh vực khoa học ,kinh tế ,xã hội ,quả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