Luận văn Ứng dụng tin học vào phân tích, thẩm định dự án đầu tư

Trong quá trình học tập tại trường, sinh viên đã được truyền thụ những kiến thức cơ bản để sau khi tốt nghiệp trở thành một cử nhân kinh tế với những năng lực nhất định có thể giúp ích cho xã hội và bản thân. Để có thể thực hiện tốt công việc của mình, ngoài những kiến thức đã được trang bị tại trường, những kinh nghiệm thực tế là không thể thiếu được đối với mỗi sinh viên. Trong khuôn khổ đào tạo, vì chưa có điều kiện phối hợp giữa lý thuyết và thực hành một cách thường xuyên, những đợt thực tập là cơ hội tốt để mỗi sinh viên có thể kiểm chứng lại những gì đã học và đồng thời nâng cao kiến thức chuyên môn, khả năng giao tiếp, ứng xử của bản thân qua những bài học thực tế. Đối với sinh viên chuyên ngành Tin học kinh tế chúng em, được thực tập tại những nơi ứng dụng công nghệ thông tin trong các hoạt động quản lý, thông tin là điều rất bổ ích. Tại XN Phần mềm quản lý- Công ty Tin học Xây dựng – Bộ Xây dựng, em được tiếp xúc với những công việc thực tế hàng ngày, tham gia vào các dự án của XN và trao đổi với những cán bộ hiện đang công tác tại XN đã tạo điều kiện cho em học hỏi, củng cố những kiến thức đã học và nâng cao trình độ bản thân.

doc136 trang | Chia sẻ: aloso | Lượt xem: 1513 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận văn Ứng dụng tin học vào phân tích, thẩm định dự án đầu tư, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
cho chương trình thẩm định dự án đầu tư là phương pháp mô hình hoá vì bản thân các thực thể và mối quan hệ giữa các thực thể có thể xác định được một cách rõ ràng. Thực thể trong mô hình lôgíc dữ liệu được dùng để biểu diễn những đối tượng cụ thể hoặc trừu tượng trong thế giới thực mà muốn lưu trữ thông tin về chúng. Một thực thể có thể là nhân sự (công nhân viên, khách hàng, sinh viên); tổ chức (nhà cung cấp, doanh nghiệp cạnh tranh); nguồn lực hữu hình (tiền bạc, xe cộ, thiết bị, máy móc). Vấn đề quan trọng là cần phải hiểu rằng, khái niệm thực thể cho một sự liên tưởng tới một tập hợp các đối tượng có cùng các đặc trưng, chứ không phải một đối tượng riêng biệt. Mã hạng mục Tên hạng mục Đơn vị tính Danh mục hạng mục Danh mục thiết bị Doanh thu Danh mục doanh thu Chi phí Hạng mục có có 1 N 1 Mã doanh thu - Tên doanh thu #Mã dự án Mã doanh thu Năm thu Sản lượng Đơn giá Thuế suất VAT Mã dự án Tên dự án Chủ đầu tư Số sản phẩm Suất thu lợi Thuế suất TN Năm băt đầu hoạt động Tgian hoạt động Tgian xay dựng Mã thiết bị - Tên thiết bị - Đơn vị tính #Mã dự án Mã thiết bị Số lượng Đơn giá - Thuế suất VAT Loại thiết bị Tỷ lệ lắp 4 1 N 5 6 2 Chi phí Thiết bị Chi trả N 1 N Dự án 1 1 1 3 1 N N CP Nguyên vật liệu N # Mã dự án Mã NVL Năm chi Tên NVL Khối lượng Đơn giá Thuế suấtVAT 7 Chi trả Chi trả Chi trả thu # Mã dự án Mã hạng mục Qui mô xây Đơn gía Thuế suấtVAT Sơ đồ quan hệ các thực thể: 1 9 N 1 Chi phí khấu hao N Chi trả Chi trả Chi trả Mã dự án Tên dự án Chủ đầu tư Số sản phẩm Suất thu lợi Thuế suất TN Năm băt đầu hoạt động Tgian hoạt động Tgian xây dựng Chi phí khác N # Mã dự án Mã chi phí Năm chi Tên chi phí Khối lượng Đơn giá Thuế suấtVAT 8 #Mã dự án Mã vốn Quí Nguồn Loại vốn Giá trị Lãi suất Thời hạn 10 Chi phí vốn 1 Dự án #Mã dự án Mã chi phí Năm chi Khoản mục Tổng giá trị tài sản Thời hạn khấu hao Chuyển sơ đồ khái quát thực thể (ERD) sang sơ đồ cấu trúc dữ liệu(DSD) Chuyển đổi các quan hệ. Dự án Chi phí thiết bị 1 N 1 Mã dự án Tên dự án Chủ đầu tư Số sản phẩm Suất thu lợi Thuế suất TN Năm băt đầu hoạt động Tgian hoạt động Tgian xây dựng #Mã dự án Mã thiết bị Số lượng Đơn giá - Thuế suất VAT Loại thiết bị Tỷ lệ lắp Chi trả Quan hệ 1: Dự án Chi phí thiết bị Sau khi chuyển đổi được hai tệp như sau Mã dự án Têndựán Chủđầu tư Sốsảnphẩm … Tgian xd #Mã dự án Mã thiết bị Số lượng … Loại thiết bị Danh mục thiết bị có Chi phí thiết bị N 1 2 #Mã dự án Mã thiết bị Số lượng Đơn giá Thuế suất VAT Loại thiết bị Tỷ lệ lắp Mã thiết bị - Tên thiết bị - Đơn vị tính Quan hệ 2: Danh mục thiết bị Chi phí thiết bị Sau khi chuyển đổi được hai tệp như sau: #Mã dự án Mã thiết bị Số lượng … Loại thiết bị Tên thiết bị Đơn vị tính Mã thiết bị Dự án 1 Doanh thu N 3 Mã dự án Tên dự án Chủ đầu tư Số sản phẩm Suất thu lợi Thuế suất TN Năm băt đầu hoạt động Tgian hoạt động Tgian xây dựng #Mã dự án Mã doanh thu Năm thu Sản lượng Đơn giá Thuế suất VAT thu Quan hệ 3: Dự án Doanh thu Sau khi chuyển đổi được hai tệp như sau: Mã dự án Têndựán Chủđầu tư Sốsảnphẩm … Tgian xd Mã doanh thu #Mã dự án Sản lượng Đơn giá Thuế suất vat Doanh thu 1 Danh mục doanh thu N 4 có #Mã dự án Mã doanh thu Năm thu Sản lượng Đơn giá Thuế suất VAT Mã doanh thu - Tên doanh thu Quan hệ 4: Danh mục doanh thu Doanh thu Sau khi chuyển đổi được hai tệp như sau: Mã doanh thu #Mã dự án Sản lượng Đơn giá Thuế suất vat Mã doanh thu Tên doanh thu Chi phí hạng mục N 5 Dự án 1 #Mã dự án Mã hạng mục Qui mô xây Đơn gía Thuế suấtVAT Mã dự án Tên dự án Chủ đầu tư Số sản phẩm Suất thu lợi Thuế suất TN Năm băt đầu hoạt động Tgian hoạt động Tgian xây dựng Chi trả Quan hệ 5: Dự án Chi phí hạng mục Sau khi chuyển đổi được hai tệp như sau: Mã dự án Têndựán Chủđầu tư Sốsảnphẩm … Tgian xd Mã hạng mục #Mã dự án Qui mô xây Đơn giá Thuế suất vat #Mã dự án Mã hạng mục Qui mô xây Đơn gía Thuế suấtVAT Chi phí hạng mục 1 6 có Danh mục hạng mục N Quan hệ 6: Mã hạng mục Tên hạng mục Đơn vị tính Sau khi chuyển đổi được hai tệp như sau: Chi phí hạng mục Danh mục hạng mục Mã hạng mục #Mã dự án Qui mô xây Đơn giá Thuế suất vat Mã hạng mục Tên hạng mục Đơn vị tính 1 N Cp nguyên vật liệu 7 Dự án Quan hệ 7: # Mã dự án Mã NVL Năm chi Tên NVL Khối lượng Đơn giá Thuế suấtVAT Mã dự án Tên dự án Chủ đầu tư Số sản phẩm Suất thu lợi Thuế suất TN Năm băt đầu hoạt động Tgian hoạt động Tgian xây dựng Chi trả Danh mục hạng mục Sau khi chuyển đổi được hai tệp như sau: Dự án CP nguyên vật liệu Mã dự án Têndựán Chủđầu tư Sốsảnphẩm … Tgian xd Mã NVL #Mã dự án Năm chi Tên NVL … Thuế suất vat 1 N Chi phí khác 8 Dự án Quan hệ 8: Mã dự án Tên dự án Chủ đầu tư Số sản phẩm Suất thu lợi Thuế suất TN Năm băt đầu hoạt động Tgian hoạt động Tgian xây dựng # Mã dự án Mã chi phí Năm chi Tên chi phí Khối lượng Đơn giá Thuế suấtVAT Chi trả Sau khi chuyển đổi được hai tệp như sau: Dự án Chi phí khác Mã dự án Têndựán Chủđầu tư Sốsảnphẩm … Tgian xd Mã chi phí #Mã dự án Năm chi Tên chi phí … Thuế suất vat 1 N Khấu hao 9 Dự án Quan hệ 9: Mã dự án Tên dự án Chủ đầu tư Số sản phẩm Suất thu lợi Thuế suất TN Năm băt đầu hoạt động Tgian hoạt động Tgian xây dựng # Mã dự án Mã chi phí Năm chi Khoản mục Tổng giá trị tài sản Thời hạn khấu hao Chi trả Sau khi chuyển đổi được hai tệp như sau: Dự án Chi phí khấu hao Mã dự án Têndựán Chủđầu tư Sốsảnphẩm … Tgian xd Mã chi phí #Mã dự án Năm chi Khoản mục … Thời hạn khấu hao 1 N Chi phí vốn 10 Dự án Quan hệ 10: Mã dự án Tên dự án Chủ đầu tư Số sản phẩm Suất thu lợi Thuế suất TN Năm băt đầu hoạt động Tgian hoạt động Tgian xây dựng # Mã dự án Mã vốn Quí Nguồn Loại vốn Giá trị Lãi suất Thời hạn Chi trả Sau khi chuyển đổi được hai tệp như sau: Dự án Chi phí vốn Mã dự án Têndựán Chủđầu tư Sốsảnphẩm … Tgian xd Mã vốn #Mã dự án Quí Nguồn Loại vốn Giá trị … Thời hạn 1.2 Thiết kế chi tiết các tệp cơ sở dữ liệu. Ký hiệu: - PK (primary key): khoá chính - FK (foreign key) : khoá ngoại lai Dự án Tên trường Khoá Kiểu dữ liệu Kích cỡ Mô tả Maduan PK Text 5 Định danh dự án Tenduan Text 50 Tên dự án đầu tư Chudautu Text 50 Tên người (tổ chức) đầu tư dự án Sosanpham Number Byte Số sản phẩm dự kiến của dự án ThuesuatTN Number Double Thuế suất thu nhập của dự án Suatthuloi Number Double Tỉ lệ lợi nhuận tối thiểu của dự án Nambatdauhoatdong Date/time Năm đưa dự án vào sxkd Thoigianxd Text 4 Số năm xây dựng cơ sở vật chất cho dự án Thoigianvanhanh number Byte Tuổi thọ dự án Chi phí thiết bị. Tên trường Khoá Kiểu dữ liệu Kích cỡ Mô tả Mathietbi PK Text 10 Định danh thiết bị Maduan PK Text 5 Định danh dự án Soluong Number 30 Số lượng thiết bị đầu tư cho dự án Loaithietbi Yes/no 0,1 0: thiết bị không phải lắp đặt 1: thiết bị phải lắp đặt Tilelap Number Single Tỉ lệ % giá trị lắp so với giá trị của thiết bị nếu tb thuộc dạng lắp đặt(1) dongia Currency 20 Giá mua của các thiết bị dùng trong dự án Thuesuatvat Number Double Thuế suất vat đánh vào giá mua thiết bị dùng cho dự án Chi phí hạng mục Tên trường Khoá Kiểu dữ liệu Kích cỡ Mô tả Mahangmuc PK Text 10 Định danh các hạng mục được xây dựng trong dự án Maduan PK Text 5 Định danh dự án Quimoxay Number Double Khối lượng các hạng mục công trình (ví dụ: tính theo m2 trong xd) dongia Currency 20 Chi phi tính cho một 1 đơn vị xây Thuesuat vat Number Single Thuế suất đánh vào chi phí mua NVL cho hạng mục (vat đầu vào) Cp nguyên vật liệu Tên trường Khoá Kiểu dữ liệu Kích cỡ Mô tả Maduan PK,FK Text 5 Định danh dự án. Machiphi PK Text 10 Xác định chi phí nvl. tenchiphi Text 50 Tên NVL cho dự án trong sxkd. Khoiluong Number Integer Khối lượng NVL dùng sxkd. dongia Currency 20 Giá mua NVL. Thuesuatvat Number Single Vat đánh vào giá mua NVL(vat đầu vào). Chi phí khấu hao Tên trường Khoá Kiểu dữ liệu Kích cỡ Mô tả Machiphi PK Text 20 Xác định khấu hao gì. maduan PK,FK Text 5 Định danh dự án. nam PK Date/time Khấu hao vào năm nào của năm vận hành dự án. Tonggiatritaisan Currency 20 Giá trị khấu hao. Khoanmuc Text 50 Khấu hao cho cái gi. thoihan Number Interger Khấu hao trong bao nhiêu lâu. Chi phí khác Tên trường Khoá Kiểu dữ liệu Kích cỡ Mô tả Machiphik PK text 10 Xác định chi phí khác đối với dự án. Nam PK text 5 Năm chi của loại chi phí này tính theo năm dự án(0,1,..,n). Maduan FK,PK Text 5 Định danh dự án. Tenchiphi Text 50 Tên của chi phí thêm không tính vào chi chính của dự án Khoiluong Number Long integer Lượng chi phí khác cho dự án. dongia currency 20 Giá trị tính cho 1 đơn vị khối lượng chi phí khác. Thuesuatvat number Single Vat đánh vào loại chi phí khác của dự án. Chi phí vốn Tên trường Khoá Kiểu dữ liệu Kích cỡ Mô tả maduan PK,FK Text 5 Định danh dự án. mavon PK Text 5 Xác định vốn. Qui PK Text 5 Quí bỏ vốn trong XD. nguon Yes/no 0,1 1: Là vay,0: Tự có. loaivon Text 20 Loại vốn vay(dài, ngắn hạn). giatri Number Double Giá trị vốn vay trong quí. Laisuat Number Double Lãi suất đánh vào vốn vay. Thoihan Text 5 Vay trong bao lâu. Doanh thu Tên trường Khóa Kiểu dữ liệu Kích cỡ Mô tả Madoanhthu PK text 10 Doanh thu dự án. Nam PK Text 5 Năm vận hành của dự án có khoản thu xác định trên. Maduan FK,PK Text 5 Định danh dự án. Sanluong Number Integer Sản lượng kết quả mà dự án thu được. dongia Currency 20 Giá trị tính cho 1 đơn vị sản lượng của dự án Thuesuatvat Number Single Vat của sản phẩm dự án (VAT ra) Danhmục thiết bị Tên trường Khóa Kiểu dữ liệu Kích cỡ Mô tả Matb PK Text 10 Xác định thiết bị Tenthietbi PK Text 50 Tên thiết bị. Donvitinh Text 10 Đơn vị tính của thiết bị (cái,cặp…). Danhmục hạng mục Tên trường Khoá Kiểu dữ liệu Kích cỡ Mô tả Mahangmuc PK Text 10 Xác định hạng mục. tenhangmuc Text 50 Tên hạng mục công trình dự án. Donvitinh Text 10 Đơn vị tính của hạng mục (khối công trình,m2,tấn …) Danh mục doanh thu Tên trường Khoá Kiểu dữ liệu Kích cỡ Mô tả Madoanhthu PK Text 10 Xác định doanh thu Tendoanhthu Text 50 Tên khoản thu của dự án 1.3 Mối quan hệ giữa các bảng trong Cơ sở dữ liệu. 2. Thiết kế các giải thuật trong chương trình. 2.1. Tổng quan về lập trình. Lập trình là khâu rất quan trọng để tạo nên một chương trình ứng dụng hoàn chỉnh, lập trình là việc viết mã lệnh dựa theo các module đã thiết kế từ trước, vì vậy trước khi lập trình, lập trình viên phải lựa chọn được công cụ lập trình có đầy đủ các tính năng để tạo nên một chương trình ứng dụng đáp ứng yêu cầu đã đặt ra. 2.1.1 Lựa chọn công nghệ truy cập Cơ sở dữ liệu Tương lai phía trước – DAO hay ADO? Chúng ta đang sống trong thế giới đầy biến động, và công nghệ máy tính lại thay đổi nhanh hơn hầu hết các ngành công nghiệp khác. Thế nên thiết kế viên cần cân nhắc những công nghệ có sẵn hiện nay. Đó là DAO và mới hơn nữa là ADO. Để lập trình Jet và truy xuất dữ liệu, vận dụng công nghệ DAO (Data Access Objects), đây là mô hình có thể tích hợp nhằm thực hiện mọi tác vụ với CSDL. DAO hiện đang là phương pháp truy cập dữ liệu văn phòng phổ biến nhất. ADO là hậu duệ của DAO, ADO (Access Data Objects) “đè bẹp” mô hình đối tượng do DAO ứng dụng. Có nghĩa là nó chứa ít đối tượng hơn, nhiều thuộc tính, phương thức, biến cố hơn. Phần lớn tính năng trong ADO được hợp nhất vào đối tượng đơn, giúp đơn giản hoá đáng kể mô hình đối tượng. Tuy nhiên, ADO hiện chưa hỗ trợ tất cả tính năng của DAO. Trước bước ngoặt thú vị này, câu hỏi đặt ra là: người lập trình VB nên tiếp tục chọn dùng phương pháp DAO đã qua thử nghiệm, ổn định, mạnh mẽ, năng động, hay quyết định viết chương trình theo công nghệ mới ADO. ADO được thiết kế để giao tiếp với các cơ sở dữ liệu thông qua ODBC (Open Database Connectivity) có thể truy xuất bất kỳ loại cơ sở dữ liệu (CSDL) nào miễn ODBC có hỗ trợ driver cho loại CSDL đó, ví dụ: SQL Server, Oracle, Access,.. và kể cả Microsoft Excel hay các loại dữ liệu ở dạng text khác. Do các tính năng trên cho thấy ADO rất thuận tiện hỗ trợ việc lập trình . 2.2 Một số thuật toán cơ bản của chương trình. 2.2.1 Thật toán thêm dữ liệu Bắt đầu Mở tệp CSDL Tạo bản ghi trắng trong CSDL Thông báo nhập lại dữ liệu Kết thúc Kiểm tra tính hợp lệ dữ liệu nhập T F F Có tiếp tục không? T Nhập thông tin bằng màn hình F Đóng tệp CSDL Bắt đầu Chọn bản ghi cần sửa Đóng tệp CSDL Thông báo không cho phép sửa Mở CSDL T F F Kết thúc T Có tiếp tục sửa không T Lưu thông tin mới sửa vào vị trí cũ trong CSDL Kiểm tra tính hợp lệ của dữ liệu sửa Tiến hành sửa dữ liệu trên textbox Có lưu không? T T F F 2.2.2 Thuật toán sửa dữ liệu Bắt đầu Đóng tệp CSDL Thông báo lựa chọn có xoá bản ghi đó không Mở tệp CSDL Kết thúc Y/N? T Tìm bản ghi sẽ xoá trong cơ sở dữ liệu Xoá dữ liệu khỏi CSDL Có tiếp tục nữa không? F F T Chọn dữ liệu cần xoá 2.2.3 Thuật toán xoá dữ liệu Yes Dò tìm trong CSDL Gán giá trị ban đầu cho các biến Mở tệp CSDL Đặt lại cấu hình. Bắt đầu Nhập thông tin tìm kiếm Tìm thấy? Thông báo không tìm tháy Đưa nội dung cần tìm ra Có tiếp tục không? N Y Kết thúc N Y 2.2.4 thuật toán tìm và đưa ra bản ghi để xem III. Một số giao diện của chương trình. 1. Màn hình kích hoạt chương trình. Đây là màn hình mở màn của chương trình có chức năng kích hoạt màn hình giao diện của chương trình. Sau khi xuất hiện màn hình này một thời gian nhỏ màn hình giao diện của chương trình được kích hoạt (hoạt động). 2.Màn hình đăng nhập chương trình Màn hình đăng nhập chương trình có chức năng hạn chế người có quyền truy nhập vào chương trình, chỉ những người có user và password hợp lệ mới có thể sử dụng chương trình, điều này hạn chế được những dụng ý xấu của những người không có thẩm quyền thực hiện công việc. Chỉ khi nào có user và password hợp lệ thì giao diện chính của chương trình mới có thể hoạt động và khi đó mới cho phép người sử dụng dùng chương trình để thực hiện công việc của mình. 3.Giao diện chính của chương trình. Đây là form giao diện chính của chương trình từ đây sẽ kết nối đến tất cả các chức năng của chương trình thông qua hệ thống menu. Người dùng có thể tuỳ chọn chức năng mà mình muốn thực hiện. Ngoài ra còn được trợ giúp thông menu trợ giúp của chương trình. Tuy nhiên menu này chưa thực hiện được do sự hạn chế về thời gian, nó sẽ được phát triển trong tương lai. 4. Màn hình cập nhật thông tin chung cho dự án. Tại đây người dùng sẽ cập nhật về những thông tin chung cho dự án, đây là những thông tin mà tất cả các dự án đều có mà chương trình đã thống kê và đưa ra. Những thông tin mà bất kỳ dự án nào cũng phải có. Trong màn hình này người dùng cũng có thể chọn cách tạo một dự án mới hay sửa chữa thông tin cho dự án cũ. Nếu chọn dự án cũ tại màn hình này cho phép sửa chữa những thông tin cho dự án và sau đó đi sâu để sửa chữa thông tin chi tiết cho dự án đã chọn. Chọn dự án mới người dùng sẽ bổ sung thông tin, đồng thời có thể sửa chữa sai sót trong quá trình nhập cho dự án. 5. Màn hình nhập chi phí hạng mục. Đến đây chúng ta bắt đầu đi sâu vào chi tiết các thông tin cho các dự án. Mỗi một dự án nhất là dự án xây dựng công nghiêp đều có những hạng mục công trình riêng. Tại đây người dùng phải nhập thông tin về chi phí các hạng mục công trình để tính chi phí trong thời gian đầu tư của dự án phục vụ cho viêc tính toán các chỉ tiêu sau này và đưa ra báo cáo. Khi chúng ta đã chọn dự án nào từ danh sách trong màn hình thông tin dự án thì những dữ liệu nhập trong màn hình này chỉ là cho riêng dự án đó. 6.Màn hình danh mục hạng mục. Màn hình này dùng để cập nhật các danh mục hạng mục, sở dĩ chương trình thiết kế màn hình này là bởi các dự án khi xây dựng có rất nhiều hạng mục giống nhau việc cập nhật thành danh mục riêng sẽ giảm đảng kế thời gian nhập liệu cho các dự án tương tự nhau. 7. Màn hình nhập liệu chi phí thiết bị. Cũng như màn hình hạng mục, chi phí thiết bị là chi phí thuộc thời gian xây dựng của dự án, nó phục vụ tính toán các chỉ tiêu của dự án và tổng hợp nên vốn đầu tư của dự án, cũng chỉ nhập cho dự án nào được chọn. Sau đó hiển thị dữ liệu lên lưới để người dùng tiện theo dõi và kiểm soát chú ý lưới chỉ hiển thị dữ liệu của dự án đang chọn mà thôi. Đây là hình ảnh của màn hình nhập liệu chi phí thiết bị cho dự án. 8. Màn hình chi phí vận hành chính của dự án. Thường chi phí này là chi phí nguyên vật liệu để sản xuất ra sản phẩm của dự án trong quá trình đi vào vận hành. Chi phí này là một trong những chi phí rất quan trọng trong quá trình thẩm định dự án, nó chiếm tỷ trọng khá lớn trong số những chi phí của dự án vì vậy ảnh hưởng đến hiệu quả hoạt động của dự án. Do vậy đòi hỏi người dùng phải xác định một cách chính xác và đầy đủ trong quá trình nhập để chương trình đưa ra được kết quả chính xác cho dự án. Hình ảnh của màn hình nhập liệu chi phí vận hành chính của dự án. 9. Màn hình nhập liệu chi phí khấu hao. Đây là một chi phí không thể thiếu trong bất kỳ một dự án nào, sự hao mòn của tài sản cố định được tính vào trong quá trình vận hành của dự án, chi phí này được tính vào chi phí của từng năm vận hành dự án 10. Màn hình danh mục thiết bị. Tương tự như danh mục hạng mục việc tổ chức màn hình này làm giảm thời gian và sai sót cho việc cập nhật mới thiết bị cho các dự án tương tự. 11. Màn hình chi phí vốn Mỗi dự án để có thể đầu tư thì phải có vốn. Vốn có thể được huy động từ nhiều nguồn (tự có, vay dài hạn, vay ngắn hạn, góp vốn cổ phần) như vậy trong thời gian bỏ vốn thì có chi phí vốn như trả lãi vay, rủi ro của vốn do ứ đọng một thời gian dài vv… và những chi phí này cũng được tính vào chi phí của dự án dùng để đánh giá tính hiệu quả của dự án. Tuy nhiên trong chương trình chỉ xét đến chi phí lãi vay của vốn trong thời gian đầu tư mà chưa xét được chi phí lãi vay trong thời gian dự án đi vào vận hành . Hình ảnh của màn hình nhập liệu vốn của dự án. tại đây những thông tin về vốn được cập nhật và trên cơ sở những thông tin này chương trình sẽ tính lãi vay cho dự án trong thời gian xây dựng. 12. Màn hình doanh thu của dự án Nói đến dự án phải nói đến thu nhập của dự án. Khi thu nhập cao hơn chi phí và dựa vào các chỉ tiêu đánh giá để xét xem dự án có đáng giá không. 13. Danh mục doanh thu 14. Chi phí khác của dự án Đây là những chi phí không thuộc loại chính của dự án, nó không giống nhau với mỗi dự án. Nó được chia làm 3 giai đoạn giai đoạn chuẩn bị đầu tư, giai đoạn thực hiện và giai đoạn kết thúc dự án. 15. Báo cáo nhu cầu vốn xây dựng của dự án. Báo cáo này đưa ra con số tổng hợp cho các loại chi phí trong thời gian đầu tư. Tính luôn nhu cầu về vốn cho dự án. 16. Báo cáo tổng hợp chi phí của dự án trong thời gian vận hành. Báo cáo này thống kê các loại chi phí theo từng năm vận hành của dự án như ở năm thứ nhất dự án đi vào vận hành sản xuất thì có rất nhiều loại phải khấu hao, nhiều loại chi phí chính xảy ra… thì chương trình sẽ tổng hợp tất cả lại và đưa ra một con số tổng quát nhất giúp người dùng có cái nhìn tổng quát hơn trong đánh giá dự án. 17. Báo cáo dự trù lãi lỗ cho dự án. 18. Bảng tính chỉ tiêu NPV. 19. Màn hình tra cứu thông tin dự án. 20. Mẫu báo cáo tổng hợp vốn xây dựng. 21. Mẫu báo cáo tổng hợp chi phí vận hành. 22. Mẫu báo cáo dự trù lãi lỗ của dự án 23. Mẫu báo cáo tổng chỉ tiêu NPV của dự án. IV. Kết quả thử nghiệm, hướng phát triển 1. Kết quả thử nghiệm. Thử nghiệm chương trình đạt được một số kết quả sau: Chương trình cho phép cập nhật các thông tin. - Cập nhật về các loại chi phí đầu tư: Hạng mục, Thiết bị, Chi khác, Vốn. - Cập nhật chi phí trong vận hành: Chi phí NVL, khấu hao, chi khác - Cập nhật doanh thu dự kiến của dự án. Chương trình tự tính toán và tổng hợp thông tin đưa ra báo cáo - Tổng hợp vốn trong giai đoạn đầu tư. - Tổng hợp vốn trong vận hành sản xuất. - Tính dự trù lãi, lỗ cho dự án. - Tính chỉ tiêu NPV… - Đánh giá độ nhạy cảm của dự án khi doanh thu và chi phí thay đổi. Chương trình tìm kiếm thông tin dự án theo tiêu chí có sẵn. 2. Hướng phát triển đề tài. Đề tài có thể phát triển theo hướng sau: - Trong đề tài do sự phức tạp của các loại chi phí trong đầu tư nên đã không chi tiết các loại chi phí và doanh thu của dự án đầu tư, do vậy chương trình vẫn cần có sự tổng hợp của người dùng với một số loại chi phí, doanh thu. Nếu có thể phát triển đề tài sẽ chi tiết hoá hơn nữa các loại chi phí và đưa ra đây dủ các loại chi phí hơn - Chương trình sẽ được thiết kế với một hệ thống biểu đồ minh hoạ sinh động và tiện lợi hơn cho người đánh giá. - Chương trình phát triển còn có thể so sánh được các phương án khác nhau, nhằm đưa ra được lựa chọn phương án tối ưu nhất giúp cho người quyết định lựa chọn dễ dàng. Kết luận Trong quá trình học tập tại trường, sinh viên đã được truyền thụ những kiến thức cơ bản để sau khi tốt nghiệp trở thành một cử nhân kinh tế với những năng lực nhất định có thể giúp ích cho xã hội và bản thân. Để có thể thực hiện tốt công việc của mình, ngoài những kiến thức đã được trang bị tại trường, những kinh nghiệm thực tế là không thể thiếu được đối với mỗi sinh viên. Trong khuôn khổ đào tạo, vì chưa có điều kiện phối hợp giữa lý thuyết và thực hành một cách thường xuyên, những đợt thực tập là cơ hội tốt để mỗi sinh viên có thể kiểm chứng lại những gì đã học và đồng thời nâng cao kiến thức chuyên môn, khả năng giao tiếp, ứng xử của bản thân qua những bài học thực tế. Đối với sinh viên chuyên ngành Tin học kinh tế chúng em, được thực tập tại những nơi ứng dụng công nghệ thông tin trong các hoạt động quản lý, thông tin là điều rất bổ ích. Tại XN Phần mềm quản lý- Công ty Tin học Xây dựng – Bộ Xây dựng, em được tiếp xúc với những công việc thực tế hàng ngày, tham gia vào các dự án của XN và trao đổi với những cán bộ hiện đang công tác tại XN đã tạo điều kiện cho em học hỏi, củng cố những kiến thức đã học và nâng cao trình độ bản thân. Đề tài "ứng dụng tin học vào phân tích thẩm định dự án đầu tư” nhằm mục đích hỗ trợ đánh giá hiệu quả của các dự án đầu tư nhất là các dự án xây dựng công nghiệp. Do thiếu kiến thức và kinh nghiệm thực tế nên đề tài mà em xây dựng sẽ còn nhiều thiếu sót và bất cập, em mong nhận được ý kiến đóng góp của thầy cô để đề tài của em được hoàn thiện hơn. Cuối cùng em xin chân thành cảm ơn thầy giáo Bùi Thế Ngũ đã nhiệt tình giúp đỡ em hoàn thành đề tài này danh mục tài liệu tham khảo Nguyễn Thị Ngọc Mai, Microsoft Visual Basic & Lập trình cơ sở dữ liệu 6.0, NXB Giáo Dục, Hà Nội, 2000. Ks.Đinh Xuân Lâm, Lập trình cơ sở dữ liệu với Visual Basic 6.0, VN-Guide, NXB Thống Kê, 2000. TS Trương Văn Tú – TS Nguyễn Thị Song Minh, Giáo trình Hệ thống thông tin quản lý, NXB Thống Kê, 2000. Trần Công Uẩn, Giáo trình Cơ sở dữ liệu SQL, Access, NXB Thống Kê, 2000. TS Nguyễn Bạch Nguyệt-TS Từ Quang Phương, Giáo trình Kinh tế đầu tư, NXB Thống Kê, 2003. GS.TS Nguyễn Văn Chọn, Kinh tế đầu tư, NXB Khoa Học Kỹ Thuật, 1998 phụ lục chương trình ---------------------------------------------------------------------------------------------------------- form thông tin dự án Option explicit Dim btclick Public x Public y Private Sub cmdhuy_Click() Dim str As String Dim rs As ADODB.Recordset str = "select * from duan" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic rs.CursorType = adOpenKeyset rs.Source = str Set rs.ActiveConnection = cn rs.Open If rs.BOF = False Then rs.MoveFirst Txtmada.Text = rs.Fields("maduan") txttenda.Text = rs.Fields("tenduan") txtchudt.Text = rs.Fields("chudautu") txtsosp.Text = rs.Fields("sosanpham") txtstl.Text = rs.Fields("suatthuloi") txtnamvh.Text = rs.Fields("nambatdauhoatdong") txttgxd.Text = rs.Fields("thoigianxaydung") txttgvh.Text = rs.Fields("thoigianhoatdong") txttstn.Text = rs.Fields("thuesuatTN") End If Else MsgBox "khong ket noi duoc" End If cmdthem.Enabled = True cmdluu.Enabled = False cmdxoa.Enabled = True cmdhuy.Enabled = False cmdsua.Enabled = True cmdthoat.Enabled = True rs.Close Set rs = Nothing End Sub Private Sub cmdluu_Click() Dim str As String Dim rs As ADODB.Recordset Dim item As ListItem If Trim(txtnamvh) = "" Then txtnamvh.Text = Date End If If Trim(txtstl) = "" Then txtstl.Text = 0 End If If Trim(txttgvh) = "" Then txttgvh = 0 End If If Trim(txttgxd) = "" Then txttgxd = "_" End If If Trim(txtsosp) = "" Then txtsosp = "_" End If If Trim(txttstn) = "" Then txttstn = 0 End If If Trim(txtchudt) = "" Then txtchudt = "_" End If If Trim(txttenda) = "" Then txttenda = "_" End If Select Case btclick Case 1 If Trim(Txtmada) = "" Then MsgBox "chu ý : không được để trống", vbOKOnly + vbExclamation, "thongbao" Me.MousePointer = 0 Exit Sub Else str = "select * from duan where maduan='" & Trim(Txtmada.Text) & "'" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic rs.CursorType = adOpenKeyset rs.Source = str Set rs.ActiveConnection = cn rs.Open End If If rs.RecordCount = 0 Then Set item = lvlduan.ListItems.Add(, , Txtmada.Text) item.SubItems(1) = txttenda.Text rs.AddNew rs.Fields("maduan") = Txtmada.Text rs.Fields("tenduan") = txttenda.Text rs.Fields("chudautu") = txtchudt.Text rs.Fields("sosanpham") = txtsosp.Text rs.Fields("suatthuloi") = txtstl.Text rs.Fields("nambatdauhoatdong") = txtnamvh.Text rs.Fields("thoigianxaydung") = txttgxd.Text rs.Fields("thoigianhoatdong") = txttgvh.Text rs.Fields("thuesuatTN") = txttstn.Text rs.Update Else MsgBox " dữ liệu không được trùng", vbOKOnly rs.Close End If End If Case 2 str = "select * from duan" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic rs.CursorType = adOpenKeyset rs.Source = str Set rs.ActiveConnection = cn rs.Open str = "update duan set tenduan= '" & Trim(txttenda.Text) & "',thoigianhoatdong= '" & Trim(txttgvh.Text) & "',nambatdauhoatdong= '" & Trim(txtnamvh.Text) & "',thoigianxaydung= '" & Trim(txttgxd.Text) & "',sosanpham='" & Trim(txtsosp.Text) & "',chudautu='" & Trim(txtchudt.Text) & "' ,suatthuloi='" & Trim(txtstl.Text) & "',thuesuattn='" & Trim(txttstn.Text) & "'where maduan= '" & Trim(Txtmada.Text) & "'" End If cn.Execute (str) rs.Update End Select cmdthem.Enabled = True cmdluu.Enabled = False cmdxoa.Enabled = True cmdhuy.Enabled = False cmdsua.Enabled = True cmdthoat.Enabled = True frmnhaplieu.Show End Sub Public Sub cmdsua_Click() Txtmada.Enabled = True txttenda.Enabled = True txtchudt.Enabled = True txtsosp.Enabled = True txtstl.Enabled = True txttgxd.Enabled = True txttgvh.Enabled = True txtnamvh.Enabled = True txttstn.Enabled = True btclick = 2 cmdluu.Enabled = True cmdthem.Enabled = False cmdhuy.Enabled = True cmdthoat.Enabled = True cmdsua.Enabled = Fal End Sub Private Sub cmdthem_Click() optnew.SetFocus Txtmada.Enabled = True txttenda.Enabled = True txtchudt.Enabled = True txtsosp.Enabled = True txtstl.Enabled = True txttgxd.Enabled = True txttgvh.Enabled = True txtnamvh.Enabled = True txttstn.Enabled = True txtmada.SetFocus txtmada.Text = "" txttenda.Text = "" txtchudt.Text = "" txtsosp.Text = "" txtstl.Text = "" txttgxd.Text = "" txttgvh.Text = "" txttstn.Text = "" cmdthem.Enabled = False cmdluu.Enabled = True cmdxoa.Enabled = False cmdhuy.Enabled = True cmdsua.Enabled = False cmdthoat.Enabled = False btclick = 1 End Sub Private Sub cmdthoat_Click() Unload Me End Sub Private Sub cmdxoa_Click() Call xoadl End Sub Private Sub Form_Load() Txtmada.Enabled = False txttenda.Enabled = False txtchudt.Enabled = False txtsosp.Enabled = False txtstl.Enabled = False txttgxd.Enabled = False txttgvh.Enabled = False txtnamvh.Enabled = False txttstn.Enabled = False lvlduan.Enabled = False cmdluu.Enabled = False cmdhuy.Enabled = False cmdsua.Enabled = False cmdxoa.Enabled = False End Sub Private Sub xoadl() Dim repon Dim str As String Dim rs As ADODB.Recordset If Trim(Txtmada) = "" Then Exit Sub End If repon = MsgBox("ban co chac chan xoa khong", vbYesNo + vbQuestion, "thong bao") If repon = vbNo Then Exit Sub Else str = "select * from duan" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.Open str, cn, adOpenKeyset, adLockPessimistic End If str = "delete from duan where maduan='" & Trim(Txtmada.Text) & "'" cn.Execute (str) End If rs.Close End Sub Private Sub lvlduan_DblClick() frmnhaplieu.Show 0 End Sub Private Sub lvlduan_ItemClick(ByVal item As MSComctlLib.ListItem) Dim str As String Dim rs As ADODB.Recordset Dim i As Integer Dim a As String str = "select * from duan " If NoiCSDL.connection = True Then str = str + "where maduan= " + """" + item.Text + """" x = item.Text Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic rs.CursorType = adOpenKeyset rs.Source = str Set rs.ActiveConnection = cn rs.Open y = rs.Fields("thoigianhoatdong") Txtmada.Text = rs.Fields("maduan") txttenda.Text = rs.Fields("tenduan") txtchudt.Text = rs.Fields("chudautu") txtsosp.Text = rs.Fields("sosanpham") txtstl.Text = rs.Fields("suatthuloi") txtnamvh.Text = rs.Fields("nambatdauhoatdong") txttgxd.Text = rs.Fields("thoigianxaydung") txttgvh.Text = rs.Fields("thoigianhoatdong") txttstn.Text = rs.Fields("thuesuatTN") rs.Close End If cmdthem.Enabled = False cmdluu.Enabled = False cmdhuy.Enabled = False cmdsua.Enabled = True cmdxoa.Enabled = True End Sub Private Sub optnew_Click() lvlduan.ListItems.Clear lvlduan.Enabled = False End Sub Private Sub optold_Click() Dim str As String Dim rs As ADODB.Recordset Dim i As Integer Dim a As String Dim mitem As ListItem str = "select * from duan " If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic rs.CursorType = adOpenKeyset rs.Source = str Set rs.ActiveConnection = cn rs.Open If rs.BOF = False Then rs.MoveFirst Do Until rs.EOF a = rs.Fields("maduan") Set mitem = lvlduan.ListItems.Add(, , rs.Fields("maduan")) mitem.SubItems(1) = rs.Fields("tenduan") rs.MoveNext Loop End If Else MsgBox "khong ket noi duoc" End If rs.Close Set rs = Nothing lvlduan.Enabled = True End Sub ---------------------------------------------------------------------------------------------------------- form thiết bị. Dim btclick,x,y Private Function tim(ByVal x As String) As Boolean Dim str As String Dim rs As ADODB.Recordset str = "select * from thietbi" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic rs.CursorType = adOpenKeyset rs.Source = str Set rs.ActiveConnection = cn rs.Open End If Do Until rs.EOF If rs.Fields("maduan") = x Then tim = True Exit Function Else tim = False End If rs.MoveNext Loop End Function Private Sub xoadl() Dim repon Dim str As String Dim rs As ADODB.Recordset If Trim(txtmada) = "" Then Exit Sub End If repon = MsgBox("ban co chac chan xoa khong", vbYesNo + vbQuestion, "thong bao") If repon = vbNo Then Exit Sub Else str = "select * from thietbi" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.Open str, cn, adOpenKeyset, adLockPessimistic End If str = "delete from thietbi where mathietbi='" & Trim(cob1.Text) & "'and maduan='" & Trim(txtmada.Text) & "'" cn.Execute (str) End If rs.Close End Sub Private Sub Check1_Click() If Check1.Value = 1 Then txttile.Enabled = True Else txttile.Enabled = False End If End Sub Private Sub cmdboqua_Click() Dim str As String Dim rs As ADODB.Recordset str = "select * from thietbi where maduan='" & Trim(frmduan.x) & "'" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic rs.CursorType = adOpenKeyset rs.Source = str Set rs.ActiveConnection = cn rs.Open If rs.BOF = False Then rs.MoveFirst txtmada.Text = rs.Fields("MADUAN") cob1.Text = rs.Fields("Mathietbi") txtSL.Text = rs.Fields("soluong") txtDG.Text = rs.Fields("dongia") txtvat.Text = rs.Fields("thuesuatVAT") txttile.Text = rs.Fields("tylelap") End If Else MsgBox "khong ket noi duoc" End If cmdthem.Enabled = True cmdluu.Enabled = False cmdxoa.Enabled = True cmdboqua.Enabled = False cmdsua.Enabled = True cmdthoat.Enabled = True txtmada.Enabled = False cob1.Enabled = False txtSL.Enabled = False txtDG.Enabled = False txttile.Enabled = False Check1.Enabled = False rs.Close Set rs = Nothing End Sub Private Sub cmdluu_Click() Dim str As String Dim rs As ADODB.Recordset If Trim(txtSL) = "" Then txttentb.Text = 0 End If If Trim(txtDG) = "" Then txtDG.Text = 0 End If If Trim(txtvat) = "" Then txtvat.Text = 0 End If If Trim(txttile) = "" Then txttile.Text = 0 End If Select Case btclick Case 1 If Trim(cob1) = "" Or Trim(txtmada) = "" Then MsgBox "chu ý : không được để trống", vbOKOnly + vbExclamation, "thongbao" Else str = "select * from thietbi where mathietbi ='" & Me.cob1.Text & "'and maduan='" & Me.txtmada.Text & "'" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic rs.CursorType = adOpenKeyset rs.Source = str Set rs.ActiveConnection = cn rs.Open End If If rs.RecordCount = 0 Then If tim(frmduan.x) = True Then With Me.MSH1 .Rows = .Rows + 1 .SetFocus .Row = .Rows - 1 .Col = 0 End With Else With Me.MSH1 .Rows = .Rows + 2 .SetFocus .Row = .Rows - 1 .Col = 0 End With End If MSH1.TextMatrix(Me.MSH1.Row, 0) = cob1.Text MSH1.TextMatrix(Me.MSH1.Row, 1) = txtmada.Text MSH1.TextMatrix(Me.MSH1.Row, 2) = txtSL.Text MSH1.TextMatrix(Me.MSH1.Row, 3) = txtDG.Text MSH1.TextMatrix(Me.MSH1.Row, 4) = txtvat.Text MSH1.TextMatrix(Me.MSH1.Row, 6) = txttile.Text MSH1.TextMatrix(Me.MSH1.Row, 5) = Check1.Value rs.AddNew rs.Fields("MADUAN") = txtmada.Text rs.Fields("Mathietbi") = cob1.Text rs.Fields("soluong") = txtSL.Text rs.Fields("dongia") = txtDG.Text rs.Fields("thuesuatVAT") = txtvat.Text rs.Fields("Loaithietbi") = Check1.Value rs.Fields("tylelap") = txttile.Text rs.Update MSH1.Refresh Else MsgBox " du lieu khong duoc trung", vbOKOnly rs.Close End If End If Case 2 str = "select * from Thietbi" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic rs.CursorType = adOpenKeyset rs.Source = str Set rs.ActiveConnection = cn rs.Open str = "update Thietbi set soluong= '" & Val(txtSL.Text) & "',dongia='" & Val(txtDG.Text) & "',thuesuatVAT='" & Val(txtvat.Text) & "',loaithietbi='" & Trim(Check1.Value) & "',tylelap='" & Val(txttile.Text) & "' where mathietbi= '" & cob1.Text & "'and maduan='" & Trim(txtmada.Text) & "'" cn.Execute (str) rs.Update MSH1.TextMatrix(Me.MSH1.Row, 2) = txtSL.Text MSH1.TextMatrix(Me.MSH1.Row, 3) = txtDG.Text MSH1.TextMatrix(Me.MSH1.Row, 4) = txtvat.Text MSH1.TextMatrix(Me.MSH1.Row, 5) = Check1.Value MSH1.TextMatrix(Me.MSH1.Row, 6) = txttile.Text End If End Select cmdthem.Enabled = True cmdluu.Enabled = False cmdxoa.Enabled = True cmdboqua.Enabled = False cmdsua.Enabled = True cmdthoat.Enabled = True End Sub Private Sub cmdsua_Click() cob1.Enabled = True txtSL.Enabled = True txtDG.Enabled = True Check1.Enabled = True txttile.Enabled = True txtvat.Enabled = True btclick = 2 cmdluu.Enabled = True cmdthem.Enabled = False cmdboqua.Enabled = True cmdthoat.Enabled = True cmdsua.Enabled = False End Sub Private Sub cmdthem_Click() cob1.Enabled = True txtSL.Enabled = True txtDG.Enabled = True txtvat.Enabled = True Check1.Enabled = True txttile.Enabled = False txtSL.Text = "" txtDG.Text = "" txtvat.Text = "" txttile.Text = "" cmdthem.Enabled = False cmdluu.Enabled = True cmdxoa.Enabled = False cmdboqua.Enabled = True cmdsua.Enabled = False cmdthoat.Enabled = False btclick = 1 End Sub Private Sub cmdthoat_Click() Unload Me frmnhaplieu.Show End Sub Private Sub hiencombo() Dim str As String Dim rs As ADODB.Recordset str = "select matb from danhmucthietbi" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.Open str, cn, adOpenKeyset, adLockPessimistic End If rs.MoveFirst NoiCSDL.addcombo rs, cob1 End Sub Private Sub cmdxoa_Click() Call xoadl End Sub Private Sub Form_Load() Dim str As String Dim rs As ADODB.Recordset Call hiencombo txtmada.Enabled = False cob1.Enabled = False txtSL.Enabled = False txtDG.Enabled = False txttile.Enabled = False txtvat.Enabled = False Check1.Enabled = False MSH1.ColWidth(0, 0) = 980 MSH1.ColWidth(1, 0) = 980 MSH1.ColWidth(2, 0) = 1500 MSH1.ColWidth(3, 0) = 1500 MSH1.ColWidth(4, 0) = 1500 MSH1.ColWidth(5, 0) = 1500 MSH1.ColWidth(6, 0) = 900 MSH1 = flexGridRaised Me.MSH1.TextMatrix(0, 0) = "Mã thiết bị" Me.MSH1.TextMatrix(0, 1) = "tên thiết bị" Me.MSH1.TextMatrix(0, 2) = "đơn vị tính" txtmada.Text = frmduan.x str = "select * from thietbi where maduan= " + """" + txtmada.Text + """ " If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.Open str, cn, adOpenKeyset, adLockPessimistic NoiCSDL.fillMSgrid rs, MSH1 If rs.RecordCount 0 Then cob1.Text = MSH1.TextMatrix(Me.MSH1.Row, 0) txtmada.Text = MSH1.TextMatrix(Me.MSH1.Row, 1) txtSL.Text = MSH1.TextMatrix(Me.MSH1.Row, 2) txtDG.Text = MSH1.TextMatrix(Me.MSH1.Row, 3) txtvat.Text = MSH1.TextMatrix(Me.MSH1.Row, 4) txttile.Text = MSH1.TextMatrix(Me.MSH1.Row, 6) End If Else MsgBox "khong ket noi duoc" End If End Sub Private Sub msh1_Click() txtmada.Text = MSH1.TextMatrix(Me.MSH1.Row, 1) cob1.Text = MSH1.TextMatrix(Me.MSH1.Row, 0) txtSL.Text = MSH1.TextMatrix(Me.MSH1.Row, 2) txtDG.Text = MSH1.TextMatrix(Me.MSH1.Row, 3) txtvat.Text = MSH1.TextMatrix(Me.MSH1.Row, 4) txttile.Text = MSH1.TextMatrix(Me.MSH1.Row, 6) End Sub ---------------------------------------------------------------------------------------------------------- from chi phí vận hành. Option Explicit Dim btclick,x,y Private Function tim(ByVal x As String) As Boolean Dim str As String Dim rs As ADODB.Recordset str = "select * from nvl" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic rs.CursorType = adOpenKeyset rs.Source = str Set rs.ActiveConnection = cn rs.Open End If rs.MoveFirst Do Until rs.EOF If rs.Fields("maduan") = x Then tim = True Exit Function Else tim = False End If rs.MoveNext Loop End Function Private Sub xoadl() Dim repon Dim str As String Dim rs As ADODB.Recordset If Trim(txtmada) = "" Or Trim(cob1) = "" Or Trim(txtmachp) = "" Then Exit Sub End If repon = MsgBox("ban co chac chan xoa khong", vbYesNo + vbQuestion, "thong bao") If repon = vbNo Then Exit Sub Else str = "select * from nvl" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.Open str, cn, adOpenKeyset, adLockPessimistic End If str = "delete from nvl where machiphi='" & Trim(txtmachp.Text) & "'and maduan='" & Trim(txtmada.Text) & "'and namchi='" & Trim(cob1.Text) & "'" cn.Execute (str) End If rs.Close End Sub Private Sub cmdboqua_Click() Dim str As String Dim rs As ADODB.Recordset str = "select * from nvl where maduan='" & Trim(frmduan.x) & "'" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic rs.CursorType = adOpenKeyset rs.Source = str Set rs.ActiveConnection = cn rs.Open If rs.BOF = False Then rs.MoveFirst txtmada.Text = rs.Fields("MADUAN") txtmachp.Text = rs.Fields("Machiphi") txtKl.Text = rs.Fields("khoiluong") txtdg.Text = rs.Fields("dongia") txtvat.Text = rs.Fields("thuesuatVAT") txttenchp.Text = rs.Fields("tenchiphi") cob1.Text = rs.Fields("namchi") End If Else MsgBox "khong ket noi duoc" End If cmdthem.Enabled = True cmdluu.Enabled = False cmdxoa.Enabled = True cmdboqua.Enabled = False cmdsua.Enabled = True cmdthoat.Enabled = True txtmada.Enabled = False cob1.Enabled = False txtKl.Enabled = False txtdg.Enabled = False txtvat.Enabled = False txtmachp.Enabled = False txttenchp.Enabled = False rs.Close Set rs = Nothing End Sub Private Sub cmdluu_Click() Dim str As String Dim rs As ADODB.Recordset If Trim(txtKl) = "" Then txtKl.Text = 0 End If If Trim(txtdg) = "" Then txtdg.Text = 0 End If If Trim(txtvat) = "" Then txtvat.Text = 0 End If If Trim(txttenchp) = "" Then txttenchp.Text = "_" End If Select Case btclick Case 1 If Trim(cob1) = "" Or Trim(txtmada) = "" Or Trim(txtmachp) = "" Then MsgBox "chu ý : không được để trống", vbOKOnly + vbExclamation, "thongbao" Else str = "select * from nvl where machiphi ='" & Me.txtmachp.Text & "'and maduan='" & Me.txtmada.Text & "'and namchi='" & Me.cob1.Text & "'" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic rs.CursorType = adOpenKeyset rs.Source = str Set rs.ActiveConnection = cn rs.Open End If If rs.RecordCount = 0 Then If tim(frmduan.x) = True Then With Me.MSH1 .Rows = .Rows + 1 .SetFocus .Row = .Rows - 1 .Col = 0 End With Else With Me.MSH1 .Rows = .Rows + 2 .SetFocus .Row = .Rows - 1 .Col = 0 End With End If MSH1.TextMatrix(Me.MSH1.Row, 2) = cob1.Text MSH1.TextMatrix(Me.MSH1.Row, 1) = txtmada.Text MSH1.TextMatrix(Me.MSH1.Row, 0) = txtmachp.Text MSH1.TextMatrix(Me.MSH1.Row, 3) = txttenchp.Text MSH1.TextMatrix(Me.MSH1.Row, 4) = txtKl.Text MSH1.TextMatrix(Me.MSH1.Row, 5) = txtdg.Text MSH1.TextMatrix(Me.MSH1.Row, 6) = txtvat.Text rs.AddNew rs.Fields("MADUAN") = txtmada.Text rs.Fields("namchi") = cob1.Text rs.Fields("khoiluong") = txtKl.Text rs.Fields("dongia") = txtdg.Text rs.Fields("thuesuatVAT") = txtvat.Text rs.Fields("tenchiphi") = txttenchp.Text rs.Fields("machiphi") = txtmachp.Text rs.Update MSH1.Refresh Else MsgBox " du lieu khong duoc trung", vbOKOnly rs.Close End If End If Case 2 str = "select * from nvl" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.LockType = adLockOptimistic rs.CursorType = adOpenKeyset rs.Source = str Set rs.ActiveConnection = cn rs.Open str = "update nvl set khoiluong= '" & Val(txtKl.Text) & "',dongia='" & Val(txtdg.Text) & "',thuesuatVAT='" & Val(txtvat.Text) & "',tenchiphi='" & Trim(txttenchp.Text) & "' where namchi= '" & Trim(cob1.Text) & "'and machiphi= '" & Trim(txtmachp.Text) & "'and maduan= '" & Trim(txtmada.Text) & "'" cn.Execute (str) rs.Update MSH1.TextMatrix(Me.MSH1.Row, 3) = txttenchp.Text MSH1.TextMatrix(Me.MSH1.Row, 4) = txtKl.Text MSH1.TextMatrix(Me.MSH1.Row, 5) = txtdg.Text MSH1.TextMatrix(Me.MSH1.Row, 6) = txtvat.Text End If End Select cmdthem.Enabled = True cmdluu.Enabled = False cmdxoa.Enabled = True cmdboqua.Enabled = False cmdsua.Enabled = True cmdthoat.Enabled = True End Sub Private Sub cmdsua_Click() cob1.Enabled = True txtKl.Enabled = True txtdg.Enabled = True txttenchp.Enabled = True txtvat.Enabled = True btclick = 2 cmdluu.Enabled = True cmdthem.Enabled = False cmdboqua.Enabled = True cmdthoat.Enabled = True cmdsua.Enabled = False End Sub Private Sub cmdthem_Click() txtmachp.Enabled = True cob1.Enabled = True txtKl.Enabled = True txtdg.Enabled = True txttenchp.Enabled = True txtvat.Enabled = True txtKl.Text = "" txtdg.Text = "" txtvat.Text = "" txttnchp.Text = "" cmdthem.Enabled = False cmdluu.Enabled = True cmdxoa.Enabled = False cmdboqua.Enabled = True cmdsua.Enabled = False cmdthoat.Enabled = False btclick = 1 End Sub Private Sub cmdthoat_Click() Unload Me frmnhaplieu.Show End Sub Private Sub hiencombo() NoiCSDL.addcombo1 frmduan.y, cob1 End Sub Private Sub cmdxoa_Click() Call xoadl End Sub Private Sub Form_Load() Dim str As String Dim rs As ADODB.Recordset Call hiencombo txtmada.Enabled = False cob1.Enabled = False txtKl.Enabled = False txtdg.Enabled = False txttenchp.Enabled = False txtvat.Enabled = False MSH1.ColWidth(0, 0) = 980 MSH1.ColWidth(1, 0) = 980 MSH1.ColWidth(2, 0) = 980 MSH1.ColWidth(3, 0) = 1500 MSH1.ColWidth(4, 0) = 1500 MSH1.ColWidth(5, 0) = 1500 MSH1.ColWidth(6, 0) = 1500 MSH1 = flexGridRaised Me.MSH1.TextMatrix(0, 2) = "Năm" Me.MSH1.TextMatrix(0, 1) = "Mã du án" Me.MSH1.TextMatrix(0, 0) = "Mã chi phí" Me.MSH1.TextMatrix(0, 3) = "tên chi phí" Me.MSH1.TextMatrix(0, 4) = "Khối lượng" Me.MSH1.TextMatrix(0, 5) = "Đơn giá" Me.MSH1.TextMatrix(0, 6) = "Thuế suất(VAT)" txtmada.Text = frmduan.x str = "select * from nvl where maduan= " + """" + frmduan.x + """ " If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.Open str, cn, adOpenKeyset, adLockPessimistic NoiCSDL.fillMSgrid rs, MSH1 If rs.RecordCount 0 Then cob1.Text = MSH1.TextMatrix(Me.MSH1.Row, 2) txtmada.Text = MSH1.TextMatrix(Me.MSH1.Row, 1) txtmachp.Text = MSH1.TextMatrix(Me.MSH1.Row, 0) txtKl.Text = MSH1.TextMatrix(Me.MSH1.Row, 4) txttenchp.Text = MSH1.TextMatrix(Me.MSH1.Row, 3) txtdg.Text = MSH1.TextMatrix(Me.MSH1.Row, 5) txtvat.Text = MSH1.TextMatrix(Me.MSH1.Row, 6) End If Else MsgBox "khong ket noi duoc" End If End Sub Private Sub msh1_Click() txtmada.Text = MSH1.TextMatrix(Me.MSH1.Row, 1) cob1.Text = MSH1.TextMatrix(Me.MSH1.Row, 2) txtmachp.Text = MSH1.TextMatrix(Me.MSH1.Row, 0) txtKl.Text = MSH1.TextMatrix(Me.MSH1.Row, 4) txtvat.Text = MSH1.TextMatrix(Me.MSH1.Row, 6) txttenchp.Text = MSH1.TextMatrix(Me.MSH1.Row, 3) txtdg.Text = MSH1.TextMatrix(Me.MSH1.Row, 5) End Sub form tìm kiếm thông tin dự án. Option Explicit Dim btclick Private Sub cmdthoat_Click() Unload Me End Sub Private Sub cmdtim_Click() Dim str As String Dim rs As ADODB.Recordset Dim maso As String Dim ten As String Dim nam1 As String Dim nam2 As String Dim chu As Variant Select Case btclick Case 0 maso = "%" + Txtmada.Text + "%" ten = "%" + txtten.Text + "%" chu = "%" + Text1.Text + "%" nam1 = "%" + txtnamvh.Text + "%" nam2 = "%" + txtnamxd.Text + "%" str = "select * from duan where maduan like '" & maso & "'and tenduan like '" & ten & "' and chudautu like '" & chu & "' and thoigianhoatdong like '" & nam1 & "'and thoigianxaydung like '" & nam2 & "'" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.Open str, cn, adOpenKeyset, adLockPessimistic End If If rs.RecordCount = 0 Then MsgBox " khong tim thay mau tin nay", vbExclamation, "thong bao" End If NoiCSDL.fillMSgrid rs, msh1 Case 1 maso = "%" + txta.Text + "%" str = "select * from duan where maduan like '" & maso & "'" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.Open str, cn, adOpenKeyset, adLockPessimistic End If NoiCSDL.fillMSgrid rs, msh1 Case 2 ten = "%" + txta.Text + "%" str = "select * from duan where tenduan like '" & ten & "'" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.Open str, cn, adOpenKeyset, adLockPessimistic End If NoiCSDL.fillMSgrid rs, msh1 Case 3 chu = "%" + txta.Text + "%" str = "select * from duan where chudautu like '" & chu & "'" If NoiCSDL.connection = True Then Set rs = New ADODB.Recordset rs.Open str, cn, adOpenKeyset, adLockPessimistic End If NoiCSDL.fillMSgrid rs, msh1 End Select End Sub Private Sub Form_Load() msh1.ColWidth(0, 0) = 1500 msh1.RowHeight(0) = 650 msh1.ColWidth(1, 0) = 3000 msh1.ColWidth(2, 0) = 2500 msh1.ColWidth(3, 0) = 2000 msh1.ColWidth(4, 0) = 2000 msh1.ColWidth(5, 0) = 2000 msh1.ColWidth(6, 0) = 2000 msh1.ColWidth(7, 0) = 2000 msh1.ColWidth(8, 0) = 1500 msh1 = flexGridRaised Me.msh1.TextMatrix(0, 0) = " Mã dự án " Me.msh1.TextMatrix(0, 1) = " Tên dự án " Me.msh1.TextMatrix(0, 2) = " chủ dâu tư " Me.msh1.TextMatrix(0, 7) = "Thời gian vận hành" Me.msh1.TextMatrix(0, 8) = "Thời gian xây dựng" Me.msh1.TextMatrix(0, 6) = "năm băt đầu vận hành" Me.msh1.TextMatrix(0, 4) = " Suất thu lợi " Me.msh1.TextMatrix(0, 5) = "Thuế suất thu nhập" Me.msh1.TextMatrix(0, 3) = "Số sản phẩm" Frame2.Visible = False btclick = 0 End Sub Private Sub msh1_Click() frmduan.x = msh1.TextMatrix(msh1.Row, 0) frmduan.y = msh1.TextMatrix(msh1.Row, 3) devm.Thdt (frmduan.x) DVonxd.Show End Sub Private Sub msh1_KeyPress(KeyAscii As Integer) KeyAscii = 13 frmduan.Show frmduan.Txtmada = Me.msh1.TextMatrix(msh1.Row, 0) frmduan.txttenda = Me.msh1.TextMatrix(msh1.Row, 1) frmduan.txtchudt = Me.msh1.TextMatrix(msh1.Row, 2) frmduan.txttgvh = Me.msh1.TextMatrix(msh1.Row, 7) frmduan.txttgxd = Me.msh1.TextMatrix(msh1.Row, 8) frmduan.txtnamvh = Me.msh1.TextMatrix(msh1.Row, 6) frmduan.txtstl = Me.msh1.TextMatrix(msh1.Row, 4) frmduan.txttstn = Me.msh1.TextMatrix(msh1.Row, 5) frmduan.txtsosp = Me.msh1.TextMatrix(msh1.Row, 3) Call frmduan.cmdsua_Click frmduan.optold.Enabled = False frmnhaplieu.cmdhien.Enabled = False End Sub Private Sub Op1_Click() Frame1.Visible = False Frame2.Visible = True End Sub Private Sub op2_Click() Dim i As Integer Dim j As Integer Frame2.Visible = False Frame1.Visible = True btclick = 0 End Sub Private Sub op3_Click() btclick = 1 txta.Text = "" End Sub Private Sub op4_Click() btclick = 2 txta.Text = "" End Sub Private Sub op5_Click() btclick = 3 txta.Text = "" End Sub Mục lục

Các file đính kèm theo tài liệu này:

  • doc28693.doc
Tài liệu liên quan