Ngày nay chúng ta đang sống trong kỷ nguyên của khoa học công nghệ. Với sự phát triển vượt bậc của khoa học công nghệ, con người đã bước đến những tầm cao mới. Thế giới đang chuyển mình nhanh chóng với những tiến bộ vượt bậc về công nghệ thông tin.
Công nghệ thông tin được ứng dụng vào tất cả các lĩnh vực của đời sống xã hội. Khoa học giáo dục là một trong những lĩnh vực đi đầu về phát triển công nghệ thông tin. Trường Đại học Kinh tế Quốc dân là truờng đại học hàng đầu của cả nước đào tạo cán bộ quản lí và cũng là trường đại học đứng đầu trong viêc ứng dụng công nghệ thông tin trong công tác quản lí và giảng dạy. Thông qua đề tài “Xây dựng hệ thống thông tin quản lý hợp đồng tại TRATECHCOM”, em xin góp một phần nhỏ công sức vào việc hoàn thiện hệ thống quản lí hợp đồng tại công ty Cổ phần thương mại công nghệ và xây dựng TRATECHCOM . Em hy vọng rằng hệ thống này có thể giải quyết được những vấn đề còn tồn đọng trong công tác quản lý hợp đồng, giảm bớt công tác tra cứu, cập nhật hợp đồng, đưa ra báo cáo hoàn chỉnh về từng loại hợp đồng, giúp quá trình lên báo cáo tính chi phí và doanh thu của công ty.
131 trang |
Chia sẻ: aloso | Lượt xem: 1626 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Luận văn Xây dựng hệ thống thông tin quản lý hợp đồng tại TRATECHCOM, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
h hàng
Tên hợp đồng
Ngày kí
Ngày hiệu lực
Ngày đáo hạn
Giá trị hợp đồng
Hình thức TT
Bảng nhân viên
Mã nhân viên
Tên nhân viên
Chức vụ
Ngày sinh
Giới tính
Địa chỉ thường trú
Ngày vào làm
Số điện thoại nhà
Di động
Chỗ ở hiện tại
Bảng phòng ban:
Mã phòng ban
Tên phòng ban
Điện thoại
Bảng điều khoản:
Mã điều khoản
Mã hợp đồng
Tên điều khoản
Nội dung
Bảng công việc:
Mã công việc
Tên công việc
Mô tả
Bảng hoá đơn TT
Mã hoá đơn
Mã hợp đồng
Mã nhân viên
Ngày thu
Hình thức thu
Số tiền
Bảng khách hàng:
Mã khách hàng
Tên khách hàng
Tên cán bộ đại diện
Chức vụ
Địa chỉ khách hàng
Điện thoại
Fax
Mã số thuế
Tài khoản khách hàng
Từ điển dữ liệu
Bảng Nhân viên
Bảng nhân viên lưu lại các thông tin về nhân viên như tên, tuổi, chức vụ, điện thoại.
Bảng này gồm có một khoá chính là mã nhân viên, ngoài ra bảng còn các trường khác:
STT
Field Name
Data Type
Field Size
Giải thích
1
MaNhanVien
Text
10
Mã nhân viên
2
TenNhanVien
Text
50
Tên nhân viên
3
ChucVu
Text
20
Chức vụ
4
NgaySinh
Date/Time
Ngày sinh
5
GioiTinh
Text
5
Giới tính
6
DiaChiThuongTru
Text
50
Địa chỉ thường trú
7
NgayVaoLam
Date/Time
Ngày vào làm
8
NhaRieng
Number
Integer
ĐT nhà riêng
9
DiDong
Number
Integer
Di động
10
ChoOHienTai
Text
50
Chỗ ở hiện tại
11
MaPB
Text
10
Mã phòng ban
Bảng Công việc
Bảng công việc để lưu thông tin về công việc phải thực hiện trong các hợp đồng.
Bảng này có khoá chính là mã công việc, cấu trúc của bảng này được mô tả như sau:
STT
Field Name
Data Type
Field Size
Giải thích
1
MaCV
Text
8
Mã công việc
2
TenCV
Text
20
Tên công việc
3
MaNhanVien
Text
10
Mã nhân viên
4
MoTa
Text
100
Mô tả công việc
Bảng Điều Khoản
Bảng điều khoản lưu thông tin về các điều khoản của một hợp đồng…
Bảng có một khoá chính là mã điều khoản và một khoá ngoại lai là mã hợp đồng. Ngoài ra bảng còn có các trường khác như sau:
STT
Field Name
Data Type
Field Size
Giải thích
1
MaDieuKhoan
Text
10
Mã điều khoản
2
MaHopDong
Text
10
Mã hợp đồng
3
TenDieuKhoan
Text
20
Tên điều khoản
4
NoiDung
Text
50
Nội dung
Bảng Hợp đồng
Bảng hợp đồng lưu thông tin về hợp đồng, ngày kí, giá trị hợp đồng…
Mã hợp đồng là khoá chính. Bảng có cấu trúc như sau:
STT
Field Name
Data Type
Field Size
Giải thích
1
MaHopDong
Text
10
Mã hợp đồng
2
MaKhachHang
Text
10
Mã khách hàng
3
MaNhanVien
Text
10
Mã nhân viên
4
GiaTri
Number
Long integer
Giá trị hợp đồng
5
NgayKy
Date/Time
Ngày kí hợp đồng
6
HinhThucThanhToan
Text
15
Hình thức thanh toán
7
TenHopDong
Text
50
Tên hợp đồng
8
NgayHieuLuc
Date/Time
Ngày hiệu lực
9
NgayDaoHan
Date/Time
Ngày đáo hạn
Bảng Khách Hàng
Bảng này lưu tất cả các thông tin về khách hàng như địa chỉ, số điện thoại, người đại diện, số tài khoản, số thuế…
Mã khách hàng làm khoá chính bảng này, ta có thông tin chi tiết về các trường như sau:
STT
Field Name
Data Type
Field Size
Giải thích
1
MaKhachHang
Text
10
Mã khách hàng
2
TenKhachHang
Text
50
Tên khách hàng
3
TenCBDaiDien
Text
50
Tên cán bộ đại diện
4
ChucVu
Text
25
Chức vụ
5
DiaChi
Text
50
Địa chỉ
6
DienThoai
Number
Integer
Điện thoại
7
Fax
Text
25
Fax
8
MaSoThue
Text
15
Mã số thuế
9
TaiKhoan
Text
20
Tài khoản
Bảng phòng ban
Bảng phòng ban lưu trữ thông tin về các phòng ban trong công ty, số điện thoại của mỗi phòng ban đó. Bảng này có khoá chính là mã phòng ban.
Cấu trúc của bảng này như sau:
STT
Field Name
Data Type
Field Size
Giải thích
1
MaPB
Text
10
Mã phòng ban
2
TenPB
Text
10
Tên phòng ban
3
DienThoai
Number
Integer
Điện thoại
Bảng Hóa đơn thanh toán
Bảng hóa đơn thanh toán có Mã hóa đơn là khóa chính. Bảng này cập nhật các thông tin về thanh toán hợp đồng theo đúng điều khoản hơp đồng đã kí với khách hàng. Bảng này lưu trữ các thông tin lien quan tới hóa đơn thanh toán của khách hàng như mã hợp đồng, nhân viên thu tiền…
Cấu trúc của bảng này như sau
STT
Field Name
Data Type
Field Size
Giải thích
1
MaHoaDon
Text
10
Mã hóa đơn
2
MaHD
Text
10
Mã hợp đồng
3
MaNhanVien
Text
10
Mã nhân viên
4
SoTien
Number
Long integer
Số tiền
5
NgayTT
Date/time
Ngày thanh toán
Bảng User
Bảng user dùng để quản lý tài khoản nhân viên sử dụng phần mềm.
Bảng này dùng UsernameID làm khoá chính và mã nhân viên làm khoá ngoại lai. Các thông số về các trường của bảng này như sau:
STT
Field Name
Data Type
Field Size
Giải thích
1
UsernameID
Text
20
Tên đăng nhập
2
MaNhanVien
Text
10
Mã nhân viên
3
Password
Text
20
Mật khẩu
Mối quan hệ giữa các bảng trong cơ sở dữ liệu
Giữa các bảng có mối quan hệ như hình vẽ:
Hình 3. 12 Mối quan hệ giữa các bảng trong cơ sở dữ liệu
Thiết kế thuật toán
Giải thuật đăng nhập
Hình 3. 13 Giải thuật đăng nhập hệ thống
B
Vào form đăng nhập
Nhập thông tin
SLN=1
Truy suất vào CSDL
Thông báo đăng nhập quá 3 lần
SLN=SLN+1
Vào giao diện chính
Tài khoản có tồn tại không?
K
SLN<=3
Đ
S
Đ
S
Giải thuật cập nhật hợp đồng
Hình 3. 14 Giải thuật cập nhật hợp đồng
S
Vào form cập nhật
Nhập dữ liệu theo từng trường
Thông báo dữ liệu không thỏa mãn
Cập nhật hợp đồng
Dữ liệu thỏa mãn điều kiện ràng buộc không?
Truy suất vào CSDL
Đ
B
K
Giải thuật tìm kiếm
Hình 3. 15 Giải thuật tìm kiếm dữ liệu
Đ
Vào form tìm kiếm
Nhập tiêu thức tìm kiếm
Thông báo không tìm thấy dữ liệu phù hợp
Tồn tại dữ liệu thoản mãn điều kiện không?
Hiển thị dữ liệu tìm được
S
B
K
Truy xuất vào CSDL
Giải thuật thanh toán công nợ
Hình 3. 16 Giải thuật thanh toán công nợ
S
Vào form thu nợ
Nhập dữ liệu theo từng trường
Thông báo dữ liệu không thỏa mãn điều kiện
Cập nhật lại công nợ khách hàng
Dữ liệu thỏa mãn điều kiện ràng buộc không?
Truy suất vào CSDL
Đ
B
K
Giải thuật tạo báo cáo
Có tồn tại dữ liệu trong khoảng thời gian này không?
Thông báo không tồn tại dữ liệu
Hiển thị báo cáo
B
Vào form báo cáo
Truy suất vào CSDL
Tạo báo cáo
K
S
S
Đ
Chọn tiêu thức báo cáo
Hình 3. 17 Giải thuật tạo báo cáo
Thiết kế giao diện và báo cáo
Giao diện của chương trình
Hình 3. 18 Giao diện chính của chương trình
Đặc điểm
Mô tả
Tên giao diện
Giao diện chính
Đối tượng sử dụng
Mọi người dùng
Tần xuất sử dụng
Được sử dụng thường xuyên bất cứ khi nào có người sử dụng hệ thống
Kết cấu giao diện
Giao diện gồm thanh menu gồm các chức năng chính: Hệ thống, Cập nhật, Hợp đồng, Khen thưởng, Báo cáo
Form Đăng nhập chương trình
Hình 3. 19 Form Đăng nhập chương trình
Đặc điểm
Mô tả
Tên giao diện
Giao diện đăng nhập
Đối tượng sử dụng
Người dùng muốn đăng nhập vào hệ thống
Tần xuất sử dụng
Được sử dụng mỗi khi người dùng muốn đăng nhập sử dụng hệ thống
Ý nghĩa các nút lệnh
Nút Đăng nhập: sau khi đã nhập đầy đủ thông tin đăng nhập, ấn nút này để vào giao diện chính của phần mềm.
Nút Thoát: hủy bỏ các thao tác, thoát ra khỏi hệ thống.
Các bảng có liên quan
Sử dụng bảng Người dùng để kiểm tra tên đăng nhập và mật khẩu.
Form Đổi mật khẩu
Hình 3. 20 Form Đổi mật khẩu
Đặc điểm
Mô tả
Tên giao diện
Giao diện Đổi mật khẩu
Tần xuất sử dụng
Được sử dụng mỗi khi người dùng muốn đổi lại mật khẩu của mình.
Kết cấu giao diện
Giao diện gồm 3 trường: nhập lại mật khẩu cũ để đảm bảo tính bảo mật, đồng thời nhập mới mật khẩu cần đổi.
Các bảng có liên quan
Sử dụng bảng người dùng để lưu trữ thông tin người dùng.
Form Cập nhật cán bộ nhân viên
Hình 3. 21 Form Cập nhật cán bộ công nhân viên
Đặc điểm
Mô tả
Tên giao diện
Giao diện Danh sách cán bộ công nhân viên
Tần xuất sử dụng
Được sử dụng mỗi khi người dùng muốn xem, sửa hay xoá danh sách nhân viên và các thông tin liên quan đến nhân viên.
Kết cấu giao diện
Giao diện gồm 10 trường để nhập thông tin về nhân viên và một datagrid để hiển thị các thông tin đó.
Các bảng có liên quan
Sử dụng bảng nhân viên để lưu trữ thông tin về nhân viên.
Form Cập nhật danh sách khách hàng
Hình 3. 22 Form Cập nhật danh sách khách hàng
Đặc điểm
Mô tả
Tên giao diện
Giao diện Danh mục khách hàng
Tần xuất sử dụng
Được sử dụng mỗi khi người dùng muốn xem danh sách khách hàng và các thông tin liên quan đến khách hàng.
Kết cấu giao diện
Giao diện gồm 9 trường để nhập thông tin về khách hàng và một datagrid để hiển thị các thông tin đó.
Các bảng có liên quan
Sử dụng bảng Khách hàng để lưu trữ thông tin về khách hàng.
Form Cập nhật điều khoản hợp đồng
Hình 3. 23 Form Cập nhật điều khoản hợp đồng
Đặc điểm
Mô tả
Tên giao diện
Giao diện Danh mục hợp đồng
Tần xuất sử dụng
Được sử dụng mỗi khi người dùng muốn cập nhật thông tin hợp đồng hay tra cứu thông tin về hợp đồng đang thực hiện, đồng thời có thể thông qua đó cập nhật thu tiền hợp đồng mỗi khi đến kì hạn, và huỷ hợp đồng mỗi khi có yêu cầu.
Kết cấu giao diện
Giao diện gồm 4 datagrid, trong đó 1 datagrid lưu thông tin về tất cả các hợp đồng, 1 datagrid tìm kiếm thông tin hợp theo các tiêu thức, 1 datagrid lưu thông tin về việc thu phí hợp đồng và 1 datagrid hiện công nợ về hợp đồng đó.
Các bảng có liên quan
Sử dụng bảng Hợp đồng, Thu phí, Khách hàng và Nhân viên để lưu trữ thông tin về hợp đồng.
Form Cập nhật hợp đồng
Hình 3. 24 Form Cập nhật hợp đồng
Đặc điểm
Mô tả
Tên giao diện
Giao diện Thêm hợp đồng.
Tần xuất sử dụng
Được sử dụng mỗi khi người dùng muốn thêm mới các thông tin về hợp đồng.
Kết cấu giao diện
Giao diện gồm 3 tap, trong đó 1 tap lưu trữ thông tin chi tiết về hợp đồng, 1 tap cập nhật điều khoản hợp đồng đó và 1 tap để phân công giao việc cho cán bộ để thực hiện hợp đồng đó. Form này được hiện ra khi ta nhấn nút thêm ở form danh sách hợp đồng.
Các bảng có liên quan
Sử dụng bảng Điều khoản, Hợp đồng, Công việc để lưu trữ thông tin về hợp đồng.
Form Tìm kiếm hợp đồng
Hình 3. 25 Form Tìm kiếm hợp đồng
Đặc điểm
Mô tả
Tên giao diện
Giao diện Sửa hợp đồng.
Tần xuất sử dụng
Được sử dụng mỗi khi người dùng muốn sửa các thông tin về hợp đồng.
Kết cấu giao diện
Giao diện gồm 3 tap, trong đó 1 tap lưu trữ thông tin chi tiết về hợp đồng, 1 tap cập nhật điều khoản hợp đồng đó và 1 tap để phân công giao việc cho cán bộ để thực hiện hợp đồng đó. Form này được hiện ra khi ta nhấn nút Xem ở form danh sách hợp đồng.
Các bảng có liên quan
Sử dụng bảng Điều khoản, Hợp đồng, Công việc để lưu trữ thông tin về hợp đồng.
Form Cập nhật thu phí hợp đồng
Hình 3. 26 Form Cập nhật thu phí hợp đồng
Đặc điểm
Mô tả
Tên giao diện
Giao diện Thu phí hợp đồng.
Tần xuất sử dụng
Được sử dụng mỗi khi người dùng muốn cập nhật thông tin thu tiền của khách hàng mỗi khi đến hạn thanh toán.
Kết cấu giao diện
Giao diện gồm 2 datagrid, trong đó 1 datagrid hiện thông tin chi tiết về hợp đồng thu phí, 1 datagrid cập nhật thông tin thu tiền về hợp đồng đó. Form này được hiện ra khi nhấn nút Thu phí ở form Danh mục hợp đồng.
Các bảng có liên quan
Sử dụng bảng Thu phí để lưu trữ thông tin về hợp đồng.
Form huỷ hợp đồng
Hình 3. 27 Form Hủy hợp đồng
Đặc điểm
Mô tả
Tên giao diện
Giao diện huỷ hợp đồng.
Tần xuất sử dụng
Được sử dụng mỗi khi người dùng muốn huỷ hợp đồng vì lý do hết hạn hay vi phạm hợp đồng.
Kết cấu giao diện
Giao diện gồm thông tin chi tiết hợp đồng, và ô datetimepicker để chọn ngày huỷ hợp đồng, mặc định là ngày hiện thời.
Các bảng có liên quan
Sử dụng bảng hợp đồng để lưu trữ thông tin về ngày huỷ hợp đồng.
Báo cáo danh sách hợp đồng đang thực hiện
Hình 3. 28 Báo cáo danh sách hợp đồng đang thực hiện
Đặc điểm
Mô tả
Tên báo cáo
Danh sách hợp đồng đang thực hiện.
Đối tượng sử dụng
Ban giám đốc công ty muốn biết chính xác có bao nhiêu hợp đồng đang triển khai, thực hiện.
Tần suất sử dụng
Cuối kì lên báo cáo kinh doanh hoặc ban giám đốc có yêu cầu tìm hiểu thông tin về hợp đồng.
Giá trị sử dụng
Hỗ trợ ban giám đốc có kế hoạch hợp lý để thực hiện hợp đồng, mang lại hiệu quả sản xuất kinh doanh cao.
Báo cáo danh sách khách hàng
Hình 3. 29 Báo cáo danh sách khách hàng
Đặc điểm
Mô tả
Tên báo cáo
Danh sách khách hàng.
Đối tượng sử dụng
Ban giám đốc hoặc phòng tổ chức hành chính muốn biết có bao nhiêu khách hàng để có kế hoạch marketing dịch vụ của công ty.
Tần suất sử dụng
Mỗi khi có kế hoạch về marketing dịch vụ công ty cho khách hàng.
Giá trị sử dụng
Tìm kiếm nguồn khách hàng tiềm năng của công ty.
Báo cáo danh sách hợp đồng đáo hạn
Hình 3. 30 Báo cáo danh sách hợp đồng đáo hạn
Đặc điểm
Mô tả
Tên báo cáo
Danh sách hợp đồng đáo hạn
Đối tượng sử dụng
Ban giám đốc hoặc phòng hành chính muốn tìm hiểu có những hợp đồng nào đã thực hiện, tra cứu nó, đồng thời hỗ trợ phòng hành chính lên báo cáo kết quả hoạt động sản xuất kinh doanh.
Tần suất sử dụng
Cuối mỗi kì kế toán.
Giá trị sử dụng
Giúp ban giám đốc có chiến lược kinh doanh đúng đắn và hợp lý từ những hợp đồng đã thực hiện.
Cài đặt và bảo trì
Hệ thống phần cứng, phần mềm và một số yêu cầu về nhân lực để cài đặt hệ thống thông tin quản lý hợp đồng tại công ty:
Để cài đặt hệ thống thông tin đòi hỏi thiết bị phần cứng và phần mềm như sau:
Bộ vi xử lý Pentium® 90 MHz trở lên.
Màn hình VGA hoặc màn hình có độ phân giải cao được hỗ trợ bởi Microsoft Windows.
24 MB Ram đối với Windows 95, 32 MB Ram đối với Win NT hoặc XP, Microsoft Windows NT 3.51 trở lên hoặc các hệ điều hành của Microsoft từ Microsoft 95 trở lên.
Ngoài ra cần thêm một số thiết bị phần cứng khác giúp cho hệ thống hoạt động tốt như bàn phím, chuột, máy in, máy quét…
Một máy tính khi đã được cài đặt hệ điều hành và bộ nhớ không dưới 50 MB thì có thể tiến hàng cài đặt hệ thống.
Yêu cầu về đào tạo nhân lực cho hệ thống
Các chức năng của hệ thống khá đơn giản nên việc đào tạo nhân lực cho hệ thống cũng sẽ đơn giản. Để sử dụng phần mềm hệ thống họ sẽ được đào tạo trong hai ngày với chức năng chính và một số các phần khác và trong quá trình đào tạo có thể sửa đổi, bổ sung thêm một số mục để thuận tiện và phù hợp với người sử dụng. Số người của phòng kinh doanh tham gia đào tạo ít nhất là 3 người để đảm bảo duy trì hoạt động của hệ thống trong các ca khác nhau.
KẾT LUẬN
Ngày nay chúng ta đang sống trong kỷ nguyên của khoa học công nghệ. Với sự phát triển vượt bậc của khoa học công nghệ, con người đã bước đến những tầm cao mới. Thế giới đang chuyển mình nhanh chóng với những tiến bộ vượt bậc về công nghệ thông tin.
Công nghệ thông tin được ứng dụng vào tất cả các lĩnh vực của đời sống xã hội. Khoa học giáo dục là một trong những lĩnh vực đi đầu về phát triển công nghệ thông tin. Trường Đại học Kinh tế Quốc dân là truờng đại học hàng đầu của cả nước đào tạo cán bộ quản lí và cũng là trường đại học đứng đầu trong viêc ứng dụng công nghệ thông tin trong công tác quản lí và giảng dạy. Thông qua đề tài “Xây dựng hệ thống thông tin quản lý hợp đồng tại TRATECHCOM”, em xin góp một phần nhỏ công sức vào việc hoàn thiện hệ thống quản lí hợp đồng tại công ty Cổ phần thương mại công nghệ và xây dựng TRATECHCOM . Em hy vọng rằng hệ thống này có thể giải quyết được những vấn đề còn tồn đọng trong công tác quản lý hợp đồng, giảm bớt công tác tra cứu, cập nhật hợp đồng, đưa ra báo cáo hoàn chỉnh về từng loại hợp đồng, giúp quá trình lên báo cáo tính chi phí và doanh thu của công ty.
Do thời gian không nhiều cộng với sự thiếu sót về kinh nghiệm nên em không thể bao quát được hết những tình huống xảy ra trong công tác quản lý hợp đồng tại công ty TRATECHCOM. Đề tài này không thể tránh khỏi những khiếm khuyết và sai sót. Em rất mong được sự góp ý của các thầy cô để em có thể hoàn thiện và phát triển đề tài sâu hơn nữa.
Em xin gửi lời cảm ơn chân thành đến toàn thể cán bộ công nhân viên công ty Cổ phần Thương mại Công nghệ và Xây dựng TRATECHCOM đã nhiệt tình giúp đỡ trong qua trình tìm hiểu và xây dựng chương trình. Một lần nữa chúng em xin chân thành cảm ơn sự hướng dẫn và giúp đỡ tận tình của TS.Trần Thị Song Minh, người đã trực tiếp giảng dạy em và truyền thụ cho em nhiều kiến thức bổ ích, nhiều bài học kinh nghiệm trong công tác và trong cuộc sống để em có thể hoàn thành đề tài này và tạo đà cho chúng em phát triển vững chắc trong tương lai.
PHỤ LỤC
Form khách hang
Private addStatus As Boolean
Private editStatus As Boolean
Private Status As String
Private Sub cmdsua_Click()
Status = "EDIT"
txtmakh.Enabled = False
txttenkh.Enabled = True
txttencbdaidien.Enabled = True
txtchucvu.Enabled = True
txtdiachi.Enabled = True
txtdienthoai.Enabled = True
txtfax.Enabled = True
txtmasothue.Enabled = True
txttaikhoan.Enabled = True
If Adodckh.Recordset.RecordCount < 1 Then
MsgBox "Kh«ng cã b¶n ghi nµo ®Ó söa !"
txtmakh.SetFocus
Else
txttenkh.SetFocus
' editStatus = True
setStatus
setValue
End If
End Sub
Private Sub cmdThem_Click()
If Status = "" Then
Status = "ADD"
txtmakh.Enabled = True
txttenkh.Enabled = True
txttencbdaidien.Enabled = True
txtchucvu.Enabled = True
txtdiachi.Enabled = True
txtdienthoai.Enabled = True
txtfax.Enabled = True
txtmasothue.Enabled = True
txttaikhoan.Enabled = True
resetForm
txtmakh.SetFocus
'addStatus = True
setStatus
ElseIf Status = "ADD" Then
If Rs.State = 1 Then
Rs.Close
End If
Rs.Open "Select * from KhachHang where MaKhachHang = '" & Trim(txtmakh.Text) & "'"
If Rs.RecordCount > 0 Then
MsgBox "M· kh¸ch hµng nµy ®· cã ngêi chän, vui lßng chän m· kh¸c !"
txtmakh.SetFocus
Else
If CheckForm = True Then
Adodckh.Recordset.AddNew
Adodckh.Recordset(0) = txtmakh.Text
Adodckh.Recordset(1) = txttenkh.Text
Adodckh.Recordset(2) = txttencbdaidien.Text
Adodckh.Recordset(3) = txtchucvu.Text
Adodckh.Recordset(4) = txtdiachi.Text
Adodckh.Recordset(5) = txtdienthoai.Text
Adodckh.Recordset(6) = txtfax.Text
Adodckh.Recordset(7) = txtmasothue.Text
Adodckh.Recordset(8) = txttaikhoan.Text
'Adodckh.Recordset.CancelBatch
Adodckh.Recordset.Update
addStatus = False
txtmakh.SetFocus
txtmakh.Enabled = False
txttenkh.Enabled = False
txttencbdaidien.Enabled = False
txtchucvu.Enabled = False
txtdiachi.Enabled = False
txtdienthoai.Enabled = False
txtfax.Enabled = False
txtmasothue.Enabled = False
txttaikhoan.Enabled = False
setValue
Status = ""
setStatus
'Else
' MsgBox "D÷ liÖu nhËp kh«ng hîp lÖ !"
End If
End If
If Rs.State = 1 Then
Rs.Close
End If
ElseIf Status = "EDIT" Then
If Adodckh.Recordset.EOF = False And Adodckh.Recordset.BOF = False Then
If CheckForm = True Then
Adodckh.Recordset(0) = txtmakh.Text
Adodckh.Recordset(1) = txttenkh.Text
Adodckh.Recordset(2) = txttencbdaidien.Text
Adodckh.Recordset(3) = txtchucvu.Text
Adodckh.Recordset(4) = txtdiachi.Text
Adodckh.Recordset(5) = txtdienthoai.Text
Adodckh.Recordset(6) = txtfax.Text
Adodckh.Recordset(7) = txtmasothue.Text
Adodckh.Recordset(8) = txttaikhoan.Text
Adodckh.Recordset.Update
editStatus = False
txtmakh.Enabled = False
txttenkh.Enabled = False
txttencbdaidien.Enabled = False
txtchucvu.Enabled = False
txtdiachi.Enabled = False
txtdienthoai.Enabled = False
txtfax.Enabled = False
txtmasothue.Enabled = False
txttaikhoan.Enabled = False
Status = ""
setStatus
setValue
Else
MsgBox "D÷ liÖu nhËp kh«ng hîp lÖ !"
End If
Else
MsgBox "B¹n cha chän ®èi tîng cÇn söa !"
End If
Else
Status = ""
setStatus
End If
End Sub
Private Sub setStatus()
'If addStatus = False Then
' If editStatus = False Then
If Status = "" Then
cmdThem.Enabled = True
cmdThem.Caption = "Thªm"
cmdsua.Enabled = True
cmdXoa.Enabled = True
cmdhuy.Caption = "Tho¸t"
ElseIf Status = "EDIT" Then
cmdThem.Enabled = True
cmdThem.Caption = "Lu"
cmdsua.Enabled = False
cmdXoa.Enabled = False
cmdhuy.Caption = "Hñy"
ElseIf Status = "ADD" Then
cmdThem.Enabled = True
cmdThem.Caption = "Lu"
cmdsua.Enabled = False
cmdXoa.Enabled = False
cmdhuy.Caption = "Hñy"
Status = "ADD"
Else
Status = ""
setStatus
End If
End Sub
Private Function CheckForm() As Boolean
If txtmakh.Text = "" Then
MsgBox "B¹n cha nhËp m· kh¸ch hµng !", vbOKOnly, "Th«ng b¸o !"
txtmakh.SetFocus
CheckForm = False
ElseIf txttenkh.Text = "" Then
MsgBox "B¹n cha nhËp tªn kh¸ch hµng!", vbOKOnly, "Th«ng b¸o !"
txttenkh.SetFocus
CheckForm = False
ElseIf txttencbdaidien.Text = "" Then
MsgBox "B¹n cha nhËp tªn c¸n bé ®¹i diÖn!", vbOKOnly, "Th«ng b¸o !"
txttencbdaidien.SetFocus
CheckForm = False
ElseIf IsNumeric(txtdienthoai.Text) = False Then
MsgBox "B¹n ph¶i nhËp ®iÖn tho¹i lµ kiÓu sè!", vbOKOnly, "Th«ng b¸o !"
txtdienthoai.SetFocus
CheckForm = False
ElseIf txtchucvu.Text = "" Then
MsgBox "B¹n cha nhËp chøc vô !", vbOKOnly, "Th«ng b¸o !"
txtchucvu.SetFocus
CheckForm = False
ElseIf txtdiachi.Text = "" Then
MsgBox "B¹n cha nhËp ®Þa chØ kh¸ch hµng!", vbOKOnly, "Th«ng b¸o !"
txtdiachi.SetFocus
CheckForm = False
Else
CheckForm = True
End If
End Function
Private Sub cmdXoa_Click()
If Adodckh.Recordset.EOF = False And Adodckh.Recordset.BOF = False Then
setValue
If MsgBox("B¹n thùc sù muèn xãa " & Adodckh.Recordset(1) & " ra khái danh môc ?", vbYesNo, "Th«ng b¸o !") = vbYes Then
Adodckh.Recordset.Delete adAffectCurrent
If Adodckh.Recordset.RecordCount < 1 Then
resetForm
End If
End If
Else
MsgBox "B¹n cha chän kh¸ch hµng cÇn xãa !"
End If
End Sub
Private Sub dtgr_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
setValue
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{TAB}"
KeyAscii = 0
End If
End Sub
Private Sub Form_Load()
Adodckh.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database\QLHopDong.mdb;Persist Security Info=False"
Adodckh.RecordSource = "KhachHang"
Set dtgr.DataSource = Adodckh
txtmakh.Enabled = False
txttenkh.Enabled = False
txttencbdaidien.Enabled = False
txtchucvu.Enabled = False
txtdiachi.Enabled = False
txtdienthoai.Enabled = False
txtfax.Enabled = False
txtmasothue.Enabled = False
txttaikhoan.Enabled = False
addStatus = False
editStatus = False
setValue
setStatus
End Sub
Private Sub setValue()
If addStatus = False Then
If Adodckh.Recordset.EOF = False And Adodckh.Recordset.BOF = False Then
txtmakh.Text = Adodckh.Recordset(0)
txttenkh.Text = Adodckh.Recordset(1)
txttencbdaidien.Text = Adodckh.Recordset(2)
txtchucvu.Text = Adodckh.Recordset(3)
txtdiachi.Text = Adodckh.Recordset(4)
txtdienthoai.Text = Adodckh.Recordset(5)
txtfax.Text = Adodckh.Recordset(6)
txtmasothue.Text = Adodckh.Recordset(7)
txttaikhoan.Text = Adodckh.Recordset(8)
Else
resetForm
End If
End If
End Sub
Private Sub resetForm()
txtmakh.Text = ""
txttenkh.Text = ""
txttencbdaidien.Text = ""
txtchucvu.Text = ""
txtdiachi.Text = ""
txtdienthoai.Text = ""
txtfax.Text = ""
txtmasothue.Text = ""
txttaikhoan.Text = ""
End Sub
Private Sub txtMaCB_KeyPress(KeyAscii As Integer)
If Chr(KeyAscii) = vbBack Then Exit Sub
If Chr(KeyAscii) = "" Then Exit Sub
If Chr(KeyAscii) Like "[a-zA-Z0-9]" Then
KeyAscii = Asc(UCase(Chr(KeyAscii)))
Else
KeyAscii = 0
End If
End Sub
Private Sub cmdhuy_Click()
' If addStatus = True Then
' addStatus = False
' End If
'If editStatus = True Then
'editStatus = False
' End If
If Status = "" Then
Unload Me
Else
Status = ""
txtmakh.Enabled = False
txttenkh.Enabled = False
txttencbdaidien.Enabled = False
txtchucvu.Enabled = False
txtdiachi.Enabled = False
txtdienthoai.Enabled = False
txtfax.Enabled = False
txtmasothue.Enabled = False
txttaikhoan.Enabled = False
setStatus
setValue
End If
End Sub
Form danh mục hợp đồng
Dim MaHD, HTTT, MaCB, NgayHL, MaKH, NgayPH, DinhKy, GiaTriBH, NgayDaoHan, ThoiHanBH, NgayHuy, ThuPhi, DaiDienKH As String
Dim isInsert As Boolean
Private Status As String
Private addStatus As Boolean
Private Function CheckForm()
MaHD = txtmahopdong.Text
MaKH = txtmakhachhang.Text
GiaTriBH = txtgiatribh.Text
NgayPH = dtNgayPhatHanh.Value
NgayDaoHan = dtNgayDaoHan.Value
MaCB = txtmacb.Text
NgayHL = dtNgayHieuLuc.Value
ThuPhi = txtConNo.Text
DaiDienKH = txtDaiDienKH.Text
If MaHD = "" Then
MsgBox "B¹n cha nhËp sè hiÖu hîp ®ång"
CheckForm = 1
Exit Function
End If
If MaKH = "" Then
MsgBox "B¹n cha nhËp m· kh¸ch hµng"
CheckForm = 1
Exit Function
End If
If cbohinhthuctt = "" Then
MsgBox "B¹n cha chän h×nh thøc thanh to¸n"
CheckForm = 1
Exit Function
End If
If cbohinhthucbt = "" Then
MsgBox "B¹n cha nhËp h×nh thøc båi thêng"
CheckForm = 1
Exit Function
End If
If DaiDienKH = "" Then
MsgBox "B¹n cha nhËp ngêi ®¹i diÖn cña kh¸ch hµng"
CheckForm = 1
Exit Function
End If
If GiaTriBH = "" Then
MsgBox "B¹n cha nhËp gi¸ trÞ hîp ®ång"
CheckForm = 1
Exit Function
Else
If Not IsNumeric(GiaTriBH) Then
MsgBox "Gi¸ trÞ hîp ®ång ph¶i nhËp lµ sè nguyªn d¬ng"
CheckForm = 1
Exit Function
End If
End If
End Function
Private Sub cmdHuyHD_Click()
If Adodchd.Recordset.EOF = False And Adodchd.Recordset.BOF = False Then
Dim f As New frmHuyHopDong
f.MaHD = Adodchd.Recordset(0)
f.Show vbModal
Else
MsgBox "B¹n cha chän häp ®ång ®Ó hñy !", vbOKOnly, "Th«ng b¸o !"
End If
End Sub
Private Sub cmdketthuc_Click()
On Error GoTo Loi
Adodchd.Recordset.CancelBatch
Unload Me
Loi:
End Sub
Private Sub cmdKhachHang_Click()
frmDanhSach.StringSource "KhachHang", "HopDong"
frmDanhSach.Show
End Sub
Private Sub cmdKHThem_Click()
frmKhachHang.Show
End Sub
Private Sub ThemMoi()
On Error GoTo Loi
Dim Re As Integer
Re = CheckForm
If Re = 0 Then
Adodchd.Recordset.Update
MsgBox "Them moi ok"
End If
Loi:
If KiemTraMaDaTonTai(MaHD, "HopDong", "MaHopDong") = True Then
MsgBox "Sè hiÖu hîp ®ång võa nhËp ®· tån t¹i"
Adodchd.Recordset.CancelBatch
End If
If KiemTraMaDaTonTai(MaCB, "CanBo", "MaCanBo") = False Then
MsgBox "M· c¸n bé võa nhËp kh«ng tån t¹i"
Adodchd.Recordset.CancelBatch
End If
If KiemTraMaDaTonTai(MaKH, "khachhang", "MaKhachHang") = False Then
MsgBox "M· kh¸ch hµng võa nhËp kh«ng tån t¹i"
Adodchd.Recordset.CancelBatch
End If
End Sub
Private Sub SuaDoi()
On Error GoTo Loi
Dim Re As Integer
Re = CheckForm
If Re = 0 Then
Adodchd.Recordset.Update
End If
Loi:
If KiemTraMaDaTonTai(MaHD, "HopDong", "MaHopDong") = False Then
MsgBox "Sè hiÖu hîp ®ång võa nhËp kh«ng tån t¹i"
ElseIf KiemTraMaDaTonTai(MaCB, "CanBo", "MaCanBo") = False Then
MsgBox "M· c¸n bé võa nhËp kh«ng tån t¹i"
ElseIf KiemTraMaDaTonTai(MaKH, "khachhang", "MaKhachHang") = False Then
MsgBox "M· kh¸ch hµng võa nhËp kh«ng tån t¹i"
End If
Adodchd.Recordset.CancelBatch
End Sub
Private Sub cmdsua_Click()
End Sub
Private Sub cmdThem_Click()
Dim f As New frmThemHD
f.Show vbModal
End Sub
Private Sub cmdTimCB_Click()
frmDanhSach.StringSource "CanBo", "HopDong"
frmDanhSach.Show
End Sub
Private Sub cmdThuPhi_Click()
If Adodchd.Recordset.EOF = False And Adodchd.Recordset.BOF = False Then
Dim f As New frmThuPhi
f.MaHD = Adodchd.Recordset(0)
f.Show vbModal
Else
MsgBox "B¹n cha chän häp ®ång ®Ó hñy !", vbOKOnly, "Th«ng b¸o !"
End If
End Sub
Private Sub cmdTim_Click()
If Trim(txtTuKhoa.Text) = "" Then
Adodchd.RecordSource = "SELECT HopDong.MaHopDong, KhachHang.TenKhachHang, HopDong.DaiDienKH, HopDong.GiaTriBH, HopDong.DinhKi, HopDong.HinhThucTT, HopDong.HinhThucBT, HopDong.NgayPhatHanh, HopDong.NgayHieuLuc, HopDong.NgayDaoHan, HopDong.NgayHuy, HopDong.ConNo, CanBo.TenCanBo FROM KhachHang INNER JOIN (CanBo INNER JOIN HopDong ON CanBo.MaCanBo = HopDong.MaCB) ON KhachHang.MaKhachHang = HopDong.MaKhachHang;"
Else
If cboTraTheo.ListIndex = 0 Then
Adodchd.RecordSource = "SELECT HopDong.MaHopDong, KhachHang.TenKhachHang, HopDong.DaiDienKH, HopDong.GiaTriBH, HopDong.DinhKi, HopDong.HinhThucTT, HopDong.HinhThucBT, HopDong.NgayPhatHanh, HopDong.NgayHieuLuc, HopDong.NgayDaoHan, HopDong.NgayHuy, HopDong.ConNo, CanBo.TenCanBo FROM KhachHang INNER JOIN (CanBo INNER JOIN HopDong ON CanBo.MaCanBo = HopDong.MaCB) ON KhachHang.MaKhachHang = HopDong.MaKhachHang where HopDong.MaHopDong like '%" & txtTuKhoa.Text & "%'"
ElseIf cboTraTheo.ListIndex = 1 Then
Adodchd.RecordSource = "SELECT HopDong.MaHopDong, KhachHang.TenKhachHang, HopDong.DaiDienKH, HopDong.GiaTriBH, HopDong.DinhKi, HopDong.HinhThucTT, HopDong.HinhThucBT, HopDong.NgayPhatHanh, HopDong.NgayHieuLuc, HopDong.NgayDaoHan, HopDong.NgayHuy, HopDong.ConNo, CanBo.TenCanBo FROM KhachHang INNER JOIN (CanBo INNER JOIN HopDong ON CanBo.MaCanBo = HopDong.MaCB) ON KhachHang.MaKhachHang = HopDong.MaKhachHang where KhachHang.MaKhachHang like '%" & txtTuKhoa.Text & "%'"
ElseIf cboTraTheo.ListIndex = 2 Then
Adodchd.RecordSource = "SELECT HopDong.MaHopDong, KhachHang.TenKhachHang, HopDong.DaiDienKH, HopDong.GiaTriBH, HopDong.DinhKi, HopDong.HinhThucTT, HopDong.HinhThucBT, HopDong.NgayPhatHanh, HopDong.NgayHieuLuc, HopDong.NgayDaoHan, HopDong.NgayHuy, HopDong.ConNo, CanBo.TenCanBo FROM KhachHang INNER JOIN (CanBo INNER JOIN HopDong ON CanBo.MaCanBo = HopDong.MaCB) ON KhachHang.MaKhachHang = HopDong.MaKhachHang where KhachHang.TenKhachHang like '%" & txtTuKhoa.Text & "%'"
Else
Adodchd.RecordSource = "SELECT HopDong.MaHopDong, KhachHang.TenKhachHang, HopDong.DaiDienKH, HopDong.GiaTriBH, HopDong.DinhKi, HopDong.HinhThucTT, HopDong.HinhThucBT, HopDong.NgayPhatHanh, HopDong.NgayHieuLuc, HopDong.NgayDaoHan, HopDong.NgayHuy, HopDong.ConNo, CanBo.TenCanBo FROM KhachHang INNER JOIN (CanBo INNER JOIN HopDong ON CanBo.MaCanBo = HopDong.MaCB) ON KhachHang.MaKhachHang = HopDong.MaKhachHang;"
End If
End If
Adodchd.Refresh
DataGrid1.Refresh
End Sub
Private Sub cmdXem_Click()
If Adodchd.Recordset.EOF = False And Adodchd.Recordset.BOF = False Then
Dim f As New frmSuaHD
f.MaHD = Adodchd.Recordset(0)
f.Show vbModal
Else
MsgBox "B¹n cha chän häp ®ång ®Ó xem !", vbOKOnly, "Th«ng b¸o !"
End If
End Sub
Private Sub cmdXoa_Click()
' On Error GoTo Loi
If Adodchd.Recordset.EOF = False And Adodchd.Recordset.BOF = False Then
If MsgBox("B¹n thùc sù muèn xãa " & Adodchd.Recordset(1) & " ra khái danh môc ?", vbYesNo, "Th«ng b¸o !") = vbYes Then
Conn.BeginTrans
Conn.Execute "Delete from HopDong where MaHopDong='" & Adodchd.Recordset(0) & "'"
Conn.CommitTrans
End If
Adodchd.Refresh
DataGrid1.Refresh
End If
' Exit Sub
'Loi:
' MsgBox "Xãa gÆp lçi ?", vbOKOnly, "Th«ng b¸o !"
End Sub
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
If Adodchd.Recordset.EOF = False And Adodchd.Recordset.BOF = False Then
lblGiaTri.Caption = Adodchd.Recordset(3)
If Rs.State = 1 Then
Rs.Close
End If
Rs.Open "Select iif(isnull(sum(SoTien)),0,sum(SoTien)) from ThuPhi where MaHopDong='" & Adodchd.Recordset(0) & "'"
If Rs.RecordCount > 0 Then
Rs.MoveFirst
lblTra.Caption = Rs(0)
Else
lblTra.Caption = "0"
End If
If Rs.State = 1 Then
Rs.Close
End If
lblNo.Caption = Str(Val(lblGiaTri.Caption) - Val(lblTra.Caption))
Adodc1.RecordSource = "Select * from ThuPhi where MaHopDong='" & Adodchd.Recordset(0) & "'"
Adodc1.Refresh
DataGrid2.Refresh
End If
End Sub
Private Sub Form_Load()
cboTraTheo.AddItem "M· hîp ®ång", 0
cboTraTheo.AddItem "M· kh¸ch hµng", 1
cboTraTheo.AddItem "Tªn kh¸ch hµng", 2
cboTraTheo.ListIndex = 0
End Sub
Private Sub setValue()
If addStatus = False Then
If Adodchd.Recordset.EOF = False And Adodchd.Recordset.BOF = False Then
txtmahopdong.Text = Adodchd.Recordset(0)
txtmakhachhang.Text = Adodchd.Recordset(1)
txtDaiDienKH.Text = Adodchd.Recordset(2)
txtgiatribh.Text = Adodchd.Recordset(3)
cbodinhki.Text = Adodchd.Recordset(4)
cbohinhthuctt.Text = Adodchd.Recordset(5)
cbohinhthucbt.Text = Adodchd.Recordset(6)
dtNgayPhatHanh.Value = Adodchd.Recordset(7)
dtNgayHieuLuc.Value = Adodchd.Recordset(8)
dtNgayDaoHan.Value = Adodchd.Recordset(9)
txtConNo.Text = Adodchd.Recordset(11)
txtmacb.Text = Adodchd.Recordset(12)
Else
resetForm
End If
End If
End Sub
Private Sub resetForm()
txtmahopdong.Text = ""
txtmakhachhang.Text = ""
txtDaiDienKH.Text = ""
txtgiatribh.Text = ""
cbodinhki = ""
cbohinhthuctt = ""
cbohinhthucbt = ""
dtNgayPhatHanh.Value = DateTime.Now
dtNgayHieuLuc.Value = DateTime.Now
dtNgayDaoHan.Value = DateTime.Now
txtConNo.Text = ""
txtmacb.Text = ""
End Sub
'Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
' setValue'
'End Sub
Priate Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub lblHuyHD_Click()
End Sub
Form them hợp đồng
Public OK As Boolean
Public Status As Boolean
Private Sub cmdKhachHang_Click()
Dim f As New frmDanhSach
f.StringSource "KhachHang", "HopDong"
f.Show vbModal
txtmakhachhang.Text = f.Ma
End Sub
Private Sub cmdKHThem_Click()
Dim f As New frmKhachHang
f.Show vbModal
End Sub
Private Sub cmdLuu_Click()
Dim i As Integer
If CheckForm = True Then
If Rs.State = 1 Then
Rs.Close
End If
Rs.Open "Select * from HopDong where MaHopDong ='" & txtmahopdong.Text & "'"
If Rs.RecordCount > 0 Then
MsgBox "M· hîp ®ång nµy ®· tån t¹i, vui lßng chän m· kh¸c !", vbOKOnly, "Th«ng b¸o !"
Else
Conn.BeginTrans
Conn.Execute "Insert into HopDong(MaHopDong,MaKhachHang,DaiDienKH,GiaTriBH,DinhKi,HinhThucTT,HinhThucBT,NgayPhatHanh,NgayHieuLuc,NgayDaoHan,ConNo,MaCB) values('" & txtmahopdong.Text & "','" & txtmakhachhang.Text & "','" & txtDaiDienKH.Text & "'," & txtgiatribh.Text & ",'" & cbodinhki.Text & "','" & cbohinhthuctt.Text & "','" & cbohinhthucbt.Text & "',#" & dtNgayPhatHanh.Value & "#,#" & dtNgayHieuLuc.Value & "#,#" & dtNgayDaoHan.Value & "#," & txtConNo.Text & ",'" & txtmacb.Text & "')"
Conn.CommitTrans
If lvwDieuKhoan.ListItems.Count > 0 Then
For i = 1 To lvwDieuKhoan.ListItems.Count
Conn.BeginTrans
Conn.Execute "Insert into DieuKhoan(MaHopDong,TenDieuKhoan,NoiDung) values('" & txtmahopdong.Text & "','" & lvwDieuKhoan.ListItems(i) & "','" & lvwDieuKhoan.ListItems(i).SubItems(1) & "')"
Conn.CommitTrans
Next
End If
If lvwPhieuGiaoViec.ListItems.Count > 0 Then
For i = 1 To lvwPhieuGiaoViec.ListItems.Count
Conn.BeginTrans
Conn.Execute "Insert into CongViec(MaHopDong,TenCongViec,MoTa,MaCanBo,NgayBD,NgayKT) values('" & txtmahopdong.Text & "','" & lvwPhieuGiaoViec.ListItems(i) & "','" & lvwPhieuGiaoViec.ListItems(i).SubItems(1) & "','" & lvwPhieuGiaoViec.ListItems(i).SubItems(2) & "',#" & lvwPhieuGiaoViec.ListItems(i).SubItems(3) & "#,#" & lvwPhieuGiaoViec.ListItems(i).SubItems(4) & "#)"
Conn.CommitTrans
Next
End If
MsgBox "B¹n ®· thªm thµnh c«ng !", vbOKOnly, "Th«ng b¸o !"
Unload Me
End If
End If
End Sub
Private Sub cmdThem_Click()
If Trim(txtTenDieuKhoan.Text) = "" Then
MsgBox "B¹n cha nhËp tªn ®iÒu kho¶n !", vbOKOnly, "Th«ng b¸o !"
txtTenDieuKhoan.SetFocus
ElseIf Trim(txtNoiDung.Text) = "" Then
MsgBox "B¹n cha nhËp néi dung ®iÒu kho¶n !", vbOKOnly, "Th«ng b¸o !"
txtNoiDung.SetFocus
Else
Set ChiTiet = lvwDieuKhoan.ListItems.Add(, , txtTenDieuKhoan.Text)
ChiTiet.SubItems(1) = txtNoiDung.Text
With lvwDieuKhoan
If .ListItems.Count > 0 Then
Set .SelectedItem = .ListItems(1)
End If
End With
Set ChiTiet = Nothing
txtTenDieuKhoan.Text = ""
txtNoiDung.Text = ""
End If
End Sub
Private Sub cmdThemPGV_Click()
If Trim(txtTenCongViec.Text) = "" Then
MsgBox "B¹n cha nhËp tªn c«ng viÖc !", vbOKOnly, "Th«ng b¸o !"
txtTenCongViec.SetFocus
ElseIf Trim(txtcb.Text) = "" Then
MsgBox "B¹n cha nhËp tªn c¸n bé !", vbOKOnly, "Th«ng b¸o !"
txtcb.SetFocus
Else
Set ChiTiet = lvwPhieuGiaoViec.ListItems.Add(, , txtTenCongViec.Text)
ChiTiet.SubItems(1) = txtmota.Text
ChiTiet.SubItems(2) = txtcb.Text
ChiTiet.SubItems(3) = Str(DTPNgayBatDau.Value)
ChiTiet.SubItems(4) = Str(DTPNgayKetThuc.Value)
With lvwPhieuGiaoViec
If .ListItems.Count > 0 Then
Set .SelectedItem = .ListItems(1)
End If
End With
Set ChiTiet = Nothing
txtTenCongViec.Text = ""
txtmota.Text = ""
txtcb.Text = ""
End If
End Sub
Private Sub CmdThoat_Click()
Unload Me
End Sub
Private Sub cmdTim_Click()
Dim f As New frmDanhSach
f.StringSource "CanBo", "HopDong"
f.Show vbModal
txtcb.Text = f.Ma
End Sub
Private Sub cmdTimCB_Click()
Dim f As New frmDanhSach
f.StringSource "CanBo", "HopDong"
f.Show vbModal
txtmacb.Text = f.Ma
End Sub
Private Sub cmdXoa_Click()
If lvwDieuKhoan.ListItems.Count > 0 Then
lvwDieuKhoan.ListItems.Remove (lvwDieuKhoan.SelectedItem.Index)
Else
MsgBox "Kh«ng cã ®iÒu kho¶n nµo ®Ó xãa !", vbOKOnly, "Th«ng b¸o !"
End If
End Sub
Private Sub Command1_Click()
End Sub
Private Sub cmdXoaPGV_Click()
If lvwPhieuGiaoViec.ListItems.Count > 0 Then
lvwPhieuGiaoViec.ListItems.Remove (lvwPhieuGiaoViec.SelectedItem.Index)
Else
MsgBox "Kh«ng cã phiÕu giao viÖc nµo ®Ó xãa !", vbOKOnly, "Th«ng b¸o !"
End If
End Sub
Private Sub Form_Load()
LoadForm
OK = False
Status = False
End Sub
Private Sub LoadForm()
cbohinhthuctt.AddItem "TiÒn mÆt", 0
cbohinhthuctt.AddItem "ChuyÓn kho¶n", 1
cbohinhthuctt.ListIndex = 0
cbohinhthucbt.AddItem "TiÒn mÆt", 0
cbohinhthucbt.AddItem "ChuyÓn kho¶n", 1
cbohinhthucbt.ListIndex = 0
cbodinhki.AddItem "Quý", 0
cbodinhki.AddItem "N¨m", 1
cbdinhki.ListIndex = 0
dtNgayHieuLuc.Value = Now
dtNgayPhatHanh.Value = Now
dtNgayDaoHan.Value = Now + 360
With lvwDieuKhoan
.ColumnHeaders.Clear
.ColumnHeaders.Add , , "Tªn ®iÒu kho¶n", .Width * 0.4
.ColumnHeaders.Add , , "Néi dung ®iÒu kho¶n", .Width * 0.6
.ListItems.Clear
End With
With lvwPhieuGiaoViec
.ColumnHeaders.Clear
.ColumnHeaders.Add , , "Tªn c«ng viÖc", .Width * 0.4
.ColumnHeaders.Add , , "M« t¶", .Width * 0.6
.ColumnHeaders.Add , , "M· c¸n bé", .Width * 0.6
.ColumnHeaders.Add , , "Ngµy b¾t ®Çu", .Width * 0.6
.ColumnHeaders.Add , , "Ngµy kÕt thóc", .Width * 0.6
.ListItems.Clear
End With
End Sub
Private Function CheckForm() As Boolean
Dim flag As Boolean
flag = False
If Trim(txtmahopdong.Text) = "" Then
MsgBox "B¹n cha nhËp sè hiÖu hîp ®ång"
ElseIf Trim(txtmakhachhang.Text) = "" Then
MsgBox "B¹n cha nhËp m· kh¸ch hµng"
ElseIf Trim(txtDaiDienKH.Text) = "" Then
MsgBox "B¹n cha nhËp ngêi ®¹i diÖn cña kh¸ch hµng"
ElseIf Trim(txtgiatribh.Text) = "" Then
MsgBox "B¹n cha nhËp gi¸ trÞ hîp ®ång"
ElseIf IsNumeric(txtgiatribh.Text) = False Then
MsgBox "Gi¸ trÞ hîp ®ång ph¶i nhËp lµ sè nguyªn d¬ng"
ElseIf Trim(cbohinhthuctt.Text) = "" Then
MsgBox "B¹n cha chän h×nh thøc thanh to¸n"
ElseIf Trim(cbohinhthucbt.Text) = "" Then
MsgBox "B¹n cha nhËp h×nh thøc båi thêng"
ElseIf Trim(txtmacb.Text) = "" Then
MsgBox "B¹n cha nhËp m· c¸n bé"
Else
flag = True
End If
CheckForm = flag
End Function
Private Sub SSTab1_DblClick()
End Sub
Private Sub txtgiatribh_LostFocus()
If Trim(txtgiatribh.Text) "" And IsNumeric(GiaTriBH) Then
txtConNo.Text = txtgiatribh.Text
End If
End Sub
Form thu phí
Public MaHD As String
Dim temp As New ADODB.Recordset
Private Sub cmdketthuc_Click()
Unload Me
End Sub
Private Sub cmdLuu_Click()
If CheckForm = True Then
If Rs.State = 1 Then
Rs.Close
End If
Rs.Open "Select SoBienLai from ThuPhi where SoBienLai='" & txtSobienlai.Text & "'"
If Rs.RecordCount > 0 Then
MsgBox "Sè biªn lai nµy ®· tån t¹i !", vbOKOnly, "Th«ng b¸o !"
txtSobienlai.SetFocus
Else
Conn.BeginTrans
Conn.Execute "Insert into ThuPhi values('" & txtSobienlai.Text & "','" & MaHD & "',#" & DTNgayThu.Value & "#,'" & cboCachthuc.Text & "'," & txtSotien.Text & ")"
Conn.Execute "Update HopDong set ConNo=ConNo - " & txtSotien.Text & " where MaHopDong ='" & MaHD & "'"
Conn.CommitTrans
MsgBox "CËp nhËt thµnh c«ng !", vbOKOnly, "Th«ng b¸o !"
txtSobienlai.Text = ""
DTNgayThu.Value = Now
cboCachthuc.ListIndex = 0
txtSotien.Text = ""
End If
If Rs.State = 1 Then
Rs.Close
End If
End If
End Sub
Private Function CheckForm() As Boolean
Dim flag As Boolean
flag = False
If Trim(txtSobienlai.Text) = "" Then
MsgBox "B¹n cha nhËp sè biªn lai !", vbOKOnly, "Th«ng b¸o !"
txtSobienlai.SetFocus
ElseIf Trim(txtSotien.Text) = "" Then
MsgBox "B¹n cha nhËp sè tiÒn !", vbOKOnly, "Th«ng b¸o !"
txtSotien.SetFocus
ElseIf Not IsNumeric(txtSotien.Text) Then
MsgBox "B¹n cÇn nhËp sè tiÒn b»ng sè !", vbOKOnly, "Th«ng b¸o !"
txtSotien.SetFocus
Else
flag = True
End If
CheckForm = flag
End Function
Private Sub Form_Load()
LoadForm
End Sub
Private Sub LoadForm()
cbohinhthuctt.AddItem "TiÒn mÆt", 0
cbohinhthuctt.AddItem "ChuyÓn kho¶n", 1
cbohinhthuctt.ListIndex = 0
cbohinhthucbt.AddItem "TiÒn mÆt", 0
cbohinhthucbt.AddItem "ChuyÓn kho¶n", 1
cbohinhthucbt.ListIndex = 0
cbodinhki.AddItem "Quý", 0
cbodinhki.AddItem "N¨m", 1
cbodinhki.ListIndex = 0
cboCachthuc.AddItem "TiÒn mÆt", 0
cboCachthuc.AddItem "ChuyÓn kho¶n", 1
cboCachthuc.ListIndex = 0
With lvwDieuKhoan
.ColumnHeaders.Clear
.ColumnHeaders.Add , , "Tªn ®iÒu kho¶n", .Width * 0.4
.ColumnHeaders.Add , , "Néi dung ®iÒu kho¶n", .Width * 0.6
.ColumnHeaders.Add , , "", 0
.ListItems.Clear
End With
With lvwPhieuGiaoViec
.ColumnHeaders.Clear
.ColumnHeaders.Add , , "Tªn c«ng viÖc", .Width * 0.4
.ColumnHeaders.Add , , "M« t¶", .Width * 0.6
.ColumnHeaders.Add , , "M· c¸n bé", .Width * 0.6
.ColumnHeaders.Add , , "Ngµy b¾t ®Çu", .Width * 0.6
.ColumnHeaders.Add , , "Ngµy kÕt thóc", .Width * 0.6
.ColumnHeaders.Add , , "", 0
.ListItems.Clear
End With
If Rs.State = 1 Then
Rs.Close
End If
Rs.Open "Select * from HopDong where MaHopDong='" & MaHD & "'"
If Rs.RecordCount > 0 Then
txtmahopdong.Text = Rs(0)
txtmakhachhang.Text = Rs(1)
txtDaiDienKH.Text = Rs(2)
txtgiatribh.Text = Rs(3)
cbodinhki.Text = Rs(4)
cbohinhthuctt.Text = Rs(5)
cbohinhthucbt.Text = Rs(6)
dtNgayPhatHanh.Value = Rs(7)
dtNgayHieuLuc.Value = Rs(8)
dtNgayDaoHan.Value = Rs(9)
If Not IsNull(Rs(10)) Then
lblHuy.Caption = "Hñy ngµy " & Day(Rs(10)) & "/" & Month(Rs(10)) & "/" & Year(Rs(10))
Else
lblHuy.Caption = ""
End If
txtConNo.Text = Rs(11)
txtmacb.Text = Rs(12)
Dim ChiTiet As ListItem
Dim i As Integer
temp.Open "Select TenDieuKhoan,NoiDung,MaDieuKhoan from DieuKhoan where MaHopDong='" & MaHD & "'", Conn, adOpenStatic, adLockOptimistic
If temp.RecordCount > 0 Then
For i = 1 To temp.RecordCount
Set ChiTiet = lvwDieuKhoan.ListItems.Add(, , temp(0))
ChiTiet.SubItems(1) = temp(1)
ChiTiet.SubItems(2) = temp(2)
With lvwDieuKhoan
If .ListItems.Count > 0 Then
Set .SelectedItem = .ListItems(1)
End If
End With
Set ChiTiet = Nothing
Next
End If
temp.Close
temp.Open "Select TenCongViec,MoTa,MaCanBo,NgayBD,NgayKT,MaCongViec from CongViec where MaHopDong='" & MaHD & "'", Conn, adOpenStatic, adLockOptimistic
If temp.RecordCount > 0 Then
For i = 1 To temp.RecordCount
Set ChiTiet = lvwPhieuGiaoViec.ListItems.Add(, , temp(0))
ChiTiet.SubItems(1) = temp(1)
ChiTiet.SubItems(2) = temp(2)
ChiTiet.SubItems(3) = temp(3)
ChiTiet.SubItems(4) = temp(4)
ChiTiet.SubItems(5) = temp(5)
With lvwPhieuGiaoViec
If .ListItems.Count > 0 Then
Set .SelectedItem = .ListItems(1)
End If
End With
Set ChiTiet = Nothing
Next
End If
Else
txtmahopdong.Text = ""
txtmakhachhang.Text = ""
txtDaiDienKH.Text = ""
txtgiatribh.Text = ""
cbodinhki = ""
cbohinhthuctt = ""
cbohinhthucbt = ""
dtNgayPhatHanh.Value = DateTime.Now
dtNgayHieuLuc.Value = DateTime.Now
dtNgayDaoHan.Value = DateTime.Now
txtConNo.Text = ""
txtmacb.Text = ""
End If
If Rs.State = 1 Then
Rs.Close
End If
End Sub
Form hủy hợp đồng
Public MaHD As String
Dim temp As New ADODB.Recordset
Private Sub cmdHuyHD_Click()
If lblHuy.Caption = "" Then
Conn.BeginTrans
Conn.Execute "Update HopDong set NgayHuy=#" & dtpNgayHuy.Value & "# where MaHopDong='" & MaHD & "'"
Conn.CommitTrans
Unload Me
Else
MsgBox "Hîp ®ång nµy ®· hñy !", vbOKOnly, "Th«ng b¸o !"
End If
End Sub
Private Sub CmdThoat_Click()
Unload Me
End Sub
Private Sub Form_Load()
LoadForm
End Sub
Private Sub LoadForm()
dtpNgayHuy.Value = Now
cbohinhthuctt.AddItem "TiÒn mÆt", 0
cbohinhthuctt.AddItem "ChuyÓn kho¶n", 1
cbohinhthuctt.ListIndex = 0
cbohinhthucbt.AddItem "TiÒn mÆt", 0
cbohinhthucbt.AddItem "ChuyÓn kho¶n", 1
cbohinhthucbt.ListIndex = 0
cbodinhki.AddItem "Quý", 0
cbodinhki.AddItem "N¨m", 1
cbodinhki.ListIndex = 0
With lvwDieuKhoan
.ColumnHeaders.Clear
.ColumnHeaders.Add , , "Tªn ®iÒu kho¶n", .Width * 0.4
.ColumnHeaders.Add , , "Néi dung ®iÒu kho¶n", .Width * 0.6
.ColumnHeaders.Add , , "", 0
.ListItems.Clear
End With
With lvwPhieuGiaoViec
.ColumnHeaders.Clear
.ColumnHeaders.Add , , "Tªn c«ng viÖc", .Width * 0.4
.ColumnHeaders.Add , , "M« t¶", .Width * 0.6
.ColumnHeaders.Add , , "M· c¸n bé", .Width * 0.6
.ColumnHeaders.Add , , "Ngµy b¾t ®Çu", .Width * 0.6
.ColumnHeaders.Add , , "Ngµy kÕt thóc", .Width * 0.6
.ColumnHeaders.Add , , "", 0
.ListItems.Clear
End With
If Rs.State = 1 Then
Rs.Close
End If
Rs.Open "Select * from HopDong where MaHopDong='" & MaHD & "'"
If Rs.RecordCount > 0 Then
txtmahopdong.Text = Rs(0)
txtmakhachhang.Text = Rs(1)
txtDaiDienKH.Text = Rs(2)
txtgiatribh.Text = Rs(3)
cbodinhki.Text = Rs(4)
cbohinhthuctt.Text = Rs(5)
cbohinhthucbt.Text = Rs(6)
dtNgayPhatHanh.Value = Rs(7)
dtNgayHieuLuc.Value = Rs(8)
dtNgayDaoHan.Value = Rs(9)
If Not IsNull(Rs(10)) Then
lblHuy.Caption = "Hñy ngµy " & Day(Rs(10)) & "/" & Month(Rs(10)) & "/" & Year(Rs(10))
Else
lblHuy.Caption = ""
End If
txtConNo.Text = Rs(11)
txtmacb.Text = Rs(12)
Dim ChiTiet As ListItem
Dim i As Integer
temp.Open "Select TenDieuKhoan,NoiDung,MaDieuKhoan from DieuKhoan where MaHopDong='" & MaHD & "'", Conn, adOpenStatic, adLockOptimistic
If temp.RecordCount > 0 Then
For i = 1 To temp.RecordCount
Set ChiTiet = lvwDieuKhoan.ListItems.Add(, , temp(0))
ChiTiet.SubItems(1) = temp(1)
ChiTiet.SubItems(2) = temp(2)
With lvwDieuKhoan
If .ListItems.Count > 0 Then
Set .SelectedItem = .ListItems(1)
End If
End With
Set ChiTiet = Nothing
Next
End If
temp.Close
temp.Open "Select TenCongViec,MoTa,MaCanBo,NgayBD,NgayKT,MaCongViec from CongViec where MaHopDong='" & MaHD & "'", Conn, adOpenStatic, adLockOptimistic
If temp.RecordCount > 0 Then
For i = 1 To temp.RecordCount
Set ChiTiet = lvwPhieuGiaoViec.ListItems.Add(, , temp(0))
ChiTiet.SubItems(1) = temp(1)
ChiTiet.SubItems(2) = temp(2)
ChiTiet.SubItems(3) = temp(3)
ChiTiet.SubItems(4) = temp(4)
ChiTiet.SubItems(5) = temp(5)
With lvwPhieuGiaoViec
If .ListItems.Count > 0 Then
Set .SelectedItem = .ListItems(1)
End If
End With
Set ChiTiet = Nothing
Next
End If
Else
txtmahopdong.Text = ""
txtmakhachhang.Text = ""
txtDaiDienKH.Text = ""
txtgiatribh.Text = ""
cbodinhki = ""
cbohinhthuctt = ""
cbohinhthucbt = ""
dtNgayPhatHanh.Value = DateTime.Now
dtNgayHieuLuc.Value = DateTime.Now
dtNgayDaoHan.Value = DateTime.Now
txtConNo.Text = ""
txtmacb.Text = ""
End If
If Rs.State = 1 Then
Rs.Close
End If
End Sub
TÀI LIỆU THAM KHẢO
Giáo trình Hệ thống thông tin quản lý
TS. Trương Văn Tú, TS. Trần Thị Song Minh, khoa Tin học Kinh tế, đại học Kinh tế quốc dân, 2000.
Giáo trình Cơ sở dữ liệu
Thầy giáo Trần Công Uẩn, khoa Tin học Kinh tế, Đại học Kinh tế Quốc dân, NXB Thống Kê, 2005.
Các bài giảng:
Môn công nghệ phần mềm của PGS. TS. Hàn Viết Thuận.
Môn Hệ thống thông tin quản lý của TS. Trương Văn Tú.
Môn Lập trình ứng dụng trong quản lý của Ths. Trịnh Hoài Sơn.
Các Ebook về phát triển hệ thống thông tin quản lý
Các website www.caulacbovb.com, www.diendantinhoc.vn.
MỤC LỤC
Danh mục hình vẽ
Hình 1. 1 Sơ đồ cơ cấu tổ chức của công ty 8
Hình 1. 2 Mô hình hệ thống thông tin 17
Hình 2. 1 Mô hình hệ thống thông tin 17
Hình 2. 2 Phân loại hệ thống thông tin theo lĩnh vực nghiệp vụ 20
Hình 2. 3 Các kí pháp sơ đồ luồng thông tin 28
Hình 2. 4 Các kí pháp dùng cho sơ đồ luồng dữ liệu 29
Hình 3. 1 Sơ đồ luồng ký kết, lập và thực hiện hợp đồng 39
Hình 3. 2 Sơ đồ luồng thông tin quá trình thanh toán, thanh lý hợp đồng 40
Hình 3. 3 Sơ đồ chức năng BFD 41
Hình 3. 4 Sơ đồ chức năng BFD 41
Hình 3. 5 Sơ đồ luồng dữ liệu mức 0 của hệ thống thông tin quản lý hợp đồng 43
Hình 3. 6 Sơ đồ luồng dữ liệu mức 1 của tiến trình 1.0: Lập hợp đồng 44
Hình 3. 7 Sơ đồ luồng dữ liệu mức 1 của tiến trình 2.0: Thực hiện hợp đồng 45
Hình 3. 8 Sơ đồ luồng dữ liệu mức 1 của tiến trình 3.0: Thanh toán, thanh lý hợp đồng 46
Hình 3. 9 Sơ đồ luồng dữ liệu mức 1 của tiến trình 4.0: Lập báo cáo 47
Hình 3. 10 Mô hình ERD của hệ thống thông tin quản lý hợp đồng 48
Hình 3. 11 Mô hình DSD của hệ thống thông tin quản lý hợp đồng 49
Hình 3. 12 Mối quan hệ giữa các bảng trong cơ sở dữ liệu 60
Hình 3. 13 Giải thuật đăng nhập hệ thống 61
Hình 3. 14 Giải thuật cập nhật hợp đồng 62
Hình 3. 15 Giải thuật tìm kiếm dữ liệu 63
Hình 3. 16 Giải thuật thanh toán công nợ 64
Hình 3. 17 Giải thuật tạo báo cáo 65
Hình 3. 18 Giao diện chính của chương trình 66
Hình 3. 19 Form Đăng nhập chương trình 67
Hình 3. 20 Form Đổi mật khẩu 68
Hình 3. 21 Form Cập nhật cán bộ công nhân viên 69
Hình 3. 22 Form Cập nhật danh sách khách hàng 70
Hình 3. 23 Form Cập nhật điều khoản hợp đồng 71
Hình 3. 24 Form Cập nhật hợp đồng 72
Hình 3. 25 Form Tìm kiếm hợp đồng 73
Hình 3. 26 Form Cập nhật thu phí hợp đồng 74
Hình 3. 27 Form Hủy hợp đồng 75
Hình 3. 28 Báo cáo danh sách hợp đồng đang thực hiện 76
Hình 3. 29 Báo cáo danh sách khách hàng 77
Hình 3. 30 Báo cáo danh sách hợp đồng đáo hạn 78
Các file đính kèm theo tài liệu này:
- 32214.doc