Đồ án công nghệ thông tin quản lý tài sản cố định

92 460 0
Đồ án công nghệ thông tin   quản lý tài sản cố định

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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

Từ khóa liên quan

Mục lục

  • 1 Các công cụ để thiết kế giao diện:

    • 1.1 Form:

    • 1.2 Toolbox (hộp công cụ):

    • 1.3 Scrollbar (thanh cuốn):

    • 1.4 Option Button (Nút chọn):

    • 1.5 Checkbox( hộp kiểm)

    • 1.6 Label(nhãn)

    • 1.7 Picturebox, Image ( hộp ảnh, điều khiển ảnh )

    • 1.8 Textbox ( hộp văn bản )

    • 1.9 Command Button ( nút lệnh )

    • 1.10 Listbox ( hộp danh sách )

    • 1.11 Combo box ( hộp kết hợp )

    • 1.12 Ole ( đối tượng nhúng )

    • 1.13 Project explorer

    • 1.14 Propeties windows ( cửa sổ thuộc tính )

    • 2 Lập trình với ngôn ngữ Visual Basic

      • 2.1 Cửa sổ code

      • 2.2 Intellisence:

      • 2.3 Biến

      • 2.4 Các kiểu dữ liệu:

      • 2.5 Các toán tử:

        • 2.5.1 Các toán tử tính toán

        • 2.5.2 Các toán tử so sánh:

Tài liệu cùng người dùng

Tài liệu liên quan