Ngôn ngữ Visual Basic ngày càng được sử dụng rộng rãi trong các đề án, chương trình thực hiện trong và ngoài nước. Visual Basic được xem là một công cụ phát triển phần mềm thông dụng hiện nay
Trang 1Hơn bốn năm học vất vả nhưng đầy thú vị đã trôi qua, ngày ra trường
đã đến gần, chúng tôi, những sinh viên lớp tin 4, trường Đại học Quản lý vàKinh doanh Hà Nội đã hoàn tất nốt những trang cuối của Luận văn tốtnghiệp Luận văn này là kết quả học tập, rèn luyện của tôi trong bốn nămhọc và hơn 6 tháng thực tập Để có thể hoàn thành luận văn này, tôi đã nhậnđược rất nhiều sự chỉ bảo, hướng dẫn của các thầy, cố giáo, sự động viên,giúp đỡ của bạn bè, gia đình…
Tôi xin được bày tỏ lòng biết ơn các Thầy, cô giáo trường Đại HọcQuản lý và Kinh doanh Hà Nội, đặc biệt là Thầy giáo hướng dẫn trực tiếp,
đã giảng dạy, truyền thụ những kiến thức quý báu, cũng như tạo mọi điềukiện thuận lợi cho tôi trong suốt quá trình học tập tại trường
Xin được gửi lời cảm ơn đến những người thân trong gia đình, bạn bè
đã giúp đỡ, động viên tôi trong quá trình thực hiện luận văn
Trang 2LỜI GIỚI THIỆU
Trong thời đại ngày nay, bất kể tổ chức, cá nhân nào, từ các doanhnghiệp tư nhân đến cơ quan nhà nước, hay các tổ chức xã hội tất cả đềukhông thể không sử dụng công nghệ thông tin để phát triển và tồn tại Cáchoạt động của nhà nước, mà quản lý tài sản là một phần nhỏ, cũng khôngnằm ngoài quy luật trên
Hàng năm, nhà nước ta đều tiến hành kiểm kê các tài sản cố định đểnhằm nắm được số lượng, chất lượng, giá trị và thực trạng sử dụng của cáctài sản cố định đang sử dụng trong các cơ quan nhà nước Tài sản cố định ởđây là tất cả các tài sản có nguồn gốc từ vốn của nhà nước, đang được cácđơn vị hành chính sử dụng Việc kiểm kê này bao gồm rất nhiều công đoạnnhư: Xác định hiện trạng, định giá lại tài sản, lập phiếu kiểm kê, thống kê sốliệu, lưu giữ dữ liệu…Công việc này đòi hỏi một số lượng lớn thời gian,
nhân lực, vật lực Chính vì vậy, tôi đã chọn đề tài Quản lý tài sản cố định
làm đề tài cho Luận văn tốt nghiệp Chương trình được viết ra nhằm mụcđích tin học hoá các hoạt động trên để giảm bớt chi phí về thời gian chocông việc thống kê, tìm kiếm, lập phiếu kiểm, lưu giữ dữ liệu Chương trình
có thể áp dụng trong TP Hà Nội
Công tác quản lý, thống kê các tài sản cố định là một bài toán lớn,phức tạp Trong khi đó, thời gian để thực hiện đồ án là có hạn, cũng nhưkinh nghiệm về lập trình, hiểu biết về nghiệp vụ thực tế còn hạn chế, nênchắc chắn chương trình phần mềm và luận văn nay sẽ còn nhiều hạn chế Tôirất mong sẽ nhận được sự đóng góp ý kiến, chỉ bảo của các thầy, cô giáo,cũng như các bạn có quan tâm đến đề tài này
Trang 3PHẦN I : GIỚI THIỆU NGÔN NGỮ VISUAL BASIC
Ngôn ngữ Visual Basic ngày càng được sử dụng rộng rãi trong các đề
án, chương trình thực hiện trong và ngoài nước Visual Basic được xem làmột công cụ phát triển phần mềm thông dụng hiện nay
Sau phiên bản Visual Basic 1.0 là Visual Basic 2.0, đã từng chạynhanh hơn, dễ sử dụng hơn Đến Visual Basic 3.0 bổ sung thêm một sốphương thức đơn giản, dễ điều khiển cơ sở dữ liệu hơn Visual Basic 4.0 bổsung thêm hơn hỗ trợ phát triển 32 bit và bắt đầu tiến trình chuyển VisualBasic thành ngôn ngữ lập trình hướng đốI tượng Visual Basic 5.0 bổ sungkhả năng tạo các điều khiển riêng Visual Basic 6.0 có thêm nhiều chức năngmạnh như các ứng dụng Internet/ Intranet .v.v…
Visual Basic gắn liền vớI khái niệm lập trình trực quan, nghĩa là khithiết kế chương trình, bạn thấy ngay được kết quả qua từng thao tác VisualBasic cho phép chỉnh sửa một cách đơn giản, nhanh chóng giao diện của cácđốI tượng trong ứng dụng Đó là một thuận lợI cho ngườI lập trình
VớI Visual Basic, việc lập trình trong Windows đã trở nên hiệu quảhơn và đơn giản hơn rất nhiều Một khả năng nữa của Visual Basic là khảnăng kết hợp các thư viện liên kết động DLL (Dynamic Link Library) DLLchính là phần mở rộng cho Visual Basic, tức là khi xây dựng một chươngtrình có một số yêu cầu mà Visual Basic không đáp ứng đầy đủ ta có thể viếtcác DLL để phụ thêm cho chương trình
1 Các công cụ để thiết kế giao diện:
Như chúng ta đã biết Visual Basic là ngôn ngữ lập trình có tính hướngđốI tượng nên công việc thiết kế giao diện là rất đơn giản Chúng ta chỉ việctiến hành đưa các đốI tượng cần thiết trong thanh công cụ vào Form bằng
Trang 4cách kích – kéo sau đó thay đổI các thuộc tính của chúng trên cửa sổProperties cho phù hợp vớI mục đích lập trình.
1.1 Form:
Form là một biểu mẫu của mỗI ứng dụng trong Visual Basic Ta dùngForm nhằm mục đích định vị và sắp xếp các bộ phận trên nó khi thiết kếgiao diện vớI ngườI sử dụng Ta có thể xem Form như một bộ phận mà nó
có thể chứa các bộ phận khác Các thành phần trong Form chính của ứngdụng tương tác vớI các Form khác và các bộ phận của chúng tạo nên giaotiếp cho ứng dụng Form chính là giao diện chính của ứng dụng, các Formkhác có thể chứa các công cụ để nhập dữ liệu, xem xét v.v…
Trong nhiều ứng dụng của Visual Basic, kích cỡ và vị trí của biểumẫu lúc thiết kế là kích cỡ mà ngườI dùng sẽ gặp vào lúc sử dụng Điều này,
có nghĩa là Visual Basic cho phép ta thay đổI kích cỡ và di chuyển vị tríForm đến bất cứ nơi nào trên màn hình khi chạy một đề án, bằng cách thayđổI một số thuộc tính của nó trên cửa sổ thuộc tính đốI tượng (PropertiesWindows ) Thực tế, một trong tính năng thiếu của Visual Basic là khả năngtiến hành các thay đổI động để đáp ứng sự kiện ngườI dùng
1.2 Toolbox (hộp công cụ):
Toolbox là hộp công cụ chưa các biểu tượng, biểu thị cho các điềukhiển mà ta có thể biểu mẫu là bảng chứa các đối tượng đã được định nghĩasẵn của Visual Basic Các đối tượng này được sử dụng trong Form để tạothành giao diện cho các chương trình ứng dụng của Visual Basic Ta có thểcoi hộp công cụ là một hộp “đồ nghề” của người thiết kế chương trình
1.3 Scrollbar (thanh cuốn):
Scrollbar là đối tượng cho phép nhận từ người dùng một giá trị tuỳtheo vị trí con chạy trên thanh cuốn thay cho các giá trị số
Thanh cuốn có một số thuộc tính quan trọng sau:
Trang 5 Thuộc tính Min: xác định cận dưới của thanh cuốn
Thuộc tính Max: xác định cận trên của thanh cuốn
Thuộc tính Value: xác định giá trị tạm thời của thanh cuốn
1.4 Option Button (Nút chọn):
Đối tượng nút chọn (thường được dùng nhiều nút) cho phép ngườidùng chọn một trong những lựa chọn đưa ra Như vậy, tại 1 thời điểm chỉ cóthể là 1 trong những nút chọn đuợc chọn
1.5 Checkbox( hộp kiểm)
Cũng như nút chọn, đối tượng hộp kiểm được dùng nhiều hộp mộtlần Nhưng khác với nút chọn, hộp kiểm cho phép người dùng lựa một haynhiều điều kiện Như vậy tại 1 thời điểm có thể có nhiều hộp kiểm đượcchọn
1.7 Picturebox, Image ( hộp ảnh, điều khiển ảnh )
Đối tượng Image và Picturebox dùng để hiển thị ảnh Nó cho phépngười thiết kế đưa hình ảnh từ các file ảnh ( bmp , gif …) lên Form
1.8 Textbox ( hộp văn bản )
Đối tượng Textbox dùng làm hộp nhập dữ liệu cho phép đưa cácchuỗi ký tự vào Form Có thể dùng hộp văn bản để nhập dữ liệu hoặc hiểnthị văn bản Tất cả các công cụ trong windows về chỉnh sửa văn bản như :cut, copy, paste đều dùng trong hộp văn bản
Trang 61.9 Command Button ( nút lệnh )
Khi người dùng kích vào 1 nút lệnh trong biểu mẫu, một thao tác nào
đó sẽ được thực hiện tuỳ theo thủ tục sự kiện được viết để đáp ứng sự kiệnkích chuột đó
1.10 Listbox ( hộp danh sách )
Đối tượng Listbox cho phép kết xuất các thông tin về nhiều chuỗi kí
tự vào trong nó thông qua phương thức additem Thường được dùng để hiểnthị thông tin dưới dạng danh sách có liên quan với nhau Listbox không chophép người dùng nhập dữ liệu vào
1.11 Combo box ( hộp kết hợp )
Công cụ này cho phép người dùng gõ vào thông tin và hiển thị thôngtin nó có tác dụng như hộp danh sách và hộp văn bản Hộp kết hợp có 3loại:
- Hộp kết hợp thả xuống ( drop-down combo ) : là 1 hộp văn bản chophép người dùng gõ vào, kế bên có 1 mũi tên mà khi nhấn vào nó sẽ xổ ra 1danh sách cho phép người sử dụng chọn lựa
- Hộp kết hợp đơn giản ( simple combo ) : luôn hiển thị danh sách vàcho phép người dùng gõ vào hộp văn bản
- Hộp danh sách thả xuống ( drop- down list box) : tương tự như hộpkết hợp thả xuống Danh sách sẽ không hiển thị sẵn nếu người dùng khôngnhấn vào mũi tên bên cạnh người sử dụng chỉ có thể chọn từ danh sách, gõvào hộp văn bản thì danh sách sẽ cuộn đúng đến phần tử yêu cầu và đánhdấu nó
Trang 71.12 Ole ( đối tượng nhúng )
Ole là viết tắt của Object - Linking and Embedding Nó cho phép tanhúng toàn bộ ứng dụng và dữ liệu từ một ứng dụng khác vào chương trình Ole không chỉ là 1 hệ thống cho phép nhúng hay kết nối dữ liệu từ 1 ứngdụng khác mà vào thời gian chạy của chương trình ta sẽ có 1 bản sao củaứng dụng đó trong chương trình của ta Nó có khả năng automation chophép đóng gói các đối tượng chức năng của ứng dụng để có thể sử dụngtrong ứng dụng khác
1.14 Propeties windows ( cửa sổ thuộc tính )
Là nơi chứa danh sách các thuộc tính của một đối tượng cụ thể Cácthuộc tính này có thể khác nhau với từng đối tượng cụ thể Ta có thể đặt cácthuộc tính cho phù hợp với các chương trình ứng dụng
2 Lập trình với ngôn ngữ Visual Basic
Ở phần một, chúng ta mới chỉ biết tuỳ biến biểu mẫu bằng cách bổxung các điều khiển vào cho phù hợp với yêu cầu của chương trình Tuynhiên, đó chỉ có thể coi là bộ mặt của chương trình Muốn chương trình chạyđược thì chúng ta phải thêm vào các thành phần khác như lệnh, dữ liệu vàcách thức thể hiển chúng trong chương trình
Khi lập trình trong Visual Basic thì phần lớn các mã được xử lý đểđáp ứng sự kiện Ví dụ như sự kiện kích chuột, bấm phím, load form…Cácdòng mã thi hành trong một chương trình Visual Basic phải nằm trong các
Trang 8thủ tục hoặc hàm, các dòng lệnh nằm ngoài sẽ không làm việc Toàn bộ mãlệnh được gõ vào trong cửa sổ code.
2.1 Cửa sổ code
Cửa số code bao gồm các thành phần sau:
Thanh tách: cửa sổ code có một thanh tách (Split bar) nằm đầu thanh
cuộn dọc Mục đích của nó là: khi các dòng mã trở nên nhiều, ta có thể chiacửa sổ code thành 2 phần
Hộp liệt kê Object: nằm ở đầu cửa sổ code bên trái, nó liệt kê tất cả
các điều khiển có trên biểu mẫu và thêm vào một đối tượng có tên là:General Khi thả hộp liệt kê và nhắp vào một đối tượng nào đó thì sẽ đưa tađến phần mã viết cho đối tượng đó
Hộp Procedure: hộp này cung cấp mọi sự kiện mà đối tượng đã được
lựa chọn trong hộp liệt kê object
- List properties/Methods: tính năng này đưa ra một danh sách cáctính chất và phương pháp của đối tượng ngay khi ta gõ dấu chấm
- Available constant : tính năng này cung cấp một danh sách các hằngsẵn có
2.3 Biến
Trong Visual Basic, tên biến có thể dài tối đa 255 kí tự Kí tự đầu tiênphải là một chữ cái và tên biến có thể là một tổ hợp chữ cái, chữ số và dấu
Trang 9gạch dưới Không được dùng các từ khoá trong Visual Basic ( như end,print .) làm tên biến Visual Basic không phân biệt chữ hoa, chữ thường
Cách khai báo biến: Dim <Tên biến> as <Kiểu biến>
Phạm vi sử dụng biến phụ thuộc vào cách khai báo biến và vị trí đặtdòng lênh khai báo
- Single precision: các số có phần thập phân gồm: Single precision có
độ chính xác đến 7 chữ số và double precision có độ chính xác lên đến 16 vịtrí
- Currency: Biến tiền tệ là một kiểu mới Kiểu này cho ta 15 chữ số
trước dấu thập phân và 4 chữ số sau dấu thập phân
- Date: kiểu dữ liệu ngày tháng
- Byte: kiểu byte có thể lưu giữ các số nguyên từ 0 đến 255.
- Boolean: đây là kiểu logic với các giá trị True/False.
- Variant: kiểu này được thiết kế để lưu mọi dữ liệu khác nhau của
Visual Basic
2.5 Các toán tử:
2.5.1 Các toán tử tính toán
Trang 102.5.2 Các toán tử so sánh:
Toá
n tử
Ý nghĩa
> So sánh xem số thứ nhất có lớn hơn số thứ 2 không
< So sánh xem số thứ nhất có nhỏ hơn số thứ 2 không
= So sánh số thứ nhất có bằng số thứ 2 không
<> So sánh số thứ nhất có khác số thứ 2 không
>= So sánh số thứ nhất có lớn hơn hay bằng số thứ 2 không
<= So sánh số thứ nhất có nhỏ hơn hay bằng số thứ 2 không2.5.3 Các toán tử Boolean
And Chỉ nhận giá trị True nếu cả 2 số hạng đều là True
Or Chỉ nhận giá trị False nếu cả 2 số hạng đều là False
Not Phủ định giá trị của số hạng
2.6 Cấu trúc điều khiển
2.6.1 Các cấu trúc chọn:
2.6.1.1 Cấu trúc If….Then…
Dạng 1: If <Biểu thức logic> then < lệnh> End If
Trang 11Khi gặp một điều lệnh If… then, Visual Basic sẽ kiểm tra <Biểu thứclogic>, nếu là True thì máy sẽ thực hiện <lệnh> nếu kêt quả là False thì máy
sẽ bỏ qua lệnh và thực hiện những lệnh sau End If
Dạng 2: If <Biểu thức logic> then <lệnh 1> else <lệnh 2>
Khi gặp lệnh này, nếu <Biểu thức logic> lấy giá trị True thì thực hiện
< lệnh 1> bỏ qua <lệnh 2>, còn nếu <Biểu thức logic> lấy giá trị False thì bỏqua <lệnh 1> và thực hiện <lệnh 2>
Nhiều khi bạn phải thực hiện nhiều lệnh ứng với điều kiện là True hayFalse Để làm được điều đó, ta sử dụng dạng khác của cấu trúc If … then,
có dạng tổng quát như sau:
If <Biểu thức điều kiện> then
Trang 12While <Biểu thức điều kiện>
<Các câu lệnh> được thực hiện lặp đi lặp lại nếu <Biểu thức điềukiện> vẫn nhận giá trị True Do đó, để thoát khỏi vòng lặp thì trong <Cáccâu lệnh phải có lệnh thay đổi gia trị của <Biểu thức điều kiện> Trong cúpháp 1, thì <Biều thức điều kiện> được xét trước khi thực hiện các câu lệnh,còn trong cú pháp 2 thì các câu lệnh được thực hiện trước khi xét đến <Biểuthức điều kiện>
2.6.2.2 Cấu trúc For …Next
Trang 13tăng <biến> lên một giá trị tuỳ theo <bước nhẩy> Vòng lặp này sẽ kết thúckhi <biến> có giá trị lớn hơn <giá trị cuối>
2.2.1 Cấu trúc For Each….Next
Trong Visual Basic, một thủ tục mà trước khi ta muốn sử dụng nó thì
ta phải định nghĩa nó và ta phải dùng từ khoá “Sub” để khai báo nó
Private/Public Sub <Tên thủ tục>
Giá trị được truyền cho thủ tục thông qua tham số Một thủ tục có thể
có hoặc không có tham số Khi gọi một thủ tục có tham số, ta phải truyền giátrị cho tham số của thủ tục đó Trong Visual Basic, có 2 cách để truyền thám
số : By Ref ( truyền tham chiếu) và By Val ( truyền tham trị )
Private/Public Sub <Tên thủ tục> (<Tham số1> as <Kiểu>, <Tham
số 2> as <Kiểu 2>, v.v…)
<Các câu lệnh>
End Sub
Trang 142.8 Hiển thị và nhận thông tin
Ta sử dụng các hộp đối thoại để hiển thị thông tin cho người dùnghoặc nhận thông tin Trong Visual Basic có 4 hộp thoại, đó là:
2.8.1 Thông điệp: (MesageBox)
Là một hộp thoại đơn giản nhất, gồm 2 loại:
- Chỉ cung cấp thông tin
- Tương tác với người sử dụng
2.8.2 Hộp nhập (InputBox)
InputBox dùng để nhập thông tin từ người dùng, nó bao gồm mộtdòng thông báo, hộp soạn thảo và 2 nút “OK” và “Cancel” Nó có mặt hạnchế là chỉ cho người sử dụng nhập rất ít thông tin
2.8.3 Các hộp thoại thông dụng
Bởi hộp thoại này xuất hiện mọi nơi, nên thay vì phải viết chươngtrình nhiều lần, Windows chứa chúng trong cùng một DLL, Comdlg32.dllhay Comdlg.ocx
Có 6 hộp thoại:
- Mở tập tin (File Open)
- Lưu tập tin (File save)
- Chọn mầu (Color)
- Chọn phông (Font)
- Trợ giúp (Help)
- In ấn (Print)
2.8.4 Hộp thoại hiệu chỉnh (Custom Dialog)
Đây là loại hộp đối thoại do người lập trình định nghĩa để tương thíchvới yêu cầu nhận thông tin của người sử dụng Nó có ưu điểm là ta có thểthiết kế theo ý thích Trở ngại của nó là khi thi hành từng biểu mẫu thì sẽ sửdụng tài nguyên hệ thống như bộ nhớ, thời gian CPU Nếu dùng nhiều hộp
Trang 15thoại hiệu chỉnh trong ứng dụng có thể mất tài nguyên hệ thống và dễ bị treomáy.
Trang 16PHẦN II: PHẦN MỀM QUẢN LÝ TÀI SẢN CỐ ĐỊNH
1 Mục đích và nhu cầu thực tế của phần mềm
Việc quản lý tài sản cố định đang sử dụng trong các cơ quan hànhchính là một hoạt động quan trọng trong các hoạt động của nhà nước Chính
vì vậy, hàng năm, nhà nước ta đều tiến hành công việc kiểm kê các tài sảnnày, để nắm được số lượng, chất lượng, hiện trạng sử dụng Từ đó đưa ra các
số liệu thống kê nhằm sử dụng tài sản cố định một cách hiệu quả, giảm thiểucác chi phí, thất thoát
Nếu như thực hiện công việc này theo cách cổ điển bằng giấy tờ, sổsách thì sẽ cần đến rất nhiều nhân lực, vật lực cho việc nhập số liệu, tínhtoán, lưu giữ chứng từ Và cho dù có đầy đủ nhân lực, vật lực, thì công việctrên sẽ tiêu tốn một thời gian rất lớn Khi có nhu cầu tìm kiếm, thống kê, takhông thể tìm kiếm nhanh chóng trong một đống giấy tờ Trong khi đấy, tavẫn không đảm bảo là tránh được các sai sót
Vì vậy, việc áp dụng công nghệ thông tin vào công việc trên là điềutất yếu Khi phần mềm “Quản lý tài sản cố định ra đời” sẽ khắc phục đượccác nhược điểm của cách làm việc cổ điển Đó là:
- Giảm thiểu nhân lực, vật lực, thời gian cho việc thống kê, quản lý tàisản
- Tránh được các sai sót do con người gây ra
- Đưa ra các số liệu tìm kiếm, thống kê trong thời gian nhanh nhất
2 Các chức năng chính của Phần mềm Quản lý TSCĐ
Phần mềm có các chức năng chính sau:
- Quản lý quyền truy cập
- Quản lý các đơn vị hành chính (về mặt tài sản)
- Quản lý các tài sản cố định
- Quản lý các giao dịch
Trang 17- Tìm kiếm, thống kê.
- In báo cáo theo mẫu của Bộ tài chính
Sơ đồ chức năng:
2.1 Quản lý quyền truy cập.
Vì chương trình Quản lý TSCĐ phục vụ cho việc quản lý, thống kê tàisản cố định do các cơ quan, đơn vị nhà nước sử dụng, nên bảo mật dữ liệu làmột công tác vô cùng quan trọng Сhức năng quản lý quyền truy cập củahức năng quản lý quyền truy cập củanhững người được phép sử dụng chương trình có thể, cho phép, hạn chế,hoặc không cho phép sử dụng các chức năng của chương trình Ta có thểchia những người được phép sử dụng chương trình thành 3 nhóm chính:
người quản trị, người sử dụng cấp cao và người sử dụng thông thường
Người sử dụng thông thường: là nhóm người có quyền thấp nhất.Những người thuộc nhóm này chỉ có quyền được xem các dữ liệu củachương trình
Người sử dụng cấp cao: là nhóm người có quyền như người sửdụng thông thường nhưng được phép nhập, chỉnh sửa dữ liệu
Trang 18 Người quản trị: Đây là nhóm người có quyền cao nhất Ngoài cácquyền của nhóm người sử dụng cấp cao, nhóm này còn được phép quản lýcác nhóm người khác (Như được phép thêm, xoá, sửa chữa dữ liệu của cácngười dùng.)
2.2 Quản lý đơn vị hành chính
Các đơn vị hành chính ở đây chính là các đơn vị đang quản lý, sửdụng các tài sản cố định của nhà nước Việc quản lý này được tiến hành theonghành dọc Chức năng này cho phép nắm được các thông tin của từng đơn
vị, như tên, địa chỉ, số điện thoại… của tưng đơn vị
2.4 Quản lý Giao dịch
Chức năng Quản lý giao dịch cho phép ta quản lý được việc mua, báncác tài sản giữa các đơn vị hành chính với nhau cũng như giữa các đơn vịhành chính và các đơn vị, công ty khác Cho phép ta nắm được các tài sảnthanh lý, huỷ…
Trang 192.6 In báo cáo theo mẫu của Bộ Tài Chính.
Chức năng này cho phép in ra các báo cáo theo mẫu của Bộ TàiChính
3 Cơ sở dữ liệu
Mô hình quan hệ trong cơ sở dữ liệu
3.1 Bảng tblDonvi: Lưu giữ thông tin về các đơn vị.
Trang 213.7 Bảng tblLoaiTS_Detail
3.8 Bảng tblLoaiTS_Master
3.9 Bảng tblNhom
3.10 Bảng tblPhieu
Trang 223.11 Bảng tblSe_Group
3.12 Bảng tblTongHopDat_Detail
3.13 Bảng tblTongHopDat_Master
Trang 233.14 Bảng tblTongHopTSCD_KLD_Detail
3.15 Bảng tblTongHopTSCD_KLD_Master
3.16 Bảng tblTonghopTSCD_KLD_Detail2
Trang 25PHẦN III: MÃ NGUỒN
Sau đây là một số Form và Modul quan trọng trong chương trình
1 Một số Form chính
1.1 Form: MDIForm
Đây là giao diện chính của chương trình:
Public BExit As Boolean
Private Sub MDIForm_Load()
Path = App.Path & "\csdl.mdb"
Me.Icon = LoadResPicture(1, vbResIcon)
Trang 28On Error GoTo ErrHandler
' Set the Flags property
Dialog.Flags = cdlCFBoth Or cdlCFEffects
' Display the Font dialog box
Trang 29End If
For Each f In Forms
If f.Name <> "frmMDI" Then
For Each a In f.Controls
Trang 30Private Sub mnuKLD_Click()
For Each f In Forms
If f.Name <> "frmMDI" Then Set_Skin f
Trang 31Private Sub mnuStatus_Click()
StatusBar.Visible = Not StatusBar.Visible
mnuStatus.Checked = Not mnuStatus.Checked
For Each ctl In Me.Controls
If TypeOf ctl Is Menu Then
Trang 32For Each ctl In Me.Controls
If TypeOf ctl Is Menu Then
Trang 33Private Sub mnuThoat_Click()
If MMsgbox("B¹n thùc sù muèn tho¸t khái ch¬ng tr×nh ?",
vbYesNo, "Tho¸t ch¬ng tr×nh !!!") = vbYes Then
Trang 34Private Sub mnuToolbar_Click()
mnuToolbar.Checked = Not mnuToolbar.Checked
Trang 35Toolbar.Visible = Not Toolbar.Visible
For Each f In Forms
If f.Caption = mnuSep10(Index).Caption And f.Caption <> "" Then
Trang 36Private Sub amnuWin_Click(Index As Integer)
For Each f In Forms
If f.Caption = mnuSep10(i).Caption Then Child_Center f
Private Sub Timer1_Timer()
Dim mnu As Control
On Error GoTo Ehandle
If none <> 0 Then
frmLogin.Show vbModal
Else
For Each mnu In frmMDI.Controls
If TypeOf mnu Is Menu Then mnu.Visible = False
Next
MMsgbox "Hãy tạo ngời sử dụng mới để đăng nhập hệ thống", vbOKOnly, "Bạn là ngời đầu tiên sử dụng chơng trình"
Trang 37Select Case Button.key
Case "ChonDV": mnuChonDV_Click
Case "Thongke": mnuThongke_Click
Case "Timkiem": mnuTimDV_Click
Case "Baocao": frmBaocao.Show
Case "Taisan": mnuDat_Click
End Select
'Button.Value = tbrPressed
End If
End Sub
Trang 38Dim root As String
Dim code As String
Dim nname As String
Dim DV As String
Dim Ma As String
Dim rsDat As ADODB.Recordset
Dim rsKDat As ADODB.Recordset
Trang 39Dim qryDat As String
Dim qryKDat As String
Dim i As Integer
Private Sub Command1_Click()
Child_Unload Me
End Sub
Private Sub Form_Load()
Set rs = New ADODB.Recordset
rs.Open "SELECT tblDonVi.*, tblDonVi.CapDV From tblDonVi ORDER BY tblDonVi.CapDV;", cnn, adOpenDynamic, adLockOptimistic
qryDat = "SELECT tblTongHopDat_Master.*,
tblLoaiTS_Detail.TenTS, tblLoaiTS_master.TenloaiTS, tblDonVi.TenDV " _
& "FROM ((tblLoaiTS_Detail INNER JOIN tblLoaiTS_master ON tblLoaiTS_Detail.MaloaiTS = tblLoaiTS_master.MaloaiTS) INNER JOIN tblTongHopDat_Master ON tblLoaiTS_Detail.MaTS =
tblTongHopDat_Master.MaTS) INNER JOIN tblDonVi ON
tblDonVi.MaDV = tblTongHopTSCD_KLD_Master.MaDV) ON
tblLoaiTS_Detail.MaTS = tblTongHopTSCD_KLD_Master.MaTS;"
Trang 40Set rsDat = New ADODB.Recordset
rsDat.Open qryDat, cnn, adOpenDynamic, adLockOptimistic
Set rsKDat = New ADODB.Recordset
rsKDat.Open qryKDat, cnn, adOpenDynamic, adLockOptimistic
Private Sub MakeColumns()
' Clear the ColumnHeaders collection
List.ColumnHeaders.Clear
' Add four ColumnHeaders
'List.ColumnHeaders.Add , , "STT", 550
List.ColumnHeaders.Add , , "M· TS", 1000