Chuyên đề Xây dựng, thiết kế và cài đặt hệ thống thông tin phục vụ quản lý vốn tài trợ thương mại là nội dung của báo cáo tổng hợp sau 3 tháng thực tập tại ngân hàng nông nghiệp và phát triển nông thôn Việt Nam

Trong thời đại bùng nổ thông tin, hiện nay nhu cầu sử dụng các ứng dụng Tin học để xử lý thông tin là một nhu cầu cấp thiết. Ngoài việc tiếp nhận Công nghệ mới và sử dụng các phần mềm có sẵn, chúng ta cần phải có những chương trình ứng dụng của mình. Trong những năm trở lại đây, nghành Công nghệ phần mềm của nước ta đã có những bước ngoặt rất lớn, sản phẩm phần mềm không những chỉ phục vụ trong nước mà còn đang có hướng xuất khẩu ra nước ngoài xắp tới chúng ta hoàn thiện khu công nghệ cao Láng Hoà Lạc sẽ thu hút được rất nhiều các lập trình viên có đẳng cấp quốc tế và sẽ cho ra các sản phẩm phần mềm ngày càng có chất lượng cao. Và đưa Việt Nam trở thành một nước xuất khẩu phần mềm tầm cỡ khu vực cũng như trên thế giới. Những ứng dụng Tin học đã phục vụ rất tốt cho các hoạt động phát triển kinh tế xã hội mang lại hiệu quả kinh tế cao. Đặc biệt trong lĩnh vực quản lý có nhiều trương trình đạt tới trình độ cao, đáp ứng được nhu cầu cho người sử dụng. Việc tin học hoá các công tác quản lý nói chung và vấn đề quản lý tài trợ vốn tại NHN0VN nói riêng đã và đang được tiến hành mạnh mẽ ở khắp mọi nơi trên toàn quốc. Nó không chỉ giải phóng con người khỏi những công việc buòn tẻ mà còn nâng cao một cách đáng kể hiệu quả công việc, độ chính xác, an toàn của thông tin cao và là một cánh tay đắc lực trợ giúp cho con người đưa ra những qyết định chính xác trong công việc. Có thể nói rằng việc đưa Công nghệ mới vào vấn đề quản lý tài trợ vốn là cả một sự năng động, tìm tòi sáng tạo trọng việc đầu tư nhằm cải tiến Hệ thống cũng như trọng việc lựa chọn giải pháp kỹ thuật nhằm xây dựng một Hệ thống quản lý vốn giữa NHN0 &PTNTVN với các Ngân hàng chi nhánh và các Ngân hàng tài trợ vốn trên thế giới. Nhằm thanh toán chính xác, thuận lợi, an toàn và hiệu quả đáp ứng nhu cầu của khách hàng, giảm chi phí quản lý và tăng cường hiệu suất kinh doanh, sẵn sàng tích hợp với các sản phẩm Dịch vụ ngân hàng trong tương lai và thế giới. Hệ thống này sẽ giúp cho việc nâng cao chất lượng và hiệu quả kinh doanh.

