Thông tin tài liệu
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUẢN LÝ VÀ KINH DOANH HÀ NỘI
KHOA TIN HỌC
Giáo viên hướng dẫn
Sinh Viên thực hiện
Mã sinh viên
Khóa
:
:
:
:
TS. Hoàng Xuân Thảo
Đỗ Đức Chung
99CV17
IV
Đề tài:
QUẢN LÝ TÀI SẢN CỐ ĐỊNH
Ngành đào tạo:
Tin học quản lý
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Mục lục
Nội dung
Phần I
1
2
Phần II
1
2
3
Phần III
1
2
Lời cảm ơn
Lời giới thiệu
Giới thiệu về ngôn ngữ Visual Basic
Các công cụ để thiết kế giao diện
Lập trình vớI ngôn ngữ Visual Basic
Phần mềm Quản lý tài sản cố định
Mục đích và nhu cầu thực tế của phần mềm
Các chức năng chính
Cơ sở dữ liệu
Mã nguồn
Một số Form chính
Một số Modul chính
Kết luận
§ç §øc Chung Tin4
Trang
3
4
5
5
8
14
14
14
16
22
22
85
92
2
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Lời Cảm ơn
Hơ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ốt nghiệ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ăm họ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…
Trước hết, tôi xin được chân thành cảm ơn Thầy giáo,
TS. Hoàng Xuân Thảo đã tận tình hướng dẫn và giúp đỡ tôi
hoàn thành đề tài luận văn tôt nghiệp.
Tôi xin được bày tỏ lòng biết ơn các thầy, cô giáo
trường Đại Học Quản lý và Kinh doanh Hà Nội, đặc biệt là
Khoa Tin Học, đã giảng dạy, truyền thụ những kiến thức quý
báu, cũng như tạo mọi điều kiệ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.
§ç §øc Chung Tin4
3
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Lờ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
doanh nghiệp tư nhân đến cơ quan nhà nước, hay các tổ
chức xã hội tất cả đều không thể không sử dụng công nghệ
thông tin để phát triển và tồn tại. Các hoạt động của nhà
nước, mà quản lý tài sản là một phần nhỏ, cũng không nằ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ác tà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ạn như: 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 cho cô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ên chắ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ôi rấ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.
§ç §øc Chung Tin4
4
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Phầ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ạy nhanh
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 Visual Basic
thành ngôn ngữ lập trình hướng đốI tượng. Visual Basic 5.0 bổ sung khả
năng tạo các điều khiển riêng. Visual Basic 6.0 có thêm nhiều chức năng
mạ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à khi thiết kế
chương trình, bạn thấy ngay được kết quả qua từng thao tác. Visual Basic
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). DLL chính
là phần mở rộng cho Visual Basic, tức là khi xây dựng một chương trình
có một số yêu cầu mà Visual Basic không đáp ứng đầy đủ ta có thể viết
cá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ệc
tiến hành đưa các đốI tượng cần thiết trong thanh công cụ vào Form bằng
cá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ùng Form
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 ứng
dụ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 giao
tiếp cho ứng dụng. Form chính là giao diện chính của ứng dụng, các Form
khác có thể chứa các công cụ để nhập dữ liệu, xem xét v.v…
§ç §øc Chung Tin4
5
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Trong nhiều ứng dụng của Visual Basic, kích cỡ và vị trí của biểu mẫ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 (Properties
Windows ). Thực tế, một trong tính năng thiếu của Visual Basic là khả
năng tiế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ều khiển
mà ta có thể biểu mẫu là bảng chứa các đối tượng đã được định nghĩa
sẵn của Visual Basic. Các đối tượng này được sử dụng trong Form để tạo
thà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:
• 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ười dù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ột lầ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 hay
nhiều điều kiện. Như vậy tại 1 thời điểm có thể có nhiều hộp kiểm được
chọn
1.6
Label(nhãn)
Đối tượng nhãn cho phép người dùng gắn nhãn 1 bộ phận nào đó
giao diện trong lúc thiết kế giao diện cho chương trình ứng dụng .
Các nhãn dùng để hiển thị thông tin không muốn người dùng thay
Trong thực tế, các nhãn thường được dùng để định danh 1 hộp văn
hoặc 1 điều khiển khác bằng việc mô tả nội dung của điều khiển đó.
công cụ phổ biến cho việc hiển thị thông tin trợ giúp,
§ç §øc Chung Tin4
của
đổi.
bản
Một
6
Qu¶n lý tµi s¶n cè ®Þnh
1.7
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
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ép ngườ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ác chuỗi ký
tự vào Form. Có thể dùng hộp văn bản để nhập dữ liệu hoặc hiển thị 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
1.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ện
kí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ển thị
thông tin dưới dạng danh sách có liên quan với nhau. Listbox không cho
phé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ông tin .
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ó 3 loại:
- Hộp kết hợp thả xuống ( drop-down combo ) : là 1 hộp văn bản cho
phé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 1 danh 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ộp kết
hợp thả xuống. Danh sách sẽ không hiển thị sẵn nếu người dùng
không nhấ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à đánh dấu nó.
§ç §øc Chung Tin4
7
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
1.12 Ole ( đối tượng nhúng )
Ole là viết tắt của Object - Linking and Embedding . Nó cho phép ta nhú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 ứng dụ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 cho phép
đóng gói các đối tượng chức năng của ứng dụng để có thể sử dụng trong
ứng dụng khác.
1.13 Project explorer
Project explorer trong Visual Basic 6.0 giúp quản lý và định hướng các đề
án, biểu mẫu, các module,…. Visual Basic cho phép tổ chức nhiều đề án
trong 1 nhóm gọi là project groups. Ta có thể lưu tập hợp các đề án trong
Visual Basic thành 1 tập tin nhóm đề án. Các tập tin này có phần mở rộng
là .Vbg .
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ác
thuộc tính này có thể khác nhau với từng đối tượng cụ thể. Ta có thể đặt
các thuộ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. Tuy nhiê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ác dòng
mã thi hành trong một chương trình Visual Basic phải nằm trong các thủ
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ể
chia cửa sổ code thành 2 phần.
§ç §øc Chung Tin4
8
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
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.
2.2
Intellisence:
Intellisence là một công cụ thông minh, nó giúp ta đỡ mất công gõ và tra
cứu. Intellisence mở các hộp liệt kê cùng với các thông tin về đối tượng
mà ta đang tiếp cận. Nó có 3 phần:
- QuickInfo: cho ta thông tin về cú pháp của 1 lệnh Visual Basic. Mỗi khi
nhập một từ khoá theo sau là một dấu cách hoặc dấu chấm. . .một hộp
thoại sẽ hiện ra cung cấp cú pháp của thành phần đó.
- List properties/Methods: tính năng này đưa ra một danh sách các tí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ằng
sẵ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ên phả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
gạ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 as
Phạm vi sử dụng biến phụ thuộc vào cách khai báo biến và vị trí đặt dòng
lênh khai báo.
2.4
-
Các kiểu dữ liệu:
String: các biến string lưu giữ các kí tự. Một chuỗi có thể có một hay
nhiều kí tự.
Integer: biến nguyên lưu giữ các giá trị số nguyên từ -32768 đến
+32767.
Long Integer: biến số nguyên dài lưu giữ các số nguyên giữa:
-2147483648 đến +214783647.
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í.
§ç §øc Chung Tin4
9
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
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
Các toán
tử
+
*
/
\
Mod
^
Ý nghĩa
Ví dụ
Có thể dùng để cộng hai toán hạng X=y+1
hoặc hai chuỗi với nhau.
A=”A”+”B”
trừ 2 số hạng
X=y-1
Nhân 2 số hạng
X=y*2
Chia, trả về kiểu số thực
Y=4/2
Chia lấy nguyên
X=3\2(x=1)
Chia lấy dư
X=7 mod 4 (x=3)
Lấy luỹ thừa
X=y^3 (X=y3)
2.5.2 Các toán tử so sánh:
Toán tử
>
<
=
>=
End If
Khi gặp một điều lệnh If…..then, Visual Basic sẽ kiểm tra , nếu là True thì máy sẽ thực hiện 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 then else
Khi gặp lệnh này, nếu lấy giá trị True thì thực hiện < lệnh
1> bỏ qua , còn nếu lấy giá trị False thì bỏ qua
và thực hiện .
Nhiều khi bạn phải thực hiện nhiều lệnh ứng với điều kiện là True hay
False. Để 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 then
else
end if
2.6.1.2
Cấu trúc Select Case:
Cú pháp:
Select case
Case
…………………
Case
……………..
Case else
End Select
2.6.2 Cấu trúc lặp
2.6.2.1
Cấu trúc lặp có điều kiện
Cú pháp 1:
While < Biểu thức điều kiện>
Wend
Cú pháp 2:
§ç §øc Chung Tin4
11
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Do
While
được thực hiện lặp đi lặp lại nếu
vẫn nhận giá trị True. Do đó, để thoát khỏi vòng lặp thì trong 14 Then frmMDI.Dialog.FontSize = 14
If frmMDI.Dialog.FontName "" Then
Default.Name = frmMDI.Dialog.FontName
Default.Bold = frmMDI.Dialog.FontBold
Default.Italic = frmMDI.Dialog.FontItalic
Default.Size = frmMDI.Dialog.FontSize
End If
For Each f In Forms
If f.Name "frmMDI" Then
For Each a In f.Controls
Set_Child_font f, a
Next
End If
Next
ErrHandler:
' User pressed Cancel button.
Resume Next
§ç §øc Chung Tin4
24
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
End Sub
Private Sub mnuGiaodich_Click()
'Call CloseActiveForm("frmGiaodich")
frmGiaoDich.Show
End Sub
Private Sub mnuKK1_Click()
Report1
End Sub
Private Sub mnuHaomon_Click()
frmHaoMon.Show
End Sub
Private Sub mnuHuongDan_Click()
HH_DISPLAY_Click
HH_HELP_Click
End Sub
Private Sub mnuKLD_Click()
'Call CloseActiveForm("frmNhapDS")
frmNhapDS.Show
frmNhapDS.SSTab1.Tab = 1
End Sub
Private Sub mnuLoai_Click()
'Call CloseActiveForm("frmNhapTS")
frmChonTS.Show
End Sub
Private Sub mnuLogOn_Click()
frmLogin.Show vbModal
End Sub
Private Sub mnuLogOut_Click()
'CloseActiveForm Me.Name
GroupCode = 0
Set_Menu
End Sub
Private Sub SkinChange()
Dim f As Form
For Each f In Forms
If f.Name "frmMDI" Then Set_Skin f
Next
End Sub
§ç §øc Chung Tin4
25
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Private Sub mnuskin1_Click()
mnuskin1.Checked = True
mnuSkin2.Checked = False
mnuSkin3.Checked = False
Skin = 0
SkinChange
End Sub
Private Sub mnuSkin2_Click()
mnuSkin2.Checked = True
mnuskin1.Checked = False
mnuSkin3.Checked = False
Skin = 1
SkinChange
End Sub
Private Sub mnuSkin3_Click()
mnuSkin3.Checked = True
mnuSkin2.Checked = False
mnuskin1.Checked = False
Skin = 2
SkinChange
End Sub
Private Sub mnuStatus_Click()
StatusBar.Visible = Not StatusBar.Visible
mnuStatus.Checked = Not mnuStatus.Checked
End Sub
Private Sub mnThanhmenu_Click()
Dim ctl As Control
On Error GoTo a
If mnuThanhmenu.Checked Then
For Each ctl In Me.Controls
If TypeOf ctl Is Menu Then
ctl.Visible = False
End If
Next
mnuThanhmenu.Checked = False
Else
For Each ctl In Me.Controls
If TypeOf ctl Is Menu Then
ctl.Visible = True
End If
§ç §øc Chung Tin4
26
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Next
mnuThanhmenu.Checked = True
End If
a: Resume Next
End Sub
Private Sub mnuTH3A_Click()
Report6
mnuTH3B.Checked = False
mnuBC1B.Checked = False
mnuBC2.Checked = False
mnuBC1A.Checked = False
mnuTH4.Checked = False
mnuTH3A.Checked = True
End Sub
Private Sub mnuTH3B_Click()
Report5
mnuTH3B.Checked = True
mnuBC1B.Checked = False
mnuBC2.Checked = False
mnuBC1A.Checked = False
mnuTH4.Checked = False
mnuTH3A.Checked = False
End Sub
Private Sub mnuTH4_Click()
Report2
mnuTH3B.Checked = False
mnuBC1B.Checked = False
mnuBC2.Checked = False
mnuBC1A.Checked = False
mnuTH4.Checked = True
mnuTH3A.Checked = False
End Sub
Private 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
BExit = True
CloseActiveForm ("frmMDI")
Unload Me
End If
End Sub
§ç §øc Chung Tin4
27
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Private Sub mnuThongke_Click()
frmThongKeDV.Show
End Sub
Private Sub mnuTimDV_Click()
'Call CloseActiveForm("frmTimkiem")
frmTimKiem.Show
frmTimKiem.SSTab1.Tab = 0
End Sub
Private Sub mnuTimGD_Click()
frmTimKiemGD.Show
End Sub
Private Sub mnuTimPhieu_Click()
'Call CloseActiveForm("frmTimkiem")
frmTimKiem.Show
frmTimKiem.SSTab1.Tab = 2
End Sub
Private Sub mnuTimTS_Click()
'Call CloseActiveForm("frmTimkiem")
frmTimKiem.Show
frmTimKiem.SSTab1.Tab = 1
End Sub
Private Sub mnuTKBD_Click()
'Call CloseActiveForm("frmThongKeKQ")
frmDothi.Show
End Sub
Private Sub mnuTKSL_Click()
'Call CloseActiveForm("frmThongKeKQ")
frmThongKeKQ.Show
'frmThongKeKQ.SSTab1.Tab = 0
End Sub
Private Sub mnuToolbar_Click()
mnuToolbar.Checked = Not mnuToolbar.Checked
Toolbar.Visible = Not Toolbar.Visible
End Sub
§ç §øc Chung Tin4
28
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Public Sub amnuSep10_Click(Index As Integer)
On Error GoTo a
Dim i As Integer
Dim f As Form
If mnuSep10.UBound > 0 Then
For i = 1 To mnuSep10.UBound
If mnuSep10(i).Checked And i Index Then disp(Index) = i
mnuSep10(i).Checked = False
Next
mnuSep10(Index).Checked = True
For Each f In Forms
If f.Caption = mnuSep10(Index).Caption And f.Caption "" Then
f.Show
f.SetFocus
End If
Next
End If
a: Resume Next
End Sub
Private Sub mnuTreeView_Click()
'Call CloseActiveForm("frmTreeView")
frmTreeView.Show
End Sub
Private Sub amnuWin_Click(Index As Integer)
Dim i As Integer
Dim f As Form
For i = 1 To 4
mnuWin(i).Checked = False
Next
Select Case Index
Case 4: ' Center
For i = 1 To mnuSep10.UBound
For Each f In Forms
If f.Caption = mnuSep10(i).Caption Then Child_Center f
Next
Next
End Select
mnuWin(Index).Checked = True
End Sub
Private Sub Timer1_Timer()
Dim mnu As Control
On Error GoTo Ehandle
§ç §øc Chung Tin4
29
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
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"
frmAddUser.Show
End If
Timer1.Interval = 0
Ehandle:
Resume Next
End Sub
Private Sub Timer2_Timer()
HienDV
End Sub
Private Sub Toolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim i As Integer
If Button.Value = tbrUnpressed Then
For i = 1 To Me.Toolbar.buttons.Count
Me.Toolbar.buttons(i).Value = tbrUnpressed
Next
Select 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
1.2
Form : frmTreeview
§ç §øc Chung Tin4
30
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Option Explicit
Dim NodX As Node
Dim Li As ListItem
Dim rs As ADODB.Recordset
Dim 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
Dim 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
§ç §øc Chung Tin4
31
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
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
tblTongHopDat_Master.MaDV = tblDonVi.MaDV;"
qryKDat = "SELECT tblLoaiTS_Detail.TenTS, tblLoaiTS_master.TenloaiTS,
tblDonVi.TenDV, tblTongHopTSCD_KLD_Master.* " _
& "FROM (tblLoaiTS_Detail INNER JOIN tblLoaiTS_master ON
tblLoaiTS_Detail.MaloaiTS = tblLoaiTS_master.MaloaiTS) INNER JOIN (tblDonVi
INNER JOIN tblTongHopTSCD_KLD_Master ON tblDonVi.MaDV =
tblTongHopTSCD_KLD_Master.MaDV) ON tblLoaiTS_Detail.MaTS =
tblTongHopTSCD_KLD_Master.MaTS;"
Set rsDat = New ADODB.Recordset
rsDat.Open qryDat, cnn, adOpenDynamic, adLockOptimistic
Set rsKDat = New ADODB.Recordset
rsKDat.Open qryKDat, cnn, adOpenDynamic, adLockOptimistic
rs.MoveFirst
Set NodX = Tree.Nodes.Add(, , rs!MaDV, rs!TenDV)
rs.MoveNext
While Not rs.EOF
root = rs!DonViCT
code = rs!MaDV
nname = rs!TenDV
Set NodX = Tree.Nodes.Add(root, tvwChild, code, nname)
rs.MoveNext
Wend
Call MakeColumns
Child_Load Me
End Sub
Private Sub MakeColumns()
' Clear the ColumnHeaders collection.
List.ColumnHeaders.Clear
' Add four ColumnHeaders.
'List.ColumnHeaders.Add , , "STT", 550
List.ColumnHeaders.Add , , "M· TS", 1000
List.ColumnHeaders.Add , , "Tªn TS", 3000
List.ColumnHeaders.Add , , "Lo¹i TS", 2000
'List.ColumnHeaders.Add , , "Nhãm ", 2000
' Set the EventFlag variable so this doesn't get done again and again.
§ç §øc Chung Tin4
32
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
End Sub
Private Sub AddListItem(ByRef xItem As ListItem, ByRef xRec As
ADODB.Recordset, i As Integer)
' Add a ListItem setting its text, icon and small icon. Then
' add three ListSubItems setting the Key and Text of each.
Set xItem = List.ListItems.Add
xItem.Text = xRec!MaTS
'xItem.ListSubItems.Add key:="Ma TS", Text:=xRec!MaTS
xItem.ListSubItems.Add key:="Tªn TS", Text:=xRec!TenTS
xItem.ListSubItems.Add key:="Lo¹i TS", Text:=xRec!TenloaiTS
'xItem.ListSubItems.Add key:="Nhãm", Text:=xRec!Tennhom
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, Y
As Single)
Mre Me
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = 0 Then Child_Unload Me
End Sub
Private Sub List_ColumnClick(ByVal ColumnHeader As ColumnHeader)
If List.SortOrder = 0 Then List.SortOrder = 1 Else List.SortOrder = 0
List.SortKey = ColumnHeader.Index - 1
' Set Sorted to True to sort the list.
List.Sorted = True
End Sub
Private Sub Mybutton1_Click()
Command1_Click
End Sub
Private Sub Timer1_Timer()
If DV Tree.SelectedItem Then
i=0
DV = Tree.SelectedItem
List.ListItems.Clear
If Not (rsDat.BOF And rsDat.EOF) Then rsDat.MoveFirst
If Not (rsKDat.BOF And rsKDat.EOF) Then rsKDat.MoveFirst
While Not rsDat.EOF
If rsDat!TenDV = DV Then
Ma = rsDat!MaDV
i=i+1
AddListItem Li, rsDat, i
§ç §øc Chung Tin4
33
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
End If
rsDat.MoveNext
Wend
While Not rsKDat.EOF
If rsKDat!TenDV = DV Then
Ma = rsKDat!MaDV
i=i+1
AddListItem Li, rsKDat, i
End If
rsKDat.MoveNext
Wend
End If
End Sub
Private Sub Tree_MouseDown(Button As Integer, Shift As Integer, x As Single, Y
As Single)
Dim Node As MSComctlLib.Node
If Button = 2 Then
Button = 1
frmPopUpMenu.SetDV DV, Ma
Me.PopupMenu frmPopUpMenu.mnuDonvi
End If
End Sub
1.3
Form: frmNhapDat
§ç §øc Chung Tin4
34
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Dim sD As String
Dim rsPh As ADODB.Recordset
Dim rsDat As ADODB.Recordset
Dim rsDat0 As ADODB.Recordset
Dim AddFlag As Boolean
Dim rsDV As ADODB.Recordset
Dim rsTS As ADODB.Recordset
Dim rsNhom As ADODB.Recordset
Dim Dongia(100) As String
Dim MaNhom(100) As String
Dim nhom As String
Private Sub cboNhomDat_Click()
If Dat = 0 Then
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End If
End Sub
Private Sub cboNhomDat_GotFocus()
CEmpty txtDiachi
§ç §øc Chung Tin4
35
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
If cboNhomDat.ListIndex = -1 Then cboNhomDat.ListIndex = 0
Hien " Chän nhãm ®Êt t¬ng øng cho tµi s¶n ®Êt"
End Sub
Private Sub cmdGhiDL_Click()
If Dat = 1 Then
rsTS.AddNew
rsPh.AddNew
rsDat.AddNew
rsDat0.AddNew
End If
'rsPh!MaPhieu = txtMaphieu.Text
rsDat0!MaDV = MaDV
rsDat!diachits = txtDiachi.Text
rsPh!NgayLP = txtNgayLP.Text
rsPh!TenNLP = txtTenNLP.Text
rsDat!DientichKT = Val(txtDienTichTKT.Text)
rsDat!DientichTT = Val(txtDientichTTT.Text)
rsDat!GiatriTT = Val(txtGiaTriTT.Text)
rsDat!GiayCN = Val(txtGiayCN.Text)
rsDat!KoGiayCN = Val(txtKoGiayCN.Text)
rsDat!ChiphiKT = Val(txtChiphiKT.Text)
rsDat!Tang = Val(txtTang.Text)
rsDat!Giam = Val(txtGiam.Text)
rsDat!CSD = Val(txtCSD.Text)
rsDat!Thue = Val(txtThue.Text)
rsDat!Chia = Val(txtChia.Text)
rsDat!Xaydungnha = Val(txtXaydungnha.Text)
rsDat!Sudung = Val(txtSudung.Text)
rsDat!Dichvu = Val(txtDichvu.Text)
rsDat!MDC = Val(txtMDC.Text)
rsDat!SDMDK = Val(txtSDMDK.Text)
rsDat!GiatriCN = Val(txtGiatriCN.Text)
rsDat!GiatriCCN = Val(txtGiatriCCN.Text)
rsTS!TenTS = txtTenTS.Text
If Dat = 1 Then
CodeTS(1) = TangCode(CodeTS(1), 4)
CodeP = TangCode(CodeP, 5)
rsDat0!MaTS = CodeTS(1)
rsDat0.Update
rsTS!MaloaiTS = "001"
rsPh!Maphieu = CodeP
rsDat0!Maphieu = rsPh!Maphieu
§ç §øc Chung Tin4
36
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
rsTS!MaTS = rsDat0!MaTS
rsDat0.Update
End If
rsPh.Update
rsTS!MaNhom = MaNhom(cboNhomDat.ListIndex)
rsDat!STT = rsDat0!STT
rsDat.Update
rsTS.Update
cmdNhapMoi.Enabled = True
Mybutton3.Enabled = True
Mybutton3.Refresh
Dat = 0
Set_Code
End Sub
Private Sub cmdNhaplai_Click()
Dim c As Control
If Dat = 1 Then
For Each c In Me.Controls
If TypeOf c Is TextBox And c.Name txtTenDV And c.Name
txtMaphieu Then
c.Text = ""
End If
Next
End If
If Dat = 0 Then Form_Load
End Sub
Private Sub cmdNhapMoi_Click()
Dim c As Control
For Each c In Me.Controls
If TypeOf c Is TextBox And c.Name "txtTenDV" And c.Name
"txtMaphieu" Then
c.Text = ""
End If
Next
Dat = 1
Form_Load
If SSTab1.Tab = 1 Then SSTab1.Tab = 0
AddFlag = True
End Sub
§ç §øc Chung Tin4
37
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Private Sub cmdThoat_Click()
Child_Unload frmNhapDat
frmNhapDS.SSTab1.Tab = 0
frmNhapDS.Show
End Sub
Private Sub Form_Load()
Child_Load Me
Set rsPh = New ADODB.Recordset
rsPh.Open "Select * from tblPhieu", cnn, adOpenDynamic, adLockOptimistic
Set rsDat0 = New ADODB.Recordset
rsDat0.Open "select * from tblTongHopDat_Master", cnn, adOpenDynamic,
adLockOptimistic
Set rsDat = New ADODB.Recordset
rsDat.Open "Select * from tblTongHopDat_Detail", cnn, adOpenDynamic,
adLockOptimistic
Set rsTS = New ADODB.Recordset
rsTS.Open "tblLoaiTS_Detail", cnn, adOpenDynamic, adLockOptimistic
Set rsDV = New ADODB.Recordset
rsDV.Open "tblDonVi", cnn, adOpenDynamic, adLockOptimistic
Set rsNhom = New ADODB.Recordset
rsNhom.Open "Select * from tblNhom", cnn, adOpenDynamic, adLockOptimistic
If Dat = 0 Then
rsDat0.MoveFirst
rsDat.MoveFirst
While rsDat0!MaTS MaTS
rsDat.MoveNext
rsDat0.MoveNext
Wend
rsTS.MoveFirst
While rsTS!MaTS MaTS
rsTS.MoveNext
Wend
Set rsPh = New ADODB.Recordset
rsPh.Open "Select * from tblPhieu where tblPhieu!MaPhieu ='" & rsDat0!
Maphieu & "' ;", cnn, adOpenDynamic, adLockOptimistic
Set rsNhom = New ADODB.Recordset
rsNhom.Open "Select * from tblNhom where tblNhom!Manhom ='" & rsTS!
MaNhom & "' ;", cnn, adOpenDynamic, adLockOptimistic
txtDiachi.Text = rsDat!diachits
txtNgayLP.Text = Format(rsPh!NgayLP, "dd/mm/yyyy")
txtTenNLP.Text = rsPh!TenNLP
txtDienTichTKT.Text = rsDat!DientichKT
txtDientichTTT.Text = rsDat!DientichTT
txtGiaTriTT.Text = rsDat!GiatriTT
§ç §øc Chung Tin4
38
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
txtGiayCN.Text = rsDat!GiayCN
txtKoGiayCN.Text = rsDat!KoGiayCN
txtChiphiKT.Text = rsDat!ChiphiKT
txtTang.Text = rsDat!Tang
txtGiam.Text = rsDat!Giam
txtCSD.Text = rsDat!CSD
txtXaydungnha.Text = rsDat!Xaydungnha
txtMDC.Text = rsDat!MDC
txtSDMDK.Text = rsDat!SDMDK
txtDichvu.Text = rsDat!Dichvu
txtThue.Text = rsDat!Thue
txtChia.Text = rsDat!Chia
txtGiatriCN.Text = rsDat!GiatriCN
txtGiatriCCN.Text = rsDat!GiatriCCN
txtTenTS = rsTS!TenTS
txtSudung.Text = rsDat!Sudung
txtMaphieu.Text = rsPh!Maphieu
txtDongia.Text = rsNhom!Dongia
nhom = rsNhom!MaNhom
End If
Set rsNhom = New ADODB.Recordset
rsNhom.Open "Select * from tblNhom where tblnhom!MaloaiTS = '001' ;", cnn,
adOpenDynamic, adLockOptimistic
With rsDV
If .EOF And .BOF Then
.AddNew
Else
.MoveFirst
While .EOF = False
If rsDV!MaDV = MaDV Then
txtTenDV.Text = rsDV!TenDV
End If
.MoveNext
Wend
End If
End With
If Dat = 1 Then txtMaphieu = TangCode(CodeP, 5)
Dim i As Integer
cboNhomDat.Clear
i=0
With rsNhom
If Not (.EOF And .BOF) Then
.MoveFirst
While .EOF = False
cboNhomDat.AddItem !tennhom
Dongia(i) = !Dongia
§ç §øc Chung Tin4
39
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
MaNhom(i) = !MaNhom
i=i+1
.MoveNext
Wend
End If
End With
If cboNhomDat.ListCount > 0 Then
For i = 0 To cboNhomDat.ListCount - 1
If MaNhom(i) = nhom Then cboNhomDat.ListIndex = i
Next
End If
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y
As Single)
Mre Me
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = 0 Then cmdThoat_Click
End Sub
Private Sub Mybutton1_Click()
cmdGhiDL_Click
End Sub
Private Sub Mybutton2_Click()
cmdNhaplai_Click
End Sub
Private Sub Mybutton3_Click()
cmdNhapMoi_Click
End Sub
Private Sub Mybutton4_Click()
cmdThoat_Click
End Sub
Private Sub Text3_Change()
End Sub
§ç §øc Chung Tin4
40
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Private Sub Timer1_Timer()
'nut ghi du lieu
On Error Resume Next
Dim c As Control
Dim ok As Boolean
ok = True
For Each c In Me.Controls
If TypeOf c Is TextBox Or TypeOf c Is ComboBox Then
If c.Text = "" Then ok = False
End If
Next
If ok Then
cmdGhiDL.Enabled = True
Else
cmdGhiDL.Enabled = False
End If
' tinh don gia cua cac loai gia tri
If cboNhomDat.ListIndex -1 Then
txtDongia = Dongia(cboNhomDat.ListIndex)
If txtDientichTTT "" Then
txtGiaTriTT.Text = Val(txtDientichTTT.Text) * Val(txtDongia.Text)
Else
txtGiaTriTT.Text = ""
End If
If txtDienTichTKT "" Then
txtChiphiKT.Text = Val(txtDienTichTKT.Text) * Val(txtDongia.Text)
Else
txtChiphiKT.Text = ""
End If
If txtGiayCN "" Then
txtGiatriCN = Val(txtGiayCN.Text) * Val(txtDongia.Text)
Else
txtGiatriCN.Text = ""
End If
If txtKoGiayCN "" Then
txtGiatriCCN.Text = Val(txtKoGiayCN.Text) * Val(txtDongia.Text)
Else
txtGiatriCCN.Text = ""
End If
End If
'tinh dien tich xay dung nha
If txtXaydungnha.Text "" Then
txtSudung.Text = Val(txtDientichTTT.Text) - Val(txtXaydungnha.Text)
Else
§ç §øc Chung Tin4
41
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
txtSudung.Text = ""
End If
'tinh dien tich tang giam
If txtDienTichTKT.Text "" Then
Dim i As Variant
i = Val(txtDientichTTT.Text) - Val(txtDienTichTKT.Text)
If i > 0 Then
txtTang.Text = i
txtGiam.Text = 0
ElseIf i < 0 Then
txtGiam.Text = -i
txtTang.Text = 0
ElseIf i = 0 Then
txtTang.Text = i
txtGiam.Text = i
End If
End If
'xet dieu kien cua txtdientichttt
If Val(txtDientichTTT.Text) < Val(txtXaydungnha.Text) Then
txtDientichTTT.Text = ""
txtDientichTTT.SetFocus
txtXaydungnha.Text = ""
End If
If txtDientichTTT.Text = "" Then
txtXaydungnha.Text = ""
txtSudung.Text = ""
txtTang.Text = ""
txtGiam.Text = ""
txtMDC.Text = ""
txtGiayCN.Text = ""
txtSDMDK.Text = ""
'xet dieu kien dien tich txtSDMDK
If Dat = 0 Then
If Val(txtSDMDK.Text) - Val(txtDichvu.Text) < Val(txtThue.Text) Then
txtDichvu.Text = ""
txtDichvu.SetFocus
txtThue.Text = ""
txtChia.Text = ""
End If
End If
End If
§ç §øc Chung Tin4
42
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
' xet dieu kien txtMDC
If Val(txtMDC.Text) > Val(txtDientichTTT.Text) Then
txtMDC.SetFocus
txtMDC.Text = ""
txtSDMDK.Text = ""
txtDichvu.Text = ""
txtChia.Text = ""
txtThue.Text = ""
txtCSD.Text = ""
End If
If txtMDC.Text = "" Then
txtSDMDK.Text = ""
txtDichvu.Text = ""
txtThue.Text = ""
txtChia.Text = ""
txtCSD.Text = ""
End If
' tinh dien tich dich vu, thue, chia
If txtDichvu.Text "" Then
If Val(txtDichvu.Text) = Val(txtSDMDK.Text) Then
txtThue.Text = 0
txtThue.Enabled = False
txtChia.Text = 0
End If
End If
If txtThue "" Then
If txtThue.Text < Val(txtSDMDK.Text) - Val(txtDichvu.Text) Then
txtChia.Text = Val(txtSDMDK.Text) - Val(txtDichvu.Text) Val(txtThue.Text)
End If
If txtThue.Text > Val(txtSDMDK.Text) - Val(txtDichvu.Text) Then
txtThue.SetFocus
txtThue.Text = ""
End If
If Val(txtThue.Text) + Val(txtDichvu.Text) = Val(txtSDMDK.Text) Then
txtChia.Text = 0
End If
End If
§ç §øc Chung Tin4
43
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
End Sub
Private Sub txtChia_GotFocus()
CEmpty txtMDC
End Sub
Private Sub txtChia_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtChiphiKT_Click()
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End Sub
Private Sub txtChiphiKT_GotFocus()
CEmpty txtDienTichTKT
End Sub
Private Sub txtChiphiKT_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtCSD_GotFocus()
CEmpty txtMDC
End Sub
Private Sub txtCSD_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtDiachi_Click()
If Dat = 0 Then
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End If
End Sub
§ç §øc Chung Tin4
44
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Private Sub txtDiaChi_GotFocus()
CEmpty txtTenTS
Hien " NhËp ®Þa chØ khu ®Êt vµo ®©y"
End Sub
Private Sub txtDichvu_Change()
If txtDichvu.Text = "" Then
txtChia.Text = ""
txtThue.Text = ""
End If
If Val(txtDichvu.Text) > Val(txtSDMDK.Text) Then
txtDichvu.SetFocus
txtDichvu.Text = ""
txtThue.Text = ""
End If
txtChia.Enabled = True
txtThue.Enabled = True
End Sub
Private Sub txtDichvu_Click()
If Dat = 0 Then
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End If
End Sub
Private Sub txtDichvu_GotFocus()
CEmpty txtSDMDK
Hien " NhËp diÖn tÝch ®Êt ®ang dïng cho s¶n xuÊt vµ kinh doanh ( chØ nhËp
sè ) ko lín h¬n sö dông môc ®Ých kh¸c "
End Sub
Private Sub txtDientichCSD_Click()
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End Sub
Private Sub txtDientichCSD_GotFocus()
CEmpty txtNgayLP
End Sub
§ç §øc Chung Tin4
45
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Private Sub txtDientichCSD_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtDienTichTKT_Click()
If Dat = 0 Then
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End If
End Sub
Private Sub txtDienTichTKT_GotFocus()
CEmpty txtGiaTriTT
Hien " NhËp diÖn tÝch theo sæ kÕ to¸n vµo ®©y ( chØ nhËp sè )"
End Sub
Private Sub txtDienTichTKT_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtDienTichTKT_LostFocus()
If SSTab1.Tab = 0 Then SSTab1.Tab = 1
End Sub
Private Sub txtDientichTTT_Click()
If Dat = 0 Then
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End If
End Sub
Private Sub txtDientichTTT_GotFocus()
Hien " Nh¹p diÖn tÝch t¹i thêi ®iÓm kiÓm kª ( chØ nhËp sè )
txtSDMDK.Enabled = True
txtCSD.Enabled = True
CEmpty txtDongia
End Sub
"
Private Sub txtDientichTTT_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtdungsx_KeyPress(KeyAscii As Integer)
§ç §øc Chung Tin4
46
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtDongia_GotFocus()
CEmpty cboNhomDat
txtGiaTriTT.Enabled = True
End Sub
Private Sub txtGiam_Click()
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End Sub
Private Sub txtGiam_GotFocus()
CEmpty txtTang
End Sub
Private Sub txtGiam_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtGiamCD_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtGiatriCCN_GotFocus()
CEmpty txtKoGiayCN
End Sub
Private Sub txtGiatriCCN_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtGiatriCN_GotFocus()
CEmpty txtGiayCN
End Sub
Private Sub txtGiatriCN_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
§ç §øc Chung Tin4
47
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Private Sub txtGiaTriTT_GotFocus()
CEmpty txtXaydungnha
End Sub
Private Sub txtGiatriTT_KeyPress(KeyAscii As Integer)
SubKeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtGiayCN_Change()
If txtGiayCN.Text "" Then
txtKoGiayCN.Text = Val(txtDientichTTT.Text) - Val(txtGiayCN.Text)
Else
txtKoGiayCN.Text = ""
End If
If Val(txtGiayCN.Text) > Val(txtDientichTTT.Text) Then
txtGiayCN.SetFocus
txtGiayCN.Text = ""
End If
End Sub
Private Sub txtGiayCN_Click()
If Dat = 0 Then
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End If
End Sub
Private Sub txtGiayCN_GotFocus()
CEmpty txtCSD
Hien " NhËp diÖn tÝch cha cã giÊy chøng nhËn quyÒn sö dông ®Êt ( chØ
nhËp sè ) ko ®îc lín h¬n tæng diÖn tÝch ®Êt "
End Sub
Private Sub txtGiayCN_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtKoGiayCN_GotFocus()
CEmpty txtGiatriCN
End Sub
§ç §øc Chung Tin4
48
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Private Sub txtKoGiayCN_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtMDC_Change()
txtSDMDK.Enabled = True
txtCSD.Enabled = True
If Val(txtMDC.Text) = Val(txtDientichTTT.Text) Then
txtSDMDK.Text = "0"
txtSDMDK.Enabled = False
txtCSD.Text = "0"
txtCSD.Enabled = False
txtDichvu.Enabled = False
txtChia.Enabled = False
txtThue.Enabled = False
End If
End Sub
Private Sub txtMDC_Click()
If Dat = 0 Then
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End If
End Sub
Private Sub txtMDC_GotFocus()
Hien " NhËp diÖn tÝch sö dông cho môc ®Ých chÝnh ( chØ nhËp sè )"
CEmpty txtDongia
End Sub
Private Sub txtMDC_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtNgayLP_Click()
If Dat = 0 Then
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End If
End Sub
§ç §øc Chung Tin4
49
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Private Sub txtNgayLP_GotFocus()
CEmpty txtTenNLP
Hien " B¹n cÇn nhËp ngµy vµo _/_/_/"
End Sub
Private Sub txtNgayLP_Validate(Cancel As Boolean)
If Not IsDate(txtNgayLP) Then
txtNgayLP.SetFocus
txtNgayLP.Text = ""
Cancel = True
ElseIf DateValue(txtNgayLP) > Now() Or DateValue(txtNgayLP) <
DateValue(Format("01/01/1998", "dd/mm/yyyy")) Then
txtNgayLP.SetFocus
txtNgayLP.Text = ""
Cancel = True
Else: txtNgayLP = Format(txtNgayLP, "dd/mm/yyyy")
End If
End Sub
Private Sub txtQuan_Click()
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End Sub
Private Sub txtQuan_GotFocus()
CEmpty txtDiachi
End Sub
Private Sub txtSDMDK_Change()
If Val(txtSDMDK.Text) = 0 Then
txtDichvu.Text = 0
txtThue.Text = 0
txtChia.Text = 0
End If
If txtSDMDK.Text "" Then
If Val(txtSDMDK.Text) = Val(txtDientichTTT.Text) - Val(txtMDC.Text) Then
txtCSD.Text = 0
txtCSD.Enabled = False
§ç §øc Chung Tin4
50
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
ElseIf Val(txtSDMDK.Text) < Val(txtDientichTTT.Text) - Val(txtMDC.Text) Then
txtCSD.Text = Val(txtDientichTTT.Text) - Val(txtMDC.Text) Val(txtSDMDK.Text)
txtCSD.Enabled = False
ElseIf Val(txtSDMDK.Text) > Val(txtDientichTTT.Text) - Val(txtMDC.Text) Then
txtSDMDK.SetFocus
txtSDMDK.Text = ""
txtThue.Text = ""
txtDichvu.Text = ""
txtChia.Text = ""
End If
Else
txtSDMDK.Text = ""
txtThue.Text = ""
txtDichvu.Text = ""
txtChia.Text = ""
txtCSD.Text = ""
End If
End Sub
Private Sub txtSDMDK_Click()
If Dat = 0 Then
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End If
End Sub
Private Sub txtSDMDK_GotFocus()
Hien " NhËp diÖn tÝch sö dung cho môc ®Ých kh¸c ( chØ nhËp sè )"
txtCSD.Enabled = True
CEmpty txtMDC
txtChia.Enabled = True
End Sub
Private Sub txtSDMDK_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtSudung_Click()
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End Sub
§ç §øc Chung Tin4
51
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Private Sub txtSudung_GotFocus()
CEmpty txtXaydungnha
Hien " NhËp diÖn mtÝch ®É x©y dùng c«ng tr×nh vËt kiÕn tróc( chØ nhËp
sè)"
End Sub
Private Sub txtSudung_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtTang_Click()
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End Sub
Private Sub txtTang_GotFocus()
CEmpty txtChiphiKT
End Sub
Private Sub txtTang_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtTenNLP_Change()
If txtTenNLP.Text "" Then
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End If
End Sub
Private Sub txtTenNLP_Click()
If Dat = 0 Then
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End If
End Sub
Private Sub txtTenNLP_GotFocus()
Hien "B¹n cÇn nhËp lµ ch÷ vµo ®©y"
End Sub
Private Sub txtTenNLP_KeyPress(KeyAscii As Integer)
KeyAscii = Char_Check(KeyAscii)
§ç §øc Chung Tin4
52
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
End Sub
Private Sub txtTenTS_Click()
If Dat = 0 Then
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End If
End Sub
Private Sub txtTenTS_GotFocus()
CEmpty txtNgayLP
Hien " NhËp tªn ®¬n vÞ vµo ®©y"
End Sub
Private Sub txtThue_Change()
If txtThue.Text = "" Then
txtChia.Text = ""
End If
If Val(txtThue.Text) > Val(txtSDMDK.Text) - Val(txtDichvu.Text) Then
txtThue.SetFocus
txtThue.Text = ""
txtChia.Text = ""
End If
End Sub
Private Sub txtThue_Click()
If Dat = 0 Then
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End If
End Sub
Private Sub txtThue_GotFocus()
Hien " NhËp diÖn tÝch ®©ng dïng cho thuª ( chØ nhËp sè ) diÖn tÝch ko ®îc
lín h¬n (sö dông cho môc ®Ých kh¸c - ®ang dïng cho s¶n xuÊt kinh doanh.)"
CEmpty txtSDMDK
txtChia.Enabled = True
End Sub
Private Sub txtThue_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
§ç §øc Chung Tin4
53
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Private Sub txtXaydungnha_Change()
If Val(txtXaydungnha.Text) > Val(txtDientichTTT.Text) Then
txtXaydungnha.SetFocus
txtXaydungnha.Text = ""
txtSudung.Text = ""
End If
End Sub
Private Sub txtXaydungnha_Click()
If Dat = 0 Then
cmdNhaplai.Enabled = True
Mybutton2.Enabled = True
End If
End Sub
Private Sub txtXaydungnha_GotFocus()
Hien " NhËp diÖn tÝch ®· dïng ®Ó x©y dùng nhµ ( chØ nhËp sè ) ko ®îc lín
h¬n tæng diÖn tÝch ®Êt "
txtSudung.Enabled = True
CEmpty txtDientichTTT
End Sub
Private Sub txtXaydungnha_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
1.4
Form : frmGiaoDich
§ç §øc Chung Tin4
54
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Dim rsDVA As ADODB.Recordset
Dim rsDVB As ADODB.Recordset
Dim rsDVN As ADODB.Recordset
Dim rsTSD As ADODB.Recordset
Dim rsTSKD As ADODB.Recordset
Private rs As ADODB.Recordset
Public mo As Integer
Dim benA As String
Dim benB As String
Dim TS As String
Dim DVN As String
Const sql = "Select tblDonvi.MaDV, tblDonvi.TenDV from tblDonvi "
Dim sqlTSD As String
Dim sqlTSKD As String
Dim i As Integer
Dim CodeTS(100) As String
Dim bA(100) As String
Dim bB(100) As String
Dim a As Integer
Dim d As Integer
Dim soluong(100) As Integer
Private Sub cboBenA_GotFocus()
Dim i As Integer
Dim j As Integer
cboBenA.Clear
i=0
Set rsDVA = New ADODB.Recordset
rsDVA.Open sql, cnn, adOpenDynamic, adLockBatchOptimistic
rsDVA.MoveFirst
While Not rsDVA.EOF
If rsDVA!TenDV benB Then
cboBenA.AddItem rsDVA!TenDV
If rsDVA!MaDV = MaDV Then j = i
bA(i) = rsDVA!MaDV
i=i+1
End If
rsDVA.MoveNext
Wend
rsDVA.Close
Set rsDVA = Nothing
cboBenA.ListIndex = j
Me.Refresh
End Sub
§ç §øc Chung Tin4
55
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Private Sub cboBenA_LostFocus()
benA = cboBenA
End Sub
Private Sub cboBenB_Gotfocus()
Dim i As Integer
cboBenB.Clear
Set rsDVB = New ADODB.Recordset
rsDVB.Open sql, cnn, adOpenDynamic, adLockBatchOptimistic
rsDVB.MoveFirst
While Not rsDVB.EOF
If rsDVB!TenDV benA Then
cboBenB.AddItem rsDVB!TenDV
bB(i) = rsDVB!MaDV
i=i+1
End If
rsDVB.MoveNext
Wend
rsDVB.Close
Set rsDVB = Nothing
End Sub
Private Sub cboBenB_LostFocus()
benB = cboBenB
End Sub
Private Sub cboDVN_Lostfocus()
DVN = cboDVN
End Sub
Private Sub cboTS_GotFocus()
Dim i As Integer
cboTS.Clear
Set rsTSD = New ADODB.Recordset
Set rsTSKD = New ADODB.Recordset
i=0
Select Case cboSort.ListIndex
Case 1, 3:
If benA "" Then
a=0
§ç §øc Chung Tin4
56
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
qryTSD = "SELECT tblDonVi.TenDV, tblLoaiTS_Detail.* " _
& "FROM (tblTongHopDat_Master INNER JOIN tblDonVi ON
tblTongHopDat_Master.MaDV = tblDonVi.MaDV) INNER JOIN tblLoaiTS_Detail
ON tblTongHopDat_Master.MaTS = tblLoaiTS_Detail.MaTS " _
& "Where tblDonVi.TenDV ='" & benA & "';"
qryTSKD = "SELECT tblDonVi.TenDV, tblLoaiTS_Detail.* " _
& "FROM (tblLoaiTS_Detail INNER JOIN tblTongHopTSCD_KLD_Master
ON tblLoaiTS_Detail.MaTS = tblTongHopTSCD_KLD_Master.MaTS) INNER
JOIN tblDonVi ON tblTongHopTSCD_KLD_Master.MaDV = tblDonVi.MaDV " _
& "Where tblDonvi.tenDV ='" & benA & "';"
End If
Case 0, 2:
a=1
If benB "" And cboBenB.Enabled Then
qryTSD = "SELECT tblDonVi.TenDV, tblLoaiTS_Detail.* " _
& "FROM (tblTongHopDat_Master INNER JOIN tblDonVi ON
tblTongHopDat_Master.MaDV = tblDonVi.MaDV) INNER JOIN tblLoaiTS_Detail
ON tblTongHopDat_Master.MaTS = tblLoaiTS_Detail.MaTS " _
& "Where tblDonVi.TenDV ='" & benB & "';"
qryTSKD = "SELECT tblDonVi.TenDV, tblLoaiTS_Detail.* " _
& "FROM (tblLoaiTS_Detail INNER JOIN tblTongHopTSCD_KLD_Master
ON tblLoaiTS_Detail.MaTS = tblTongHopTSCD_KLD_Master.MaTS) INNER
JOIN tblDonVi ON tblTongHopTSCD_KLD_Master.MaDV = tblDonVi.MaDV " _
& "Where tblDonvi.tenDV ='" & benB & "';"
End If
End Select
If qryTSD "" And qryTSKD "" Then
rsTSD.Open qryTSD, cnn, adOpenDynamic, adLockOptimistic
rsTSKD.Open qryTSKD, cnn, adOpenDynamic, adLockOptimistic
While Not rsTSD.EOF
cboTS.AddItem rsTSD!TenTS
CodeTS(i) = rsTSD!MaTS
i=i+1
rsTSD.MoveNext
Wend
While Not rsTSKD.EOF
cboTS.AddItem rsTSKD!TenTS
CodeTS(i) = rsTSKD!MaTS
i=i+1
rsTSKD.MoveNext
Wend
End If
End Sub
Private Sub cmdBenA_Click()
§ç §øc Chung Tin4
57
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Dim ok As Boolean
ok = False
Set rsDVA = New ADODB.Recordset
rsDVA.Open sql, cnn, adOpenDynamic, adLockBatchOptimistic
rsDVA.MoveFirst
While Not rsDVA.EOF
If rsDVA!TenDV = benA Then
MaDV = rsDVA!MaDV
ok = True
End If
rsDVA.MoveNext
Wend
rsDVA.Close
Set rsDVA = Nothing
If ok Then frmNhapDV.Show
End Sub
Private Sub CmdBenB_Click()
Dim ok As Boolean
ok = False
Set rsDVB = New ADODB.Recordset
rsDVB.Open sql, cnn, adOpenDynamic, adLockBatchOptimistic
rsDVB.MoveFirst
While Not rsDVB.EOF
If rsDVB!TenDV = benB Then
MaDV = rsDVB!MaDV
ok = True
End If
rsDVB.MoveNext
Wend
rsDVB.Close
Set rsDVB = Nothing
If ok Then frmNhapDV.Show
End Sub
Private Sub CmdDVN_Click()
Dim ok As Boolean
ok = False
Set rsDVN = New ADODB.Recordset
rsDVN.Open "tblDVNgoai", cnn, adOpenDynamic, adLockBatchOptimistic
rsDVN.MoveFirst
While Not rsDVN.EOF
If rsDVN!TenDVN = DVN Then
MaDVN = rsDVN!MaDVN
ok = True
§ç §øc Chung Tin4
58
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
End If
rsDVN.MoveNext
Wend
rsDVN.Close
Set rsDVN = Nothing
If ok Then frmNhapDV.Show
End Sub
Private Sub cmdExit_Click()
If mo = 1 Then frmNhapDS.Show
Child_Unload Me
End Sub
Private Sub cmdNew_Click()
cmdReset_Click
Form_Load
End Sub
Private Sub cmdReset_Click()
Dim ctl As Control
For Each ctl In Me.Controls
If TypeOf ctl Is ComboBox And ctl.Name "cboSort" Then ctl.Clear
If TypeOf ctl Is TextBox Then ctl.Text = ""
'If TypeOf ctl Is MaskEdBox Then ctl = ""
Next
End Sub
Private Sub cmdSave_Click()
Dim dk As String
If a = 0 Then
dk = bB(cboBenB.ListIndex)
Else
dk = bA(cboBenA.ListIndex)
End If
If Left(CodeTS(cboTS.ListIndex), 1) = "1" Then
Set rsTSD = New ADODB.Recordset
rsTSD.Open "select * from tblTongHopDat_Master where
tblTongHopDat_Master.MaTS ='" & CodeTS(cboTS.ListIndex) & "' ;", cnn,
adOpenDynamic, adLockOptimistic
rsTSD!MaDV = dk
rsTSD.Update
Else
Set rsTSKD = New ADODB.Recordset
§ç §øc Chung Tin4
59
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
rsTSKD.Open "select * from tblTongHopTSCD_KLD_Master where
tblTongHopTSCD_KLD_Master.MaTS ='" & CodeTS(cboTS.ListIndex) & "' ;",
cnn, adOpenDynamic, adLockOptimistic
rsTSKD!MaDV = dk
rsTSKD.Update
End If
Dim rs As ADODB.Recordset
Dim rs1 As ADODB.Recordset
Dim rs2 As ADODB.Recordset
Set rs = New ADODB.Recordset
Set rs1 = New ADODB.Recordset
Set rs2 = New ADODB.Recordset
rs.Open "tblHopDong", cnn, adOpenDynamic, adLockOptimistic
rs1.Open "tblHopDongbenA", cnn, adOpenDynamic, adLockOptimistic
rs2.Open "tblHopDongbenB", cnn, adOpenDynamic, adLockOptimistic
rs.AddNew
rs1.AddNew
rs2.AddNew
rs!NgayHD = Text1.Text
rs!LoaiHD = cboSort
rs!MaTS = CodeTS(cboTS.ListIndex)
rs1!benA = bA(cboBenA.ListIndex)
rs2!benB = bB(cboBenB.ListIndex)
rs.Update
rs1!Mahd = rs!Mahd
rs2!Mahd = rs!Mahd
rs1.Update
rs2.Update
cmdReset_Click
Form_Load
End Sub
Private Sub Form_Load()
If mo 0 Then Unload frmNhapDS
Child_Load Me
cboDVN.Visible = False
'CmdDVN.Visible = False
benA = ""
benB = ""
'Add cac item cho cboSort
cboSort.AddItem "Mua"
cboSort.AddItem "B¸n"
cboSort.AddItem "Thuª"
cboSort.AddItem "Cho thuª"
cboSort.ListIndex = 0
§ç §øc Chung Tin4
60
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Set rsDVN = New ADODB.Recordset
rsDVN.Open "tblDVNgoai", cnn, adOpenDynamic, adLockBatchOptimistic
If Not (rsDVN.EOF And rsDVN.BOF) Then rsDVN.MoveFirst
While Not rsDVN.EOF
cboDVN.AddItem rsDVN!TenDVN
rsDVN.MoveNext
Wend
rsDVN.Close
Set rsDVN = Nothing
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y
As Single)
Mre Me
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = 0 Then Child_Unload Me
End Sub
Private Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub Mybutton2_Click()
cmdReset_Click
End Sub
Private Sub Mybutton3_Click()
cmdReset_Click
End Sub
Private Sub Mybutton4_Click()
cmdExit_Click
End Sub
Private Sub optBenB_Click()
cboDVN.Visible = False
CmdDVN.Visible = False
cboBenB.Visible = True
CmdBenB.Visible = True
End Sub
Private Sub optDVN_Click()
§ç §øc Chung Tin4
61
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
cboDVN.Visible = True
CmdDVN.Visible = True
cboBenB.Visible = False
CmdBenB.Visible = False
End Sub
Private Sub Text1_lostfocus()
Dim dt As String
dt = Text1.Text
If Not Validdate(dt) Then
Text1.SetFocus
Text1.Text = ""
Else
Text1.Text = Format(dt, "dd/mm/yyyy")
'If Format(Text1.Text) > Format(Now()) Then
' Text1.SetFocus
' Text1.Text = ""
' End If
End If
End Sub
Private Sub Timer1_Timer()
Dim ctl As Control
Dim ok As Boolean
ok = True
For Each ctl In Me.Controls
If TypeOf ctl Is TextBox Then
If ctl.Text = "" Then ok = False
End If
Next
If cboBenA "" And (cboBenB "" Or cboDVN "") Then
cboTS.Enabled = True
'cmdTS.Enabled = True
Else
cboTS.Enabled = False
'cmdTS.Enabled = False
End If
If cboTS "" And cboBenA "" And (cboBenB "" Or DVN "") _
And Text1.Text "" Then
cmdSave.Enabled = True
Else
cmdSave.Enabled = False
End If
§ç §øc Chung Tin4
62
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
If txtDate "" Or cboTS "" Or benA "" Or (benB "" Or DVN "") _
Or Text1.Text "" Then
cmdReset.Enabled = True
Else
cmdReset.Enabled = False
End If
End Sub
1.5
Form: frmChonTS
Option Explicit
Dim i As Integer
Dim Li As ListItem
Dim rsLoaiTS As ADODB.Recordset
Dim rsNhom As ADODB.Recordset
Dim MaLoai(6) As String
Dim sSQL As String
Private Sub cboLoai_Click()
List.ListItems.Clear
Call AddListItem(Li, TimMaLoai(cboLoai.Text))
End Sub
Private Sub cmdSua_Click()
§ç §øc Chung Tin4
63
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
iButton = Sua
MaNhom = List.SelectedItem.ListSubItems(1).Text
frmNhapTS.Show
Child_Unload Me
End Sub
Private Sub cmdThem_Click()
iButton = Them
frmNhapTS.Show
Child_Unload Me
End Sub
Private Sub cmdThoat_Click()
Child_Unload Me
End Sub
Private Sub cmdXoa_Click()
Dim ok As Boolean
With rsNhom
ok = False
.MoveFirst
While Not .EOF And Not ok
If rsNhom!MaNhom = List.SelectedItem.ListSubItems(1).Text Then
ok = True
Else
.MoveNext
End If
Wend
.Delete
If Not .EOF Then
.MoveNext
ElseIf Not .BOF Then
.MovePrevious
Else
Hien "B¹n võa xo¸ nhãm tµi s¶n cuèi cïng"
End If
End With
cmdXoa.Enabled = False
Form_Load
§ç §øc Chung Tin4
64
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
End Sub
Private Sub Form_Load()
Child_Load Me
cboLoai.Clear
Set rsLoaiTS = New ADODB.Recordset
rsLoaiTS.Open "tblLoaits_master", cnn, adOpenDynamic,
adLockOptimistic
With rsLoaiTS
i=0
.MoveFirst
While .EOF = False
cboLoai.AddItem !TenloaiTS, i
i=i+1
.MoveNext
Wend
End With
cboLoai.ListIndex = 0
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As
Integer)
If UnloadMode = 0 Then Child_Unload Me
End Sub
Private Sub AddListItem(ByRef xItem As ListItem, s As String)
Dim i As Integer
sSQL = "SELECT * FROM tblnhom WHERE maloaits='" & s & "';"
Set rsNhom = New ADODB.Recordset
rsNhom.Open sSQL, cnn, adOpenDynamic, adLockOptimistic
With rsNhom
If .EOF And .BOF Then
cmdSua.Enabled = False
cmdXoa.Enabled = False
Hien "Cha nhËp nhãm tµi s¶n"
Else
cmdSua.Enabled = True
cmdXoa.Enabled = True
.MoveFirst
i=1
§ç §øc Chung Tin4
65
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
While Not .EOF
Set xItem = List.ListItems.Add
xItem.Text = i
xItem.ListSubItems.Add key:="M· nhãm", Text:=!MaNhom
xItem.ListSubItems.Add key:="Tªn nhãm", Text:=!tennhom
.MoveNext
i=i+1
Wend
End If
End With
End Sub
Function TimMaLoai(tenloai As String)
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "tblloaits_master", cnn, adOpenDynamic, adLockOptimistic
With rs
.MoveFirst
While Not .EOF And tenloai !TenloaiTS
.MoveNext
Wend
TimMaLoai = !MaloaiTS
End With
End Function
1.6
Form : frmNhapDV
§ç §øc Chung Tin4
66
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Option Explicit
Dim rsDV As ADODB.Recordset
Dim k As Integer
Dim StopWh As Boolean
Dim Temp As String
Dim sSQL As String
Private Sub cboCT_Click()
txtMaDV.Enabled = True
txtMaDV.Text = CodeDV(cboCT.Text)
txtMaDV.Enabled = False
txtTenDV.Enabled = True
'txtTenDV.SetFocus
Check_Empty
End Sub
Private Sub cboQuan_Click()
Check_Empty
End Sub
§ç §øc Chung Tin4
67
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Private Sub cboQuan_GotFocus()
'CEmpty txtDiaChi
Hien "QuËn theo ®Þa chØ cña ®¬n vÞ"
End Sub
Private Sub cboQuan_KeyPress(KeyAscii As Integer)
If UCase(Chr(KeyAscii)) = "D" Then cboQuan.ListIndex = 1
End Sub
Private Sub cmdCapnhat_Click()
If CDublicate(txtTenDV.Text) Then
MMsgbox "§· cã tªn ®¬n vÞ nµy råi, ®Ò nghÞ nhËp l¹i"
Hien "§· cã tªn ®¬n vÞ nµy råi, ®Ò nghÞ nhËp l¹i"
txtTenDV.Text = ""
txtDiachi.Text = ""
txtDT.Text = ""
txtSoNV.Text = ""
Exit Sub
End If
If iButton = 2 Then
If MaDV = txtMaDV.Text Then
GetValue
rsDV.Update
Else
rsDV.Delete
If Not rsDV.EOF Then
rsDV.MoveNext
ElseIf Not rsDV.BOF Then
rsDV.MovePrevious
End If
rsDV.AddNew
GetValue
rsDV.Update
ThemDVCD (cboCT.Text)
Call DoiTS(MaDV, txtMaDV.Text)
End If
ElseIf iButton = 3 Then
With rsDV
rsDV.AddNew
GetValue
rsDV.Update
End With
ThemDVCD (cboCT.Text)
cboCT.Refresh
End If
§ç §øc Chung Tin4
68
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
cmdThoat_Click
End Sub
Private Sub cmdThoat_Click()
Child_Unload Me
frmDonVi.Show
End Sub
Private Sub Form_Load()
Child_Load Me
Dim i As Integer
Set rsDV = New ADODB.Recordset
rsDV.Open "tblDonvi", cnn, adOpenDynamic, _
adLockOptimistic, adCmdTable
'--------------------------------------------------------With cboQuan
.AddItem "Ba ®×nh", 0
.AddItem "§èng §a", 1
.AddItem "Hai Bµ Trng", 2
.AddItem "Hoµn KiÕm", 3
.AddItem "Gia L©m", 4
.AddItem "Thanh Xu©n", 5
.AddItem "Tõ Liªm", 6
End With
'--------------------------------------------------------TenCT
Select Case iButton 'Sua don vi hay them moi
Case 2
'cmdSuaDV
SuaDonVi
Case 3
'cmdThem:
cboCT.ListIndex = 0
cboCT.Refresh
txtTenDV.Enabled = True
'txtTenDV.SetFocus
txtMaDV.Enabled = True
txtMaDV.Text = CodeDV(cboCT.Text)
txtMaDV.Enabled = False
cmdCapNhat.Enabled = False
txtTenDV.Text = ""
txtDiachi.Text = ""
txtDT.Text = ""
txtSoNV.Text = ""
txtTenDV.Enabled = False
§ç §øc Chung Tin4
69
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
txtDiachi.Enabled = False
txtDT.Enabled = False
txtSoNV.Enabled = False
cboQuan.Enabled = False
End Select
Child_Unload frmDonVi
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = 0 Then cmdThoat_Click
End Sub
Private Sub GetValue()
rsDV!MaDV = txtMaDV.Text
rsDV!TenDV = txtTenDV.Text
rsDV!DiaChi = txtDiachi.Text
rsDV!Quan = cboQuan.Text
rsDV!SoDT = txtDT.Text
rsDV!DonViCT = MaDV_T(cboCT.Text)
rsDV!sonv = txtSoNV.Text
If optCap2.Value = True Then
rsDV!Capdv = 2
Else
rsDV!Capdv = 3
End If
If optQLNN.Value = True Then
rsDV!chucnang = "QLNN"
Else
rsDV!chucnang = "HCSN"
End If
End Sub
Private Sub optCap2_Click()
TenCT
End Sub
Private Sub optCap3_Click()
TenCT
End Sub
Private Sub Timer1_Timer()
§ç §øc Chung Tin4
70
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
If cboCT.Text "" Then
cboQuan.Enabled = True
txtTenDV.Enabled = True
txtDiachi.Enabled = True
txtDT.Enabled = True
txtSoNV.Enabled = True
End If
End Sub
Private Sub txtDiachi_Click()
Check_Empty
End Sub
Private Sub txtDiaChi_GotFocus()
' CEmpty txtTenDV
Hien "NhËp ®Þa chØ cña ®¬n vÞ"
End Sub
Private Sub txtDT_Change()
Check_Empty
End Sub
Private Sub txtDT_GotFocus()
Call CEmpty(cboQuan)
Hien "§iÖn tho¹i cña ®¬n vÞ"
End Sub
Private Sub txtDT_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtMaDV_Click()
'Check_Empty
End Sub
Private Sub txtSoNV_Change()
Check_Empty
End Sub
Private Sub txtSoNV_GotFocus()
CEmpty txtDT
Hien "Sè nh©n viªn hiÖn t¹i cña ®¬n vÞ"
End Sub
§ç §øc Chung Tin4
71
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Private Sub txtSoNV_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
End Sub
Private Sub txtTenDV_Click()
'Check_Empty
End Sub
Private Sub txtTenDV_GotFocus()
Hien "NhËp tªn ®¬n vÞ vµo ®©y"
End Sub
Private Sub txtTenDV_KeyPress(KeyAscii As Integer)
KeyAscii = Char_Check(KeyAscii)
End Sub
Private Sub TenCT()
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
cboCT.Clear
If optCap2.Value Then
cboCT.AddItem "UBND TP Hµ Néi"
Else
sSQL = "SELECT * FROM tbldonvi " & _
"WHERE capdv= 2;"
rs.Open sSQL, cnn, adOpenDynamic, adLockOptimistic
With rs
.MoveFirst
While .EOF = False
cboCT.AddItem !TenDV
.MoveNext
Wend
End With
End If
cboCT.ListIndex = 0
txtMaDV.Enabled = True
txtMaDV.Text = CodeDV(cboCT.Text)
txtMaDV.Enabled = False
End Sub
Function CDublicate(TenDV As String) As Boolean
Dim sSQL As String
Dim Check As Boolean
sSQL = "SELECT * FROM tbldonvi WHERE tendv= '" & TenDV & "';"
Dim rsDV1 As ADODB.Recordset
§ç §øc Chung Tin4
72
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Set rsDV1 = New ADODB.Recordset
rsDV1.Open sSQL, cnn, adOpenDynamic, adLockOptimistic
If rsDV1.EOF And rsDV1.BOF Then
Check = False
Else
Check = True
End If
CDublicate = Check
End Function
Private Sub ThemDVCD(TenCT As String)
Dim rsDV2 As ADODB.Recordset
Set rsDV2 = New ADODB.Recordset
rsDV2.Open "tbldonvi", cnn, adOpenDynamic, adLockOptimistic
With rsDV2
.MoveFirst
While .EOF = False And !TenDV TenCT
.MoveNext
Wend
!sodvcd = !sodvcd + 1
.Update
End With
End Sub
Public Function MaDV_T(Ten As String) As String 'Tim Ma don vi tu ten don vi
Dim Ma As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "Tbldonvi", cnn, adOpenDynamic, adLockOptimistic
With rs
.MoveFirst
While Not .EOF
If !TenDV = Ten Then
Ma = !MaDV
End If
.MoveNext
Wend
End With
MaDV_T = Ma
End Function
Private Sub SuaDonVi()
Dim i As Integer
Dim l As Integer
With rsDV
§ç §øc Chung Tin4
73
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
.MoveFirst
While Not .EOF And !MaDV MaDV
.MoveNext
Wend
If !Capdv = 2 Then
optCap2.Value = True
ElseIf !Capdv = 3 Then
optCap3.Value = True
End If
i=0
While i < cboCT.ListCount
cboCT.ListIndex = i
If MaDV_T(cboCT.Text) = !DonViCT Then l = i
i=i+1
Wend
cboCT.ListIndex = l
txtMaDV.Enabled = True
txtMaDV.Text = !MaDV
txtMaDV.Enabled = False
txtTenDV.Text = !TenDV
txtDT.Text = !SoDT
txtDiachi.Text = !DiaChi
txtSoNV.Text = !sonv
i=0
While i < cboQuan.ListCount
cboQuan.ListIndex = i
If MaDV_T(cboQuan.Text) = !DonViCT Then l = i
i=i+1
Wend
cboQuan.ListIndex = l
If !chucnang = "qlnn" Then
optQLNN.Value = True
Else
optHCSN.Value = True
End If
End With
End Sub
Private Sub DoiTS(MaCu As String, MaMoi As String)
Dim rsDat As ADODB.Recordset
Dim rsKLD As ADODB.Recordset
Set rsDat = New ADODB.Recordset
Set rsKLD = New ADODB.Recordset
§ç §øc Chung Tin4
74
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
rsDat.Open "tbltonghopdat_master", cnn, adOpenDynamic, adLockOptimistic
rsKLD.Open "tblTongHopTSCD_KLD_Master", cnn, adOpenDynamic,
adLockOptimistic
With rsDat
If .EOF And .BOF Then
.MoveFirst
While Not .EOF And MaCu !MaDV
.MoveNext
Wend
!MaDV = MaMoi
End If
End With
With rsKLD
If .EOF And .BOF Then
.MoveFirst
While Not .EOF And MaCu !MaDV
.MoveNext
Wend
!MaDV = MaMoi
End If
End With
End Sub
Private Sub Check_Empty()
Dim ctl As Control
Dim B As Boolean
B = True
For Each ctl In Controls
If TypeOf ctl Is TextBox Or TypeOf ctl Is MaskEdBox _
Or TypeOf ctl Is ComboBox Then
If ctl.Text = "" Then B = False
End If
Next ctl
If B = True Then
cmdCapNhat.Enabled = True
Else
cmdCapNhat.Enabled = False
End If
End Sub
1.7
Form: frmTimKiem
§ç §øc Chung Tin4
75
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
Dim rsDV As ADODB.Recordset
Dim rsTS As ADODB.Recordset
Dim i As Integer
Dim Flag As Boolean
Dim ok As Boolean
Private Sub cboCap_KeyPress(KeyAscii As Integer)
KeyAscii = Num_Check(KeyAscii)
If Not (KeyAscii = "2" Or KeyAscii = "3") Then
cboCap.Text = ""
End If
End Sub
Private Sub cmdThoat_Click()
Child_Unload Me
End Sub
Private Sub cmdTim_Click()
Flag = True
Select Case SSTab1.Tab
Case 0 'Tim don vi
TimDV
iButton = 0
Case 1 'Tim tai san
TimTS
iButton = 1
Case 2 'Tim phieu
§ç §øc Chung Tin4
76
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
If txtTu.Text "" Or txtDen.Text "" Then
If Not IsDate(txtTu.Text) And Not IsDate(txtDen.Text) Then
MsgBox "NhËp sai ®iÒu kiÖn t×m kiÕm!", , "Th«ng b¸o:"
Flag = False
Exit Sub
End If
End If
TimPhieu
iButton = 2
End Select
If Flag Then
MsgBox "Cha nhËp ®iÒu kiÖn t×m kiÕm", , "Th«ng b¸o:"
Else
Call cFind(findSQL)
End If
End Sub
Private Sub Form_Load()
Child_Load Me
Set rsDV = New ADODB.Recordset
rsDV.Open "tbldonvi", cnn, adOpenDynamic, adLockOptimistic
i=0
With rsDV
.MoveFirst
While .EOF = False
cboMaDV.AddItem rsDV!MaDV, i
cboTenDV.AddItem rsDV!TenDV, i
i=i+1
.MoveNext
Wend
End With
cboCap.AddItem 1, 0
cboCap.AddItem 2, 1
cboCap.AddItem 3, 2
cboCN.AddItem "QLNN", 0
cboCN.AddItem "HCSN", 1
End Sub
Private Sub TimDV()
findSQL = "SELECT * FROM tbldonvi WHERE "
§ç §øc Chung Tin4
77
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
If cboMaDV.Text "" Then
findSQL = findSQL & "( madv LIKE '%" & cboMaDV.Text & "%')"
Flag = False
End If
If cboTenDV.Text "" Then
If Not Flag Then
findSQL = findSQL & " AND ( tendv LIKE '%" & cboTenDV.Text & "%')"
Else
findSQL = findSQL & "( tendv LIKE '%" & cboTenDV.Text & "%')"
End If
Flag = False
End If
If cboCap.Text "" Then
If Not Flag Then
findSQL = findSQL & " AND ( capdv LIKE '%" & cboCap.Text & "%')"
Else
findSQL = findSQL & "( capdv LIKE '%" & cboCap.Text & "%')"
End If
Flag = False
End If
If cboCN.Text "" Then
If Not Flag Then
findSQL = findSQL & " AND ( Chucnang LIKE '%" & cboCN.Text & "%')"
Else
findSQL = findSQL & "( tendv LIKE '%" & cboTenDV.Text & "%')"
End If
Flag = False
End If
End Sub
Private Sub TimTS()
findSQL = "SELECT * FROM tblloaits_master" & _
" INNER JOIN tblnhom" & _
" ON tblloaits_master.maloaits=tblnhom.maloaits" & _
" WHERE "
If cboMaNhomTS.Text "" Then
findSQL = findSQL & " (tblnhom.manhom LIKE '%" & cboMaNhomTS.Text &
"%')"
Flag = False
End If
If cboNhom.Text "" Then
If Flag Then
findSQL = findSQL & " (tblnhom.tennhom LIKE '%" & cboNhom.Text & "%')"
Else
§ç §øc Chung Tin4
78
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
findSQL = findSQL & " AND (tblnhom.tennhom LIKE '%" & cboNhom.Text &
"%')"
End If
Flag = False
End If
If cboLoaiTS.Text "" Then
If Flag Then
findSQL = findSQL & " (tblloaits_master.tenloaits LIKE '%" &
cboLoaiTS.Text & "%')"
Else
findSQL = findSQL & " AND (tblloaits_master.tenloaits LIKE '%" &
cboLoaiTS.Text & "%')"
End If
Flag = False
End If
End Sub
Private Sub TimPhieu()
findSQL = "SELECT * " & _
"FROM tblphieu " & _
"WHERE "
If cboMP.Text "" Then
findSQL = findSQL & "(tblphieu.maphieu LIKE '%" & cboMP.Text & "%')"
Flag = False
End If
If cboNguoiLP.Text "" Then
If Flag Then
findSQL = findSQL & "(tblphieu.tennlp LIKE '%" & cboNguoiLP.Text & "%')"
Else
findSQL = findSQL & " AND (tblphieu.tennlp LIKE '%" & cboNguoiLP.Text &
"%')"
End If
Flag = False
End If
If txtTu.Text "" Then
If Flag Then
If txtDen.Text "" Then
findSQL = findSQL & " (tblphieu.ngaylp >=DateValue(Format('" &
txtTu.Text & "'))) and " _
& " (tblphieu.ngaylp =DateValue(Format('" &
txtTu.Text & "')));"
End If
Else
§ç §øc Chung Tin4
79
Qu¶n lý tµi s¶n cè ®Þnh
Trêng §¹i häc Qu¶n lý vµ kinh doanh Hµ Néi
If txtDen.Text "" Then
findSQL = findSQL & " AND ( tblphieu.ngaylp >=DateValue(Format('" &
txtTu.Text & "'))) and " _
& " (tblphieu.ngaylp =DateValue(Format('" &
txtTu.Text & "')));"
End If
End If
Flag = False
Else
If Flag Then
If txtDen.Text "" Then
findSQL = findSQL & " (tblphieu.ngaylp [...]... Chung Tin4 16 Quản lý tài sản cố định Trờng Đại học Quản lý và kinh doanh Hà Nội 3.1 Bng tblDonvi: Lu gi thụng tin v cỏc n v 3.2 Bng tblDonviNgoai 3.3 Bng tblHopdong Đỗ Đức Chung Tin4 17 Quản lý tài sản cố định 3.4 Bng tblHopdongBenA 3.5 Bng tblHopdongBenB 3.6 Bng tblHopdongMaDVN 3.7 Bng tblLoaiTS_Detail 3.8 Bng tblLoaiTS_Master Đỗ Đức Chung Tin4 Trờng Đại học Quản lý và kinh doanh Hà Nội 18 Quản lý tài. .. Hà Nội 18 Quản lý tài sản cố định 3.9 Trờng Đại học Quản lý và kinh doanh Hà Nội Bng tblNhom 3.10 Bng tblPhieu 3.11 Bng tblSe_Group 3.12 Bng tblTongHopDat_Detail Đỗ Đức Chung Tin4 19 Quản lý tài sản cố định Trờng Đại học Quản lý và kinh doanh Hà Nội 3.13 Bng tblTongHopDat_Master 3.14 Bng tblTongHopTSCD_KLD_Detail Đỗ Đức Chung Tin4 20 Quản lý tài sản cố định Trờng Đại học Quản lý và kinh doanh Hà Nội... qun lý cỏc nhúm ngi khỏc (Nh c phộp thờm, xoỏ, sa cha d liu ca cỏc ngi dựng.) 2.2 Qun lý n v hnh chớnh Cỏc n v hnh chớnh õy chớnh l cỏc n v ang qun lý, s dng cỏc ti sn c nh ca nh nc Vic qun lý ny c tin hnh theo nghnh dc Chc nng ny cho phộp nm c cỏc thụng tin ca tng n v, nh tờn, a ch, s in thoi ca tng n v Đỗ Đức Chung Tin4 15 Quản lý tài sản cố định 2.3 Trờng Đại học Quản lý và kinh doanh Hà Nội Qun lý. .. chớnh (v mt ti sn) - Qun lý cỏc ti sn c nh - Qun lý cỏc giao dch - Tỡm kim, thng kờ - In bỏo cỏo theo mu ca B ti chớnh S chc nng: Đỗ Đức Chung Tin4 14 Quản lý tài sản cố định Trờng Đại học Quản lý và kinh doanh Hà Nội Cỏc chc nng 2.1 QL Quyn truy cp QL n v hnh chớnh QL Ti sn c nh QL Giao dch Tỡm kim, thng kờ In Bỏo cỏo Qun lý quyn truy cp Vỡ chng trỡnh Qun lý TSC phc v cho vic qun lý, thng kờ ti sn c nh... cmdNhaplai.Enabled = True Mybutton2.Enabled = True End If End Sub Private Sub cboNhomDat_GotFocus() CEmpty txtDiachi Đỗ Đức Chung Tin4 35 Quản lý tài sản cố định Trờng Đại học Quản lý và kinh doanh Hà Nội If cboNhomDat.ListIndex = -1 Then cboNhomDat.ListIndex = 0 Hien " Chọn nhóm đất tơng ứng cho tài sản đất" End Sub Private Sub cmdGhiDL_Click() If Dat = 1 Then rsTS.AddNew rsPh.AddNew rsDat.AddNew rsDat0.AddNew End... ng dng cú th mt ti nguyờn h thng v d b treo mỏy Đỗ Đức Chung Tin4 13 Quản lý tài sản cố định Trờng Đại học Quản lý và kinh doanh Hà Nội Phn II: Phn mm Qun lý ti sn c nh 1 Mc ớch v nhu cu thc t ca phn mm Vic qun lý ti sn c nh ang s dng trong cỏc c quan hnh chớnh l mt hot ng quan trng trong cỏc hot ng ca nh nc Chớnh vỡ vy, hng nm, nh nc ta u tin hnh cụng vic kim kờ cỏc ti sn ny, nm c s lng, cht lng,... Chung Tin4 12 Quản lý tài sản cố định Trờng Đại học Quản lý và kinh doanh Hà Nội tr cho tham s ca th tc ú Trong Visual Basic, cú 2 cỏch truyn thỏm s : By Ref ( truyn tham chiu) v By Val ( truyn tham tr ) Private/Public Sub ( as , as , v.v) End Sub 2.8 Hin th v nhn thụng tin Ta s dng cỏc hp i thoi hin th thụng tin cho ngi dựng hoc nhn thụng tin. .. EventFlag variable so this doesn't get done again and again Đỗ Đức Chung Tin4 32 Quản lý tài sản cố định Trờng Đại học Quản lý và kinh doanh Hà Nội End Sub Private Sub AddListItem(ByRef xItem As ListItem, ByRef xRec As ADODB.Recordset, i As Integer) ' Add a ListItem setting its text, icon and small icon Then ' add three ListSubItems setting the Key and Text of each Set xItem = List.ListItems.Add xItem.Text... Me.Icon = LoadResPicture(1, vbResIcon) BExit = False Skin = 0 MaDV = "H0000" helppath = App.Path & "\help\help.chm" MDIload Init_icon Set_Icon Set_Panel Set_Code Đỗ Đức Chung Tin4 22 Quản lý tài sản cố định Trờng Đại học Quản lý và kinh doanh Hà Nội Set_Font End Sub Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer) If UnloadMode = 0 Then Call mnuThoat_Click Cancel = Not BExit... False End Sub Private Sub mnuBC2_Click() Report1 mnuTH3B.Checked = False mnuBC1B.Checked = False mnuBC2.Checked = True mnuBC1A.Checked = False mnuTH4.Checked = False Đỗ Đức Chung Tin4 23 Quản lý tài sản cố định Trờng Đại học Quản lý và kinh doanh Hà Nội mnuTH3A.Checked = False End Sub Private Sub mnuChonDV_Click() 'Call CloseActiveForm("frmChonDV") frmChonDV.Show End Sub Private Sub mnuDat_Click() 'Call ... Tin4 16 Quản lý tài sản cố định Trờng Đại học Quản lý kinh doanh Hà Nội 3.1 Bng tblDonvi: Lu gi thụng tin v cỏc n v 3.2 Bng tblDonviNgoai 3.3 Bng tblHopdong Đỗ Đức Chung Tin4 17 Quản lý tài sản. .. Quản lý tài sản cố định 3.9 Trờng Đại học Quản lý kinh doanh Hà Nội Bng tblNhom 3.10 Bng tblPhieu 3.11 Bng tblSe_Group 3.12 Bng tblTongHopDat_Detail Đỗ Đức Chung Tin4 19 Quản lý tài sản cố định. .. Đỗ Đức Chung Tin4 35 Quản lý tài sản cố định Trờng Đại học Quản lý kinh doanh Hà Nội If cboNhomDat.ListIndex = -1 Then cboNhomDat.ListIndex = Hien " Chọn nhóm đất tơng ứng cho tài sản đất" End
Ngày đăng: 02/10/2015, 10:49
Xem thêm: Đồ án công nghệ thông tin quản lý tài sản cố định