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.
136 trang |
Chia sẻ: aloso | Lượt xem: 1618 | Lượt tải: 0
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:
- 28693.doc