doc85 trang | Chia sẻ: aloso | Lượt xem: 1443 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Chuyên đề Xây dựng, thiết kế và cài đặt hệ thống thông tin phục vụ quản lý vốn tài trợ thương mại là nội dung của báo cáo tổng hợp sau 3 tháng thực tập tại ngân hàng nông nghiệp và phát triển nông thôn Việt Nam, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
thống, vì nó xác định thông tin nào phải có mặt trước khi quá trình được thực hiện. Sơ đồ luồng giữ liệu ở mức tổng quát : Đối tác Ngân hàng Ban lãnh đạo khối phòng liên quan Hệ thống Trả Lời Yêu cầu Yêu cầu Báo cáo Mô hình trên thể hiện sự trao đổi thông tin giữa hệ thống và các tác nhân bên ngoài. Luồng giữ liệu từ bên ngoài của hệ thống bao qồm các yêu cầu của Ban lãnh đạo, các khối phòng liên quan. Luồng dữ liệu tạo ra bao gồm các báo cáo thống kê trả lời. Sau khi đã có sơ đồ mức tổng quát và dựa vào yêu cầu mục đích của Hệ thống ta có sơ đồ luồng dữ liệu phân giã chức năng như sau : Đối tác Ngân hàng Ban lãnh đạo, khối phòng liên quan Hệ thống Báo cáo Kho Dữ Liệu Trả Lời Yêu Cầu Tài Trợ Báo Cáo Yêu Cầu báo cáo Báo Cáo Yêu Cầu Báo Cáo Chức năng quản lý các khoản vốn tài trợ : Quản lý các khoản vốn tài trợ và các khoản vay cụ thể, quản lý các giao dịch phát sinh hàng ngày, sẽ nhận dữ liệu từ khối phòng liên quan gửi về và tiến hành cập nhật, xử lý, bổ xung vào kho dữ liệu. Chức năng Báo cáo : Lập các báo cáo thống kê căn cứ vào yêu cầu của ban lãnh đạo để đưa ra mẫu báo cáo thích hợp. Sơ đồ dữ liệu chức năng qủan lý Hồ sơ tài trợ Kho dữ liệu Đối tác tài trợ Ban lãnh đạo Khối phòng liên quan Cập nhật DL Xử lý Ngân hàng Yêu Cầu lãnh đạo Khối phòng liên quan Thông lãnh đạo Khối phòng liên quan tin Báo Cáo Báo cáo Thông tin trả lời Nhập khoản vay Nhập Giấy báo nợ Nhập lịch trả nợ Nhập phiếu trả nợ Yêu Cầu lãnh đạo Khối phòng liên quan Biểu đồ luồng dữ liệu chức năng cập nhật DL: Đối tác Quản lý KV Rút vốn Lịch trả nợ Kho dữ liệu Trả nợ Ban lãnh đạo Khối phòng liên quan Đối tác Ban lãnh đạo Khối phòng liên quan Trả nợ Rút vốn Đối tác Gia hạn Kho dữ liệu Sơ đồ luồng dữ liệu chức năng sử lý: Sơ đồ luồng dữ liệu chức năng báo cáo: Báo cáo Báo cáo Kho dữ liệu Tổng hợp Báo cáo chi tiết Ban lãnh đạo khối phòng liên quan Ngân hàng 2. Mô hình liên kết giữa các thực thể. Thực thể và các khoá Qua quá trình khảo sát ta có một số thực như sau: Các thực thể : Tên thực thể Nội dung Thuộc tính khoá Doitac Lưu trữ thông tin về các đối tác có quan hệ với NHNo & PTNT Bank_id Hosotaitro Các thông về hồ sơ tài trợ Hosovay Chứa các thông tin về các khoản vay cụ thể MasoKV Ngoaite Bảng mã các ngoại tệ MaNT Chinhanh Các chi nhánh của ngân hàng MasoCN Lichtrano Lịch trả nợ của các khoản vay Bank_id Sophieu Rutvon Các thông tin về từng rút của các khoản vay Bank_id MasoKV Sophieu Lantrano Các lần trả nợ cụ thể Bank_id Sophieu MasoKV - Table Doitac Name Type Width Dec Chú thích Bank_ID Ten Diachi Daidien Dienthoai Ghichu Text Text Text Text Number Text 15 50 60 25 11 60 1 Mã số đối tác Tên đối tác Địa chỉ Đại diện Diên thoại Ghichú - Table Chi nhánh Name Type Width Dec Chú thích MasoCn TenCN Daidien Dienthoai Ghichu Text Text Text Number Text 15 35 25 10 60 Mã số chi nhánh Tên chi nhánh Đại diện Điện thoại Ghi chú -Table Hosotaitro Name Type Width Dec Chú thích Bank_id Mucdich Giatri Laixuat Thoigian Dieukien NgayTT Text Text Number Number Number Text Date 15 35 10 3 3 45 10 Mã sô NH Mục đích Giá trị Lãi xuất Thời gian Điều kiện Ngày thoả thuận -Table HOVAYVON NaNameName Type Width Dec Chú thích Masohs NgayXN LoaiNgoaite Bank_id Loaivay Nguonvon Vontuco Giatri Anhan Nhucau Ngaytralai Giamlai Chuongtrinh Kieutra Hinhthucvay Thoigian CanboXN Daidien Chinhanh Taikhoan Text Date Text Text Text Text Number Number Number Text Date Text Text Text Text Date Text Text Text Text 15 10 6 15 25 25 10 10 3 40 10 15 30 30 30 10 25 26 39 12 1 Mã số hồ sơ Ngay xác nhận Loại ngoại tệ Mã số ngân hàng Loại vay(Tai trợ) Nguồn vốn Vốn tự có Gía trị khoản vay Ân hạn cho NH Nhu cầu vay Ngày BĐ trả lãi Giảm lãi không? Chương trình gì Kiểu trả(lãi,vốn) Hình thức(Vay) Thời gian vay Người xác nhận Đại diện ký Chi nhánh Tài khoản - Table Lantrano Name Type Width Dec Chú thích Masokv Bank_id Trano Ngaytra Sophieu Giatri Text Text Text Date Text Text 15 15 10 10 10 10 Mã số khoản vay Mã số đối tác Rút tiền? Ngày trả Số phiếu Giá trị - Table Rutvon Name Type Width Dec Chú thích Masokv Bank_id Rutvon Ngaytra Sophieu Giatri Text Text Text Date Text Text 15 15 10 10 10 10 Mã số khoản vay Mã số đối tác Rút tiền? Ngày trả Số phiếu Giá trị Mô hình liên kết giữ các thực thể Trano Rutvon Doitac(NH) Taitro Hosovayvon Tiente Chinhanh Lichtrano Biểu đồ phân cấp chức năng. Sau khi đã có các sơ đồ luồng dữ liệu, ta xây dựng biểu đồ phân cấp chức năng như sau: Sơ đồ chức năng Hệ thống Quản lý Hồ sơ tài trợ vốn Quản lý Giao dịch Thống kê báo cáo Sơ đồ phân cấp chức năng quản lý Hồ sơ tài trợ - Mỗi hồ sơ có một mã số duy nhất. -Quản lý thông tin chung về từng hồ sơ tài trợ và tường khoản vay cụ thể Các thông tin chung về hồ sơ tài trợ Các khoản vay khi trả nợ hết cả gốc và lãi . Các khoản vay huỷ bỏ Cập nhật hồ sơ Vấn tin Xoá hồ sơ Quản lý hồ sơ tài trợ Sơ đồ phân cấp chức năng quản lý giao dịch - Kiểm tra số dư còn lại xem có còn được rút không. - Ghi số tiền dút vào sổ Kiểm tra số tiền còn phải trả -Khi có sự chấp nhận của đối tác - Kiểm tra xem có được phép gia hạn không Rút vốn Trả nợ Gia hạn Quản lý giao dịch Sơ đồ phân cấp chức năng in báo cáo Tổng hợp số dư Liệt kê nợ đế hạn Liệt kê giao dịch Hệ thống báo cáo Căn cứ vào sơ đồ phân cấp chức năng ta xây dựng hệ thông thực đơn như sau : Quản lý hồ sơ Xác nhận về vốn tài trợ Thoả thuận về vốn tài trợ Thông tin đối tác tài trợ Danh mục các chi nhánh Danh mục Lãi suất Danh mục ngoại tệ Giao dịch hàng ngày Giao dịch dút vốn Giao dịch trả nợ Giao dịc tạo lịch trả nợ Giao dịch gia hạn nợ Các khoản vay &còn nợ Các khoản vay được &gia hạn Các khoản vay &quá hạn Hệ thống báo cáo Thống kê báo cáo hàng ngày Các KV ĐH phải trả trong ngày Các KV phát sinh trong ngày Các KV đã trả nợ trong ngày Thống kê &báo cáo NHNo Báo cáo đi vay &Ngắn hạn Báo cáo đi vay &dài hạn Theo dõi trả nợ và trả Lãi IV. Mô tả chi tiết các chức năng sử lý chung trong hệ thống quản lý Vốn tài trợ Hệ thống quản lý các hồ sơ vay nợ : Hệ thống này có các chức năng quản lý toàn bộ hồ sơ của các khoản vốn tài trợ cũng như các khoản vay cụ thể. Các thông tin này là nền tảng, là cơ sở xác định các mối quan hệ giữ NHNo & PTNT và các đối tác. Ta có thể phân ra thành các bộ hồ sơ như sau : Hồ sơ tài trợ : Quản lý thông tin về các khoản vốn tài trợ đã được thoả thuận giữa NHNo & PTNT và đối tác tài trợ. Các thông tin này bao gồm : mục đích sử dụng, giá trị khoản vốn tàu trợ, thời gian cho va , lãi xuất, điều kiện cu thể . Hồ sơ về khoản vay cụ thể: quản lý thông tin về khoản vay cụ thể như : số vốn đựoc chấp nhận thời gian, lãi xuất…. Hệ thống giao dịch : Quản lý các giao dịch phát sinh của các khoản vay đã được xác nhận, bao gồm các chức năng như : + Rút vốn : Số vốn tài trợ + Trả nợ : Trả tiền cho các khoản vay đến hạn phải trả. + Gia hạn : Với các điều kiện đến hạn trả nợ thì đối tác có thể gia hạn. Hệ thống báo cáo, thống kê : Cung cấp các biểu mẫu ttỏng hợp thống kê hàng thán, quí năm, theo yêu cầu của hệ thống. Theo dõi tình hình đi vay, trả nợ của các khoản vay. 4. Quản trị hệ thống : Một chương trình quản lý hệ thống thông tin được Tin học hoá thì Quản trị hệ thống là công việc không thể thiếu. 5. Chọn lựa cơ sở dữ liệu và môi trường phát triển. Do tính bảo mật của cơ sở dữ liệu lên môi trường để phát triển phù hợp đó là Oracle và Visual Basic. CHƯƠNG III : THIếT Kế Hệ TIN HọC QUảN Lý TàI TRợ VốN Quản lý hồ sơ vốn vay : Quản lý các hồ sơ giữa Ngân hàng nông nghiệp vơi các Ngân hàng nước ngoài. Các thông tin mà Máy tính lưu trữ chỉ là những điều khoản cơ bản nhất của hạn ngạch tài trợ này vì đây mới chỉ là những thủa thuận ban đầu còn khi nào phát sinh những khoản vay cụ thể thì mới có những khoản cụ thể phù hợp với từng khoản vay. ở đây chỉ sư dụng hai thực thể là BANK và INVITE các thực thể được liên kết vơi nhau như sau : BANK INVITE Form Xác nhận các khoản vay Trả nợ : Cán bộ quản lý chon tài trợ trên thực đơn mức giao dịch hàng ngày thì màn hình sẽ hiện lên như sau : Giao dịch trả nợ Các kiểm soát trên màn hình trả nợ : Về cơ bản cũng kiểm soát khoản vay và ố tham chiếu như các phần trên. Khi tiến hànhn giao dịch trả mới cho các lần rút vốn của từng khoản vay. Sau khi nhập mã số khoản vay và số tham chiếu hợp lệ qua sự kiểm soát của chuơng trình thì chương trình sẽ tính toán. Giao dịch hàng ngày : Rút vốn : Phần này cho phép quản lý thông tin chi tiết của các lần rút vốn hàng ngày khi nhận được các giấy báo rút tiền từ các ngân hàng chi nhánh Ta có giao diện sau : Giao dịch rút vốn Giao diện các chức năng của chương trình như sau : Giao diện này cho phép truy cập vào toàn bộ hệ thống : Giao diện của chương trình Giao diện Quản lý người sử dụng : Form Quản trị người dùng Form Gia hạn nợ Giao diện lịch trả nợ : Giao diện gia hạn cho các lần trả nợ : Giao diện các đối tác tài trợ vốn vay : Form Đối tác tài trợ Form Thoả thuận ban đầu Giao diện thỏa thuận về hạn ngạch tài trợ : Giao diện chính của chương trình: Kết luận Trong thời đại bùng nổ thông tin, hiện nay nhu cầu sử dụng các ứng dụng Tin học để xử lý thông tin là một nhu cầu cấp thiết. Ngoài việc tiếp nhận Công nghệ mới và sử dụng các phần mềm có sẵn, chúng ta cần phải có những chương trình ứng dụng của mình. Trong những năm trở lại đây, nghành Công nghệ phần mềm của nước ta đã có những bước ngoặt rất lớn, sản phẩm phần mềm không những chỉ phục vụ trong nước mà còn đang có hướng xuất khẩu ra nước ngoài xắp tới chúng ta hoàn thiện khu công nghệ cao Láng Hoà Lạc sẽ thu hút được rất nhiều các lập trình viên có đẳng cấp quốc tế và sẽ cho ra các sản phẩm phần mềm ngày càng có chất lượng cao. Và đưa Việt Nam trở thành một nước xuất khẩu phần mềm tầm cỡ khu vực cũng như trên thế giới. Những ứng dụng Tin học đã phục vụ rất tốt cho các hoạt động phát triển kinh tế xã hội mang lại hiệu quả kinh tế cao. Đặc biệt trong lĩnh vực quản lý có nhiều trương trình đạt tới trình độ cao, đáp ứng được nhu cầu cho người sử dụng. Việc tin học hoá các công tác quản lý nói chung và vấn đề quản lý tài trợ vốn tại NHN0VN nói riêng đã và đang được tiến hành mạnh mẽ ở khắp mọi nơi trên toàn quốc. Nó không chỉ giải phóng con người khỏi những công việc buòn tẻ mà còn nâng cao một cách đáng kể hiệu quả công việc, độ chính xác, an toàn của thông tin cao và là một cánh tay đắc lực trợ giúp cho con người đưa ra những qyết định chính xác trong công việc. Có thể nói rằng việc đưa Công nghệ mới vào vấn đề quản lý tài trợ vốn là cả một sự năng động, tìm tòi sáng tạo trọng việc đầu tư nhằm cải tiến Hệ thống cũng như trọng việc lựa chọn giải pháp kỹ thuật nhằm xây dựng một Hệ thống quản lý vốn giữa NHN0 &PTNTVN với các Ngân hàng chi nhánh và các Ngân hàng tài trợ vốn trên thế giới. Nhằm thanh toán chính xác, thuận lợi, an toàn và hiệu quả đáp ứng nhu cầu của khách hàng, giảm chi phí quản lý và tăng cường hiệu suất kinh doanh, sẵn sàng tích hợp với các sản phẩm Dịch vụ ngân hàng trong tương lai và thế giới. Hệ thống này sẽ giúp cho việc nâng cao chất lượng và hiệu quả kinh doanh. Hướng phát triển của chương trình : Trong tương lai gần sẽ hoàn thiện các chức năng và thực hiện việc quản lý toàn bộ các khoản vay nợ trong nước và nước ngoài. Do thời gian và trình độ có hạn của một sinh viên thực tập, do vậy mà chương trình không thể tránh khỏi những thiếu sót. Tôi rất mong nhận được sự đóng góp qúy báu của các thầy cô giáo và các bạn đồng nghiệp gần xa để Hệ thống được bảo trì và phát triển tốt hơn. Cuối cùng tôi xin trân thành cảm ơn thầy giáo : TS. Cao Đình Thi đã tận tình giúp đỡ tôi trong quá trình thực tập và hoàn thực hiện đề tài này. Tôi cũng xin chân thành cảm ơn anh Nguyễn Quốc Hùng trưởng phòng kỹ thuật phần mềm thuộc trung tâm công nghệ thông tin và toàn thể các anh lập trình viên đẫ tận tình giúp đỡ, đóng góp những ý kiến quý báu và tạo mọi điều kiện về cơ sở vật chất kỹ thuật, thuận lợi cho tôi trong quá trình thực tập tại phòngkỹ thuật phần mềm thuộc trung tâm Công nghệ thông tin của NHN0&PTNT Việt nam và đề làm đề tài này. Hà Nội tháng 5 năm 2002 Người thực hiện Nguyện Ngọc Toàn ***************************************************************** Một số Module của chương trình *****************************************************************’ ‘Toàn bộ cốt của form Xác nhận khoản vay ‘Dim gcnnsm As ADODB.Connection ‘Cn.CursorLocation = adUseClient Private Sukien As String Private Dulieu As String 'Lay du lieu tu Frm khac Private Sub CmbGIAMLAI_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtChuongt.SetFocus End If End Sub Private Sub cmdDONG_Click() Unload Me End Sub Private Sub Cmd_Click(Index As Integer) Select Case Index Case 1 Sukien = "Themmoi" Case 3 Sukien = "Suadoi" Case 2 If Sukien = "Suadoi" Then CmdSuadoi End If If Sukien = "Themmoi" Then CmdSave End If Case 4 CmdDelete End Select End Sub Private Sub CmdChinhanh_Click() Dulieu = "Chinhanh" Frmchinhanh.Show TxtTaikhoan.SetFocus End Sub Private Sub cmdFindt_Click() cmdFind End Sub Private Sub CmdKhachhang_Click() Dulieu = "Nganhang" FrmThoathuan.Show End Sub Private Sub CmdNgoaite_Click() Dulieu = "Ngoaite" FrmNgoaite.Show End Sub Private Sub Load() Sql = "select * from hosovayvon order by masohs " Set Rs = New ADODB.Recordset Set Rs = Cn.Execute(Sql) Rs.Open Sql, Cn, adOpenKeyset, adLockPessimistic Mdlpublic.FillMSgrid Rs, MSFlexGrid1 MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1) = Format(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1), "DD/MM/YYYY") MSFlexGrid1(MSFlexGrid1.Row, 0) = "" MSFlexGrid1.FormatString = "Mã số HS|Ngày Nhận" End Sub Private Sub Form_Load() Call SetMouse(Me) 'chen Tranh vao nut lenh Cmd(0).Picture = LoadResPicture("TIMKIEM", 0) Cmd(1).Picture = LoadResPicture("THEMMOIF2", 0) Cmd(3).Picture = LoadResPicture("SUADOI", 0) Cmd(4).Picture = LoadResPicture("XOAF8", 0) Cmd(2).Picture = LoadResPicture("CAPNHATF3", 0) Cmd(5).Picture = LoadResPicture("THOAT", 0) End Sub Private Sub MaskEdBox_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then CmdNgoaite.SetFocus End If End Sub Private Sub TxtBATDAUTRA_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then CmbGIAMLAI.SetFocus End If End Sub Private Sub TxtCBTD_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtDaidien.SetFocus End If End Sub Private Sub Txtchinhanh_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtTaikhoan.SetFocus End If End Sub Private Sub TxtChuongt_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtKieutra.SetFocus End If End Sub Private Sub TxtDaidien_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then CmdChinhanh.SetFocus End If End Sub Private Sub TxtGiatri_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtNGAYANHAN.SetFocus End If End Sub Private Sub TxtHTvay_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtThoigian.SetFocus End If End Sub Private Sub TxtKieutra_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtHTvay.SetFocus End If End Sub Private Sub TxtLoaivay_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtNguonvon.SetFocus End If End Sub Private Sub TxtNGAYANHAN_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtNhucau.SetFocus End If End Sub Private Sub TxtNguonvon_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtVONTUCO.SetFocus End If End Sub Private Sub TxtNhucau_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtBATDAUTRA.SetFocus End If End Sub Private Sub TxtPTvay_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtCBTD.SetFocus End If End Sub Private Sub Txtsohieuvay_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then MaskEdBox.SetFocus End If End Sub Private Sub TxtThoigian_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtPTvay.SetFocus End If End Sub Private Sub TxtVONTUCO_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtGiatri.SetFocus End If End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case Is = vbKeyF6 If Cmd(0).Enabled = True Then cmdFinds Case Is = 13 SendKeys "{Tab}", True Case Is = vbKeyF2 If Cmd(1).Enabled = True Then CmdAdds Case Is = vbKeyF3 If Cmd(2).Enabled = True Then CmdSaves Case Is = vbKeyF8 If Cmd(4).Enabled = True Then CmdDeletes Case Is = vbKeyF5 If Cmd(3).Enabled = True Then CmdEdits Case Is = vbKeyF12 If Cmd(5).Enabled = True Then CmdTSTCs End Select End Sub Private Sub CmdSave() If IsNull(Txtsohieuvay.Text) Then MsgBox " Mã số khoản vay ?", vbCritical, "Thông báo" Exit Sub Sql = "select * from Hosokhoanvay Where MasoHS= '" & Txtsohieuvay.Text & "'" Set Rs = New ADODB.Recordset Rs.Open Sql, Cn, adOpenKeyset, adLockPessimistic If Rs.RecordCount > 0 Then MsgBox " Mã số khoản vay đã dùng rồi", vbCritical, "Thông báo" Exit Sub If Not IsDate(MaskEdBox.Text) Then MaskEdBox = Date Else MaskEdBox.Text = Format(CDate(MaskEdBox.Text), "DD/MM/YYYY") End If If Not IsDate(TxtBATDAUTRA.Text) Then MaskEdBox = Date Else TxtBATDAUTRA.Text = Format(CDate(TxtBATDAUTRA.Text), "DD/MM/YYYY") End If If IsNull(Txtchinhanh.Text) Then MsgBox "Sử Dụng cho chi nhánh nào", vbCritical, "Thông báo" Exit Sub End If If IIf(IsNull(TxtNganhang.Text), "", TxtNganhang.Text) Then MsgBox "Đối tác tài trợ ?", vbCritical, "Thông báo" End If If IIf(IsNull(TxtTaikhoan.Text), "", TxtTaikhoan.Text) Then MsgBox "Khoản vay này cần đưa vào tài khoản nào ?", vbCritical, "Thông báo" End If ' Kiểm tra số tiềm vay phải < Số tiền Thoả thuận trước Dim NgayTT% NgayTT = Max(NgayTT) Sql = "Select Max(NgayTT) from Hstaitro where Bank_id ='" & TxtNganhang & "' " Set Rs = New ADODB.Recordset Set Rs = Cn.Execute(Sql) If Rs > Date Then Exit Sub Else Sql = "Select giatri from Hstaitro where Bank_id ='" & TxtNganhang & "' " Set Rs = New ADODB.Recordset Rs.Open Sql, Cn, adOpenKeyset, adLockPessimistic If TxtGiatri.Text > Rs("giatri") Then MsgBox "Khoản vay Không thể lớn hơn mức thoả thuận", vbCritical, "Thông báo" End If Exit Sub Sql = "Insert into Hosovayvon values('" & Txtsohieuvay.Text & "' " & _ ",'" & MaskEdBox.Text & "' ,'" & TxtLoaiNT.Text & "'" & _ ",'" & TxtNganhang.Text & "' ,'" & TxtLoaivay.Text & "' " & _ ",'" & TxtNguonvon.Text & "'," & TxtVONTUCO.Text & " " & _ ",'" & TxtNGAYANHAN.Text & "','" & TxtNhucau.Text & "' " & _ ", '" & TxtBATDAUTRA.Text & "', '" & CmbGIAMLAI.Text & "'" & _ ",'" & TxtChuongt.Text & "' ,'" & TxtKieutra.Text & "', '" & TxtHTvay.Text & "'" & _ "," & TxtThoigian.Text & ",'" & TxtPTvay.Text & "' " & _ ",'" & TxtCBTD.Text & "','" & TxtDaidien.Text & "' " & _ ",'" & Txtchinhanh.Text & "','" & TxtTaikhoan.Text & "')" Cn.Execute (Sql) End Sub Private Sub CmdSuadoi() Sql = " select NgayXN from Hosovayvon where MasoHS =' " & Txtsohieuvay.Text & " '" Set Rs = New ADODB.Recordset Set Rs = Cn.Execute(Sql) Dim Ngayvay% Dim Homnay% 'Hệ thống hoạt động theo tháng Homnay = FormatDateTime(Format(Date, "DD/MM/YYYY")) Ngayvay = FormatDateTime(Format(Rs("NgayXN"), "DD/MM/YYYY")) If Right(Homnay) - Right(Ngayvay) > 1 Then MsgBox "Khoản vay không thể sử chữa", vbCritical, "Thông báo" Exit Sub End If Sql = " Update Hosovayvon set " & _ " NgayXN= '" & MaskEdBox.Text & "' ,LoaiNgoaite= '" & TxtLoaiNT.Text & "'" & _ ",Bank_id= '" & TxtNganhang.Text & "' ,Loaivay='" & TxtLoaivay.Text & "' " & _ ",nguonvon ='" & TxtNguonvon.Text & "',vontuco=" & TxtVONTUCO.Text & " " & _ ",anhan='" & TxtNGATxtNguonvonYANHAN.Text & "',nhucau='" & TxtNhucau.Text & "' " & _ ", Ngaytralai='" & TxtBATDAUTRA.Text & "', Giamlai=' " & CmbGIAMLAI.Text & "'" & _ ",Chuongtrinh ='" & TxtChuongt.Text & "' ,Kieutra='" & TxtKieutra.Text & "', Hinhthucvay='" & TxtHTvay.Text & "'" & _ ",Thoigian=" & TxtThoigian.Text & ",Phuongthuc='" & TxtPTvay.Text & "' " & _ ",CanboXN='" & TxtCBTD.Text & "',Daidien='" & TxtDaidien.Text & "' " & _ ",Chinhanh='" & Txtchinhanh.Text & "',Taikhoan='" & TxtTaikhoan.Text & "'" & _ " where Masokv='" & Txtsohieuvay.Text & "'" Cn.Execute (Sql) Load ' Sua lai du lieu MsgBox "Khoản vay đã sửa chữa", vbInformation, "Thông báo" End Sub Private Sub CmdDelete() Dim ThamSoDele As String Dim Bien As String ThamSoDele = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) Sql = "select Sum(giatri) as SUMGT from Ruttien where MasoKV='" & ThamSoDele & "'" Set Rs = New ADODB.Recordset Set Rs = Cn.Execute(Sql) If Rs.Fields(0) >= TxtGiatri.Text Then Lưu chữ các khoản vay Sql = "insert into Lutru Select * from Hosovayvon where maoskv='" & ThamSoDele & "'" Cn.Execute (Sql) Sql = "Delete * from Hosovayvon Where MasoKV='" & ThamSoDele & "'" Bien = MsgBox("Xoá khoản vay vay có mã" & ThamSoDele, vbCritical + vbYesNo, "Thông báo") If Bien = 6 Then Cn.Execute (Sql) Load End If End If End Sub Private Sub cmdFind() 'Tìm theo mã hồ sơ Sql = "Select * from Hosovayvon Where Masohs ='" & Txtsohieuvay.Text & "' " Set Rs = New ADODB.Recordset Set Rs = Cn.Execute(Sql) Rs.Open Sql, Cn, adOpenKeyset, adLockPessimistic If Rs.RecordCount > 0 Then Mdlpublic.FillMSgrid Rs, MSFlexGrid1 FlextToTxt MSFlexGrid1.FormatString = "Mã số HS|^ Ngày XN|^Ngoại tệ|^ Ngân hàng | ^Loại vay |^ Nguồn vốn | " & _ "Vốn tự có|^Giá trị KV| Ân hạn| ^ Nhu cầu |^BĐTrả lãi|^Giảm lãi|^Chương trình|^Kiểu trả |^ Hình thức vay|^ " & _ "Thời gian |^ Phương thức|^ Cán bộ |^ Đại diện |^ Chi nhánh| ^Tài khoản" Else MsgBox "Không có khoản vay có mã số : " & Txtsohieuvay.Text, vbInformation, " Thông báo " End If End Sub Private Sub FlextToTxt() Txtsohieuvay.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) MaskEdBox.Text = Format(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1), "DD/MM/YYYY") TxtLoaiNT.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2) TxtNganhang.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3) TxtLoaivay.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 4) TxtNguonvon.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 5) TxtVONTUCO.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 6) TxtGiatri.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 7) TxtNGAYANHAN.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 8) TxtNhucau.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 9) TxtBATDAUTRA.Text = Format(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 10), "DD/MM/YYYY") CmbGIAMLAI.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 11) TxtChuongt.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 12) TxtKieutra.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 13) TxtHTvay.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 14) TxtThoigian.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 15) TxtPTvay.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 16) TxtCBTD.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 17) TxtDaidien.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 18) Txtchinhanh.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 19) TxtTaikhoan.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 20) End Sub ‘********************************************************************’ ‘Cốt của form Quản trị các user Dim Sql As String Dim Themsua As String Private Sub cmdghi_Click() Dim a, b, c, d As String On Error GoTo Loi a = Me.txtMaso b = Me.txtMatkhau c = Me.txtQuyenTC d = Me.txtTenUser e = Me.txttendd.Text f = Me.txtTenGhiChu.Text If a = "" And c = "" Then MsgBox "Mã số và quyền không được rỗng", vbOKOnly + vbExclamation, "Thông báo" Me.txtMaso.SetFocus Exit Sub End If If b = "" Then b = " " End If If d = "" Then d = " " End If If e = "" Then e = " " End If If f = "" Then f = " " End If If Themsua = "them" Then Sql = "Insert into NSD Values ('" & a & "','" & d & "', '" & b & "', '" & c & "', '" & e & "', '" & f & "')" Cn.Execute (Sql) MsgBox "Bạn đã thực hiện thành công", vbOKOnly + vbExclamation, "Thông báo" End If If Themsua = "sua" Then Sql = "Update NSD set Ten_NSD = '" & Me.txtTenUser & "', MM_NSD ='" & Me.txtMatkhau & "', QUYEN = '" & Me.txtQuyenTC & "' , TEN_DAY_DU ='" & Me.txttendd & "', GHI_CHU ='" & Me.txtTenGhiChu & "' where Maso = '" & Me.txtMaso.Text & "'" Cn.Execute (Sql) End If Dim FormatString As String Sql = "Select Maso,Ten_NSD from NSD Order by Maso " FormatString = "STT |Mã số |Tên người sử dụng " Set Rs = Cn.Execute(Sql) Call Load_Flex(FormatString, Rs, GridUser) Set Rs = Nothing TextDisable Me.cmdghi.Enabled = False Me.cmdthem.Enabled = True TextDisable TextClear Exit Sub Loi: Dim user_err user_err = "Mã Lỗi : " & Err & " -> " & Err.Description MsgBox user_err, 16 Exit Sub End Sub Private Sub cmdsua_Click() Themsua = "sua" Me.txtMaso.Enabled = False Me.txtMatkhau.Enabled = True Me.txtQuyenTC.Enabled = True Me.txtTenUser.Enabled = True Me.txttendd.Enabled = True Me.txtTenGhiChu.Enabled = True Me.cmdghi.Enabled = True ' Me.cmdTHEM.Enabled = False End Sub Private Sub cmdTHEM_Click() TextEnable TextClear Themsua = "them" Me.txtMaso.SetFocus Me.cmdghi.Enabled = True Me.cmdxoa.Enabled = False Me.cmdsua.Enabled = False End Sub Private Sub cmdXOA_Click() Dim FormatString As String Dim Thong_Bao As String On Error GoTo Loi Thong_Bao = MsgBox("Bạn có chắc chẵn xoá bản ghi này không", vbOKCancel, "Thông báo") If Thong_Bao = vbOK Then Cn.BeginTrans Sql = "Delete from NSD Where Maso='" & Me.txtMaso.Text & "'" Set Rs = Cn.Execute(Sql) Set Rs = Nothing Cn.CommitTrans Sql = "Select Maso,Ten_NSD from NSD order by maso" FormatString = "STT |Mã số |Tên người sử dụng " Set Rs = Cn.Execute(Sql) Call Load_Flex(FormatString, Rs, GridUser) TextDisable TextClear End If Exit Sub Loi: MsgBox "Bạn Không thể xoá được bản ghi này", , "Thông báo" End Sub Private Sub Form_Load() Dim FormatString As String Dim i As Integer Sql = "Select * from NSD Order by Maso" Header = "STT |Mã số |Tên người sử dụng " Set Rs = Cn.Execute(Sql) GridUser.Cols = 3 GridUser.FormatString = Header i = 1 If Not Rs.EOF Then Rs.MoveFirst GridUser.Rows = 1 Do While Not Rs.EOF GridUser.Rows = GridUser.Rows + 1 GridUser.Row = GridUser.Rows - 1 GridUser.TextMatrix(i, 0) = Str(i) GridUser.TextMatrix(GridUser.Row, 1) = Rs!maso GridUser.TextMatrix(GridUser.Row, 2) = Rs!Ten_NSD i = i + 1 Rs.MoveNext Loop Else GridUser.Rows = 1 GridUser.Rows = 2 End If Set Rs = Nothing TextDisable Me.cmdghi.Enabled = False Me.cmdsua.Enabled = False Me.cmdxoa.Enabled = False End Sub Private Sub TextDisable() Me.txtMaso.Enabled = False Me.txtMatkhau.Enabled = False Me.txtQuyenTC.Enabled = False Me.txtTenUser.Enabled = False Me.txttendd.Enabled = False Me.txtTenGhiChu.Enabled = False End Sub Private Sub TextEnable() Me.txtMaso.Enabled = True Me.txtMatkhau.Enabled = True Me.txtQuyenTC.Enabled = True Me.txtTenUser.Enabled = True Me.txttendd.Enabled = True Me.txtTenGhiChu.Enabled = True End Sub Private Sub TextClear() Me.txtMaso.Text = "" Me.txtMatkhau.Text = "" Me.txtQuyenTC.Text = "" Me.txtTenUser.Text = "" Me.txttendd.Text = "" Me.txtTenGhiChu.Text = "" End Sub Private Sub GridUser_Click() Set Rs = Cn.Execute("Select * from NSD Order by Maso") Rs.Move Me.GridUser.Row - 1, 1 Me.txtMaso.Text = Rs!maso Me.txtMatkhau.Text = IIf(Not IsNull(Rs!MM_NSD), Rs!MM_NSD, " ") Me.txtQuyenTC.Text = IIf(Not IsNull(Rs!QUYEN), Rs!QUYEN, " ") Me.txtTenUser.Text = IIf(Not IsNull(Rs!Ten_NSD), Rs!Ten_NSD, " ") Me.txttendd.Text = IIf(Not IsNull(Rs!Ten_DAY_DU), Rs!Ten_DAY_DU, " ") Me.txtTenGhiChu.Text = IIf(Not IsNull(Rs!GHI_CHU), Rs!GHI_CHU, " ") Me.cmdxoa.Enabled = True Me.cmdsua.Enabled = True End Sub Private Sub txtMaso_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Me.txtMatkhau.SetFocus End If End Sub Private Sub txtMatkhau_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Me.txtQuyenTC.SetFocus End If End Sub Private Sub txtQuyenTC_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Me.txtTenUser.SetFocus End If End Sub Private Sub txttendd_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Me.txtTenGhiChu.SetFocus End If End Sub Private Sub txtTenGhiChu_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Me.cmdghi.SetFocus End If End Sub Private Sub txtTenUser_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Me.txttendd.SetFocus End If End Sub ‘ Xác nhận khoản vay ‘Dim gcnnsm As ADODB.Connection ‘Cn.CursorLocation = adUseClient Private Sukien As String Private Dulieu As String 'Lay du lieu tu Frm khac Private Sub CmbGIAMLAI_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtChuongt.SetFocus End If End Sub Private Sub cmdDONG_Click() Unload Me End Sub Private Sub Cmd_Click(Index As Integer) Select Case Index Case 1 Sukien = "Themmoi" Case 3 Sukien = "Suadoi" Case 2 If Sukien = "Suadoi" Then CmdSuadoi End If If Sukien = "Themmoi" Then CmdSave End If Case 4 CmdDelete End Select End Sub Private Sub CmdChinhanh_Click() Dulieu = "Chinhanh" Frmchinhanh.Show TxtTaikhoan.SetFocus End Sub Private Sub cmdFindt_Click() cmdFind End Sub Private Sub CmdKhachhang_Click() Dulieu = "Nganhang" FrmThoathuan.Show End Sub Private Sub CmdNgoaite_Click() Dulieu = "Ngoaite" FrmNgoaite.Show End Sub Private Sub Load() Sql = "select * from hosovayvon order by masohs " Set Rs = New ADODB.Recordset Set Rs = Cn.Execute(Sql) Rs.Open Sql, Cn, adOpenKeyset, adLockPessimistic Mdlpublic.FillMSgrid Rs, MSFlexGrid1 MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1) = Format(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1), "DD/MM/YYYY") MSFlexGrid1(MSFlexGrid1.Row, 0) = "" MSFlexGrid1.FormatString = "Mã số HS|Ngày Nhận" End Sub Private Sub Form_Load() Call SetMouse(Me) 'chen Tranh vao nut lenh Cmd(0).Picture = LoadResPicture("TIMKIEM", 0) Cmd(1).Picture = LoadResPicture("THEMMOIF2", 0) Cmd(3).Picture = LoadResPicture("SUADOI", 0) Cmd(4).Picture = LoadResPicture("XOAF8", 0) Cmd(2).Picture = LoadResPicture("CAPNHATF3", 0) Cmd(5).Picture = LoadResPicture("THOAT", 0) End Sub Private Sub MaskEdBox_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then CmdNgoaite.SetFocus End If End Sub Private Sub TxtBATDAUTRA_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then CmbGIAMLAI.SetFocus End If End Sub Private Sub TxtCBTD_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtDaidien.SetFocus End If End Sub Private Sub Txtchinhanh_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtTaikhoan.SetFocus End If End Sub Private Sub TxtChuongt_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtKieutra.SetFocus End If End Sub Private Sub TxtDaidien_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then CmdChinhanh.SetFocus End If End Sub Private Sub TxtGiatri_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtNGAYANHAN.SetFocus End If End Sub Private Sub TxtHTvay_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtThoigian.SetFocus End If End Sub Private Sub TxtKieutra_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtHTvay.SetFocus End If End Sub Private Sub TxtLoaivay_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtNguonvon.SetFocus End If End Sub Private Sub TxtNGAYANHAN_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtNhucau.SetFocus End If End Sub Private Sub TxtNguonvon_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtVONTUCO.SetFocus End If End Sub Private Sub TxtNhucau_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtBATDAUTRA.SetFocus End If End Sub Private Sub TxtPTvay_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtCBTD.SetFocus End If End Sub Private Sub Txtsohieuvay_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then MaskEdBox.SetFocus End If End Sub Private Sub TxtThoigian_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtPTvay.SetFocus End If End Sub Private Sub TxtVONTUCO_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = vbKeyTab Then TxtGiatri.SetFocus End If End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case Is = vbKeyF6 If Cmd(0).Enabled = True Then cmdFinds Case Is = 13 SendKeys "{Tab}", True Case Is = vbKeyF2 If Cmd(1).Enabled = True Then CmdAdds Case Is = vbKeyF3 If Cmd(2).Enabled = True Then CmdSaves Case Is = vbKeyF8 If Cmd(4).Enabled = True Then CmdDeletes Case Is = vbKeyF5 If Cmd(3).Enabled = True Then CmdEdits Case Is = vbKeyF12 If Cmd(5).Enabled = True Then CmdTSTCs End Select End Sub Private Sub CmdSave() If IsNull(Txtsohieuvay.Text) Then MsgBox " Mã số khoản vay ?", vbCritical, "Thông báo" Exit Sub Sql = "select * from Hosokhoanvay Where MasoHS= '" & Txtsohieuvay.Text & "'" Set Rs = New ADODB.Recordset Rs.Open Sql, Cn, adOpenKeyset, adLockPessimistic If Rs.RecordCount > 0 Then MsgBox " Mã số khoản vay đã dùng rồi", vbCritical, "Thông báo" Exit Sub If Not IsDate(MaskEdBox.Text) Then MaskEdBox = Date Else MaskEdBox.Text = Format(CDate(MaskEdBox.Text), "DD/MM/YYYY") End If If Not IsDate(TxtBATDAUTRA.Text) Then MaskEdBox = Date Else TxtBATDAUTRA.Text = Format(CDate(TxtBATDAUTRA.Text), "DD/MM/YYYY") End If If IsNull(Txtchinhanh.Text) Then MsgBox "Sử Dụng cho chi nhánh nào", vbCritical, "Thông báo" Exit Sub End If If IIf(IsNull(TxtNganhang.Text), "", TxtNganhang.Text) Then MsgBox "Đối tác tài trợ ?", vbCritical, "Thông báo" End If If IIf(IsNull(TxtTaikhoan.Text), "", TxtTaikhoan.Text) Then MsgBox "Khoản vay này cần đưa vào tài khoản nào ?", vbCritical, "Thông báo" End If ' Kiểm tra số tiềm vay phải < Số tiền Thoả thuận trước Dim NgayTT% NgayTT = Max(NgayTT) Sql = "Select Max(NgayTT) from Hstaitro where Bank_id ='" & TxtNganhang & "' " Set Rs = New ADODB.Recordset Set Rs = Cn.Execute(Sql) If Rs > Date Then Exit Sub Else Sql = "Select giatri from Hstaitro where Bank_id ='" & TxtNganhang & "' " Set Rs = New ADODB.Recordset Rs.Open Sql, Cn, adOpenKeyset, adLockPessimistic If TxtGiatri.Text > Rs("giatri") Then MsgBox "Khoản vay Không thể lớn hơn mức thoả thuận", vbCritical, "Thông báo" End If Exit Sub Sql = "Insert into Hosovayvon values('" & Txtsohieuvay.Text & "' " & _ ",'" & MaskEdBox.Text & "' ,'" & TxtLoaiNT.Text & "'" & _ ",'" & TxtNganhang.Text & "' ,'" & TxtLoaivay.Text & "' " & _ ",'" & TxtNguonvon.Text & "'," & TxtVONTUCO.Text & " " & _ ",'" & TxtNGAYANHAN.Text & "','" & TxtNhucau.Text & "' " & _ ", '" & TxtBATDAUTRA.Text & "', '" & CmbGIAMLAI.Text & "'" & _ ",'" & TxtChuongt.Text & "' ,'" & TxtKieutra.Text & "', '" & TxtHTvay.Text & "'" & _ "," & TxtThoigian.Text & ",'" & TxtPTvay.Text & "' " & _ ",'" & TxtCBTD.Text & "','" & TxtDaidien.Text & "' " & _ ",'" & Txtchinhanh.Text & "','" & TxtTaikhoan.Text & "')" Cn.Execute (Sql) End Sub Private Sub CmdSuadoi() Sql = " select NgayXN from Hosovayvon where MasoHS =' " & Txtsohieuvay.Text & " '" Set Rs = New ADODB.Recordset Set Rs = Cn.Execute(Sql) Dim Ngayvay% Dim Homnay% 'Hệ thống hoạt động theo tháng Homnay = FormatDateTime(Format(Date, "DD/MM/YYYY")) Ngayvay = FormatDateTime(Format(Rs("NgayXN"), "DD/MM/YYYY")) If Right(Homnay) - Right(Ngayvay) > 1 Then MsgBox "Khoản vay không thể sử chữa", vbCritical, "Thông báo" Exit Sub End If Sql = " Update Hosovayvon set " & _ " NgayXN= '" & MaskEdBox.Text & "' ,LoaiNgoaite= '" & TxtLoaiNT.Text & "'" & _ ",Bank_id= '" & TxtNganhang.Text & "' ,Loaivay='" & TxtLoaivay.Text & "' " & _ ",nguonvon ='" & TxtNguonvon.Text & "',vontuco=" & TxtVONTUCO.Text & " " & _ ",anhan='" & TxtNGATxtNguonvonYANHAN.Text & "',nhucau='" & TxtNhucau.Text & "' " & _ ", Ngaytralai='" & TxtBATDAUTRA.Text & "', Giamlai=' " & CmbGIAMLAI.Text & "'" & _ ",Chuongtrinh ='" & TxtChuongt.Text & "' ,Kieutra='" & TxtKieutra.Text & "', Hinhthucvay='" & TxtHTvay.Text & "'" & _ ",Thoigian=" & TxtThoigian.Text & ",Phuongthuc='" & TxtPTvay.Text & "' " & _ ",CanboXN='" & TxtCBTD.Text & "',Daidien='" & TxtDaidien.Text & "' " & _ ",Chinhanh='" & Txtchinhanh.Text & "',Taikhoan='" & TxtTaikhoan.Text & "'" & _ " where Masokv='" & Txtsohieuvay.Text & "'" Cn.Execute (Sql) Load ' Sua lai du lieu MsgBox "Khoản vay đã sửa chữa", vbInformation, "Thông báo" End Sub Private Sub CmdDelete() Dim ThamSoDele As String Dim Bien As String ThamSoDele = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) Sql = "select Sum(giatri) as SUMGT from Ruttien where MasoKV='" & ThamSoDele & "'" Set Rs = New ADODB.Recordset Set Rs = Cn.Execute(Sql) If Rs.Fields(0) >= TxtGiatri.Text Then Lưu chữ các khoản vay Sql = "insert into Lutru Select * from Hosovayvon where maoskv='" & ThamSoDele & "'" Cn.Execute (Sql) Sql = "Delete * from Hosovayvon Where MasoKV='" & ThamSoDele & "'" Bien = MsgBox("Xoá khoản vay vay có mã" & ThamSoDele, vbCritical + vbYesNo, "Thông báo") If Bien = 6 Then Cn.Execute (Sql) Load End If End If End Sub Private Sub cmdFind() 'Tìm theo mã hồ sơ Sql = "Select * from Hosovayvon Where Masohs ='" & Txtsohieuvay.Text & "' " Set Rs = New ADODB.Recordset Set Rs = Cn.Execute(Sql) Rs.Open Sql, Cn, adOpenKeyset, adLockPessimistic If Rs.RecordCount > 0 Then Mdlpublic.FillMSgrid Rs, MSFlexGrid1 FlextToTxt MSFlexGrid1.FormatString = "Mã số HS|^ Ngày XN|^Ngoại tệ|^ Ngân hàng | ^Loại vay |^ Nguồn vốn | " & _ "Vốn tự có|^Giá trị KV| Ân hạn| ^ Nhu cầu |^BĐTrả lãi|^Giảm lãi|^Chương trình|^Kiểu trả |^ Hình thức vay|^ " & _ "Thời gian |^ Phương thức|^ Cán bộ |^ Đại diện |^ Chi nhánh| ^Tài khoản" Else MsgBox "Không có khoản vay có mã số : " & Txtsohieuvay.Text, vbInformation, " Thông báo " End If End Sub Private Sub FlextToTxt() Txtsohieuvay.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) MaskEdBox.Text = Format(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1), "DD/MM/YYYY") TxtLoaiNT.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2) TxtNganhang.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3) TxtLoaivay.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 4) TxtNguonvon.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 5) TxtVONTUCO.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 6) TxtGiatri.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 7) TxtNGAYANHAN.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 8) TxtNhucau.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 9) TxtBATDAUTRA.Text = Format(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 10), "DD/MM/YYYY") CmbGIAMLAI.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 11) TxtChuongt.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 12) TxtKieutra.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 13) TxtHTvay.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 14) TxtThoigian.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 15) TxtPTvay.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 16) TxtCBTD.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 17) TxtDaidien.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 18) Txtchinhanh.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 19) TxtTaikhoan.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 20) End Sub ‘***************************************************************** Formgiaodich() Private Sub cmdCAPNHAT_Click(Index As Integer) End Sub Private Sub cmdDONG_Click() Unload Me End Sub Private Sub cmdFind_Click() cmdFinds End Sub Private Sub cmdFinds() 'Tìm theo mã hồ sơ Thamso = txtMasoKV.Text Sql = "Select MasoHS,Bank_ID,TenNH,Daidien,NgayXacNhan,TenNT,MaTK " & _ " from Hosovayvon Where Masohs ='" & Thamso & "' " Set Rs = New ADODB.Recordset ' Set Rs = Cn.Execute(Sql) 'Các thông tin về Khoản vay Rs.Open Sql, Cn, adOpenKeyset, adLockPessimistic If Rs.RecordCount > 0 Then txtMaSNH.Text = Rs.Fields(1).Value txtTenNH.Text = Rs.Fields(2).Value txtDaidien.Text = Rs.Fields(3).Value txtNgayXN.Text = Rs.Fields(4).Value txtLoai_NT.Text = Rs.Fields(5).Value txtTK_Von.Text = Rs.Fields(6).Value '****************************************************************************************************************************** ''Thông tin về số lần trả nợ và giá trị cụ thể Sql = "Select * from Lantrano Order by Lantra " Set Rs = New ADODB.Recordset Rs.Open Sql, Cn, adOpenKeyset, adLockPessimistic Mdlpublic.FillMSgrid Rs, Flex1 ' FlextToTxt Else MsgBox "Khoản vay chưa được trả nợ : " & Txtsohieuvay.Text, vbInformation, " Thông báo " End If End Sub Private Sub Addnew() '****************************************************************************************************************************** Dim Con As Long ' Lưu số liệu Giao dịch mới If Opt_LoaiGD(1).Value = True Then 'Giao dich tra no If Not IsDate(txtNGAY_GD) Then txtNGAY_GD.Text = Format(CDate(txtNGAY_GD.Text), "DD/MM/YYYY") End If If Not IsDate(txtNGAY_CT) Then txtNGAY_CT.Text = Format(CDate(txtNGAY_CT.Text), "DD/MM/YYYY") End If If txtMGD.Text = "" Then MsgBox "Ma so Giao dich khong the trong", vbCritical, "Thong bao" Exit Sub End If Con = KiemtaGD(Conlai) If Con < txtSOTIEN.Text Then MsgBox "So tien giao dich da lon hon So Tien con lai", vbCritical, "Thong bao" Exit Sub End If Sql = " Insert Into Lantra values( )" Set Rs = New ADODB.Recordset Set Rs = Cn.Execute(Sql) End Sub Private Sub KiemtaGD(Conlai As Long) Dim Giatri As Long Dim Tongsotra As Long Sql = "Select Giatri from Hosovayvon Where Masohs ='" & Trim(txtMasoKV.Text) & "'" Set Rs = New ADODB.Recordset Set Rs = Cn.Errors(Sql) Giatri = Rs.Fields(0) 'Lay duoc gia tri khoan vay Sql = "Select SUM(Giatri) from Lantra Where Masohs ='" & Trim(txtMasoKV.Text) & "'" Set Rs = New ADODB.Recordset Set Rs = Cn.Execute(Sql) Tongsotra = Rs.Fields(0) Conlai = Giatri - Tongsotra End Sub ‘*********************************************************************************************************************************** ‘Cốt của form Quản trị các user Dim Sql As String Dim Themsua As String Private Sub cmdghi_Click() Dim a, b, c, d As String On Error GoTo Loi a = Me.txtMaso b = Me.txtMatkhau c = Me.txtQuyenTC d = Me.txtTenUser e = Me.txttendd.Text f = Me.txtTenGhiChu.Text If a = "" And c = "" Then MsgBox "Mã số và quyền không được rỗng", vbOKOnly + vbExclamation, "Thông báo" Me.txtMaso.SetFocus Exit Sub End If If b = "" Then b = " " End If If d = "" Then d = " " End If If e = "" Then e = " " End If If f = "" Then f = " " End If If Themsua = "them" Then Sql = "Insert into NSD Values ('" & a & "','" & d & "', '" & b & "', '" & c & "', '" & e & "', '" & f & "')" Cn.Execute (Sql) MsgBox "Bạn đã thực hiện thành công", vbOKOnly + vbExclamation, "Thông báo" End If If Themsua = "sua" Then Sql = "Update NSD set Ten_NSD = '" & Me.txtTenUser & "', MM_NSD ='" & Me.txtMatkhau & "', QUYEN = '" & Me.txtQuyenTC & "' , TEN_DAY_DU ='" & Me.txttendd & "', GHI_CHU ='" & Me.txtTenGhiChu & "' where Maso = '" & Me.txtMaso.Text & "'" Cn.Execute (Sql) End If Dim FormatString As String Sql = "Select Maso,Ten_NSD from NSD Order by Maso " FormatString = "STT |Mã số |Tên người sử dụng " Set Rs = Cn.Execute(Sql) Call Load_Flex(FormatString, Rs, GridUser) Set Rs = Nothing TextDisable Me.cmdghi.Enabled = False Me.cmdthem.Enabled = True TextDisable TextClear Exit Sub Loi: Dim user_err user_err = "Mã Lỗi : " & Err & " -> " & Err.Description MsgBox user_err, 16 Exit Sub End Sub Private Sub cmdsua_Click() Themsua = "sua" Me.txtMaso.Enabled = False Me.txtMatkhau.Enabled = True Me.txtQuyenTC.Enabled = True Me.txtTenUser.Enabled = True Me.txttendd.Enabled = True Me.txtTenGhiChu.Enabled = True Me.cmdghi.Enabled = True ' Me.cmdTHEM.Enabled = False End Sub Private Sub cmdTHEM_Click() TextEnable TextClear Themsua = "them" Me.txtMaso.SetFocus Me.cmdghi.Enabled = True Me.cmdxoa.Enabled = False Me.cmdsua.Enabled = False End Sub Private Sub cmdXOA_Click() Dim FormatString As String Dim Thong_Bao As String On Error GoTo Loi Thong_Bao = MsgBox("Bạn có chắc chẵn xoá bản ghi này không", vbOKCancel, "Thông báo") If Thong_Bao = vbOK Then Cn.BeginTrans Sql = "Delete from NSD Where Maso='" & Me.txtMaso.Text & "'" Set Rs = Cn.Execute(Sql) Set Rs = Nothing Cn.CommitTrans Sql = "Select Maso,Ten_NSD from NSD order by maso" FormatString = "STT |Mã số |Tên người sử dụng " Set Rs = Cn.Execute(Sql) Call Load_Flex(FormatString, Rs, GridUser) TextDisable TextClear End If Exit Sub Loi: MsgBox "Bạn Không thể xoá được bản ghi này", , "Thông báo" End Sub Private Sub Form_Load() Dim FormatString As String Dim i As Integer Sql = "Select * from NSD Order by Maso" Header = "STT |Mã số |Tên người sử dụng " Set Rs = Cn.Execute(Sql) GridUser.Cols = 3 GridUser.FormatString = Header i = 1 If Not Rs.EOF Then Rs.MoveFirst GridUser.Rows = 1 Do While Not Rs.EOF GridUser.Rows = GridUser.Rows + 1 GridUser.Row = GridUser.Rows - 1 GridUser.TextMatrix(i, 0) = Str(i) GridUser.TextMatrix(GridUser.Row, 1) = Rs!maso GridUser.TextMatrix(GridUser.Row, 2) = Rs!Ten_NSD i = i + 1 Rs.MoveNext Loop Else GridUser.Rows = 1 GridUser.Rows = 2 End If Set Rs = Nothing TextDisable Me.cmdghi.Enabled = False Me.cmdsua.Enabled = False Me.cmdxoa.Enabled = False End Sub Private Sub TextDisable() Me.txtMaso.Enabled = False Me.txtMatkhau.Enabled = False Me.txtQuyenTC.Enabled = False Me.txtTenUser.Enabled = False Me.txttendd.Enabled = False Me.txtTenGhiChu.Enabled = False End Sub Private Sub TextEnable() Me.txtMaso.Enabled = True Me.txtMatkhau.Enabled = True Me.txtQuyenTC.Enabled = True Me.txtTenUser.Enabled = True Me.txttendd.Enabled = True Me.txtTenGhiChu.Enabled = True End Sub Private Sub TextClear() Me.txtMaso.Text = "" Me.txtMatkhau.Text = "" Me.txtQuyenTC.Text = "" Me.txtTenUser.Text = "" Me.txttendd.Text = "" Me.txtTenGhiChu.Text = "" End Sub Private Sub GridUser_Click() Set Rs = Cn.Execute("Select * from NSD Order by Maso") Rs.Move Me.GridUser.Row - 1, 1 Me.txtMaso.Text = Rs!maso Me.txtMatkhau.Text = IIf(Not IsNull(Rs!MM_NSD), Rs!MM_NSD, " ") Me.txtQuyenTC.Text = IIf(Not IsNull(Rs!QUYEN), Rs!QUYEN, " ") Me.txtTenUser.Text = IIf(Not IsNull(Rs!Ten_NSD), Rs!Ten_NSD, " ") Me.txttendd.Text = IIf(Not IsNull(Rs!Ten_DAY_DU), Rs!Ten_DAY_DU, " ") Me.txtTenGhiChu.Text = IIf(Not IsNull(Rs!GHI_CHU), Rs!GHI_CHU, " ") Me.cmdxoa.Enabled = True Me.cmdsua.Enabled = True End Sub Private Sub txtMaso_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Me.txtMatkhau.SetFocus End If End Sub Private Sub txtMatkhau_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Me.txtQuyenTC.SetFocus End If End Sub Private Sub txtQuyenTC_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Me.txtTenUser.SetFocus End If End Sub Private Sub txttendd_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Me.txtTenGhiChu.SetFocus End If End Sub Private Sub txtTenGhiChu_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Me.cmdghi.SetFocus End If End Sub Private Sub txtTenUser_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Me.txttendd.SetFocus End If End Sub ****************************************************************** Module Public ****************************************************************** ‘Ket noi chuot Public Sub SetMouse(ByRef frm As Form) Dim MyConTrol For Each MyConTrol In frm.Controls If (TypeOf MyConTrol Is CommandButton) Or _ (TypeOf MyConTrol Is ComboBox) Or _ (TypeOf MyConTrol Is ListBox) Or _ (TypeOf MyConTrol Is TreeView) Or _ (TypeOf MyConTrol Is Toolbar) Or _ (TypeOf MyConTrol Is MSFlexGrid) Then MyConTrol.MouseIcon = LoadResPicture("ChiTay", 2) MyConTrol.MousePointer = 99 End If Next End Sub Public Sub FillMSgrid(ByVal mrssM As ADODB.Recordset, ByVal mMsGrid As MSFlexGrid) 'use all form in project Dim miRow As Integer 'so dong Dim miCol As Integer 'socot Dim miiFor As Integer Dim mijFor As Integer miRow = mrssM.RecordCount miCol = mrssM.Fields.Count mMsGrid.Cols = miCol mMsGrid.Rows = miRow + 1 If miRow 0 Then mrssM.MoveFirst For miiFor = 1 To miRow For mijFor = 0 To miCol - 1 If mrssM.Fields(mijFor) "" Then mMsGrid.TextMatrix(miiFor, mijFor) = mrssM.Fields(mijFor) End If Next mijFor mrssM.MoveNext Next miiFor End If End Su Tài liệu tham khảo Kỹ thuật lập trình Cơ sở dữ kiệu ViSual Basic 6.0. Cơ sở dữ liệu SQL sever 7.0. Hệ thống thông tin quản lý. TS : Trương văn Tú. Tạp chí Ngân hàng.( Tháng 1 và 2 năm 2002 ).

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

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