Tài liệu Quản lý chi ngân sách: ... Ebook Quản lý chi ngân sách
103 trang |
Chia sẻ: huyen82 | Lượt xem: 1725 | Lượt tải: 0
Tóm tắt tài liệu Quản lý chi ngân sách, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Lêi c¶m ¬n
________________
Tríc tiªn, em xin göi lêi c¶m ¬n tíi c¸c thÇy c« gi¸o Khoa Tin Häc Kinh TÕ – Trêng §¹i Häc Kinh TÕ Quèc D©n – nh÷ng ngêi ®· nhiÖt t×nh d¹y dç, d×u d¾t vµ trang bÞ cho chóng em mét lîng kiÕn thøc nÒn t¶ng vÒ Kinh tÕ vµ Tin häc trong 4 n¨m häc võa qua.
Em xin bµy tá lßng c¶m ¬n tíi ThÇy gi¸o híng dÉn Th.S TrÇn C«ng UÈn và ThÇy gi¸o Phïng TiÕn H¶i ®· tËn t×nh chØ b¶o, gãp ý cho em trong suèt qu¸ tr×nh lµm luËn v¨n tèt nghiÖp nµy.
Em xin ch©n thµnh c¶m ¬n Ban l·nh ®¹o cïng toµn thÓ c¸c anh chÞ lËp tr×nh viªn ë trung t©m phÇn mÒm vµ gi¶i ph¸p SDS thuéc c«ng ty MITEC, ®Æc biÖt em xin tá lßng biÕt ¬n tíi anh NguyÔn H¶i S¬n vµ anh Lª ThÕ B¶o ®· t¹o ®iÒu kiÖn gióp ®ì, híng dÉn, triÓn khai ®Ò tµi trong thêi gian thùc tËp t¹i trung t©m.
Vµ cuèi cïng, xin ®îc c¶m ¬n ®Õn gia ®×nh, b¹n bÌ vµ tËp thÓ líp Tin häc 41B – nh÷ng ngêi ®· ®éng viªn, gióp ®ì, ®ãng gãp ý kiÕn ®Ó hoµn thµnh bµi luËn v¨n nµy.
MÆc dï ®· cã nhiÒu cè g¾ng nhng do h¹n chÕ vÒ thêi gian vµ kinh nghiÖm nªn bµi luËn v¨n cña em kh«ng tr¸nh khái nh÷ng thiÕu sãt vÒ mÆt kü thuËt, mü thuËt. Do vËy, em rÊt mong nhËn ®îc nh÷ng ý kiÕn ®ãng gãp, chØ b¶o ch©n thµnh cña c¸c ThÇy C«, c¸c Anh chÞ ®ång nghiÖp vµ B¹n bÌ víi mong muèn rót ra nh÷ng kinh nghiÖm cho b¶n th©n vµ ®Ó ®Ò tµi cña em ®îc hoµn thiÖn h¬n n÷a trong t¬ng lai.
Hµ néi, th¸ng 05 n¨m 2003.
Sinh viªn NguyÔn M¹nh TiÕnMôc lôc
CH¦¥NG I
GiíI THIÖU tæng quan n¬i thùc tËp
c«ng ty øng dông tiÕn bé khoa häc vµ c«ng nghÖ MITEC
I – Giíi thiÖu C«ng ty øng dông tiÕn bé khoa häc vµ c«ng nghÖ MITEC
Tæng quan
S¬ ®å tæ chøc
Chøc n¨ng vµ nhiÖm vô
LÜnh vùc ho¹t ®éng
4.1. ThiÕt kÕ, cung cÊp, cµi ®Æt vµ tÝch hîp hÖ thèng
4.2. ChuyÓn giao c«ng nghÖ
4.3. Ph¸t triÓn phÇn mÒm
4.4. §µo t¹o
Nh÷ng thµnh tùu ®· ®¹t ®îc
5.1. S¶n phÈm
5.1.1. PhÇn cøng
5.1.2. PhÇn mÒm
5.2. Kinh nghiÖm
5.3. Quan hÖ quèc tÕ
II - Híng ®Ò tµi nghiªn cøu
Ch¬ng ii
c¬ së ph¬ng ph¸p luËn cña ®Ò tµi
I – HÖ thèng th«ng tin
Mét sè kh¸i niÖm c¬ b¶n
Vai trß cña HÖ thèng th«ng tin
C¸c giai ®o¹n ®Ó x©y dùng mét hÖ thèng th«ng tin
II – Ph©n tÝch & thiÕt kÕ hÖ thèng th«ng tin
Môc ®Ých, yªu cÇu cña viÖc ph©n tÝch thiÕt kÕ hÖ thèng
Giíi thiÖu mét sè ph¬ng ph¸p ph©n tÝch thiÕt kÕ
Lý do lùa chän ph¬ng ph¸p ph©n tÝch vµ thiÕt kÕ cÊu tróc
Kh¶o s¸t thùc tÕ
Ph©n tÝch nghiÖp vô
ThiÕt kÕ c¬ së d÷ liÖu
III – Lùa chän c¸c c«ng cô lËp tr×nh:
HÖ ®iÒu hµnh
HÖ qu¶n trÞ c¬ së d÷ liÖu
Ng«n ng÷ lËp tr×nh ph¸t triÓn
ThiÕt kÕ b¸o c¸o
Ch¬ng iii
x©y dùng ch¬ng tr×nh qu¶n lý chi ng©n s¸ch
I – Ph©n tÝch hÖ thèng
Kh¶o s¸t vµ m« t¶ nghiÖp vô
2. S¬ ®å dßng d÷ liÖu
2.1. S¬ ®å møc khung c¶nh
2.2. S¬ ®å luång d÷ liÖu
II – ThiÕt kÕ d÷ liÖu
Tõ ®iÓn d÷ liÖu hÖ thèng
M« h×nh quan hÖ thùc thÓ
III – Mét sè lu ®å thuËt to¸n sö dông trong ch¬ng tr×nh.
IV – Giíi thiÖu ch¬ng tr×nh qu¶n lý chi ng©n s¸ch.
Giíi thiÖu ch¬ng tr×nh
Yªu cÇu ®èi víi ch¬ng tr×nh
Híng dÉn sö dông
§¨ng nhËp ch¬ng tr×nh
Qu¶n lý hÖ thèng
CËp nhËt c¸c ho¹t ®éng nghiÖp vô
C¸c danh môc
B¸o c¸o
C¸c c«ng cô hç trî
Trî gióp
KÕt luËn
Tµi liÖu tham kh¶o
PHô LôC CH¦¥NG I
GiíI THIÖU tæng quan n¬i thùc tËp
C¤NG TY øng dông tiÕn bé khoa häc vµ c«ng nghÖ
I – CÔNG TY ỨNG DỤNG TIẾN BỘ KHOA HỌC VÀ CÔNG NGHỆ
1. Tổng quan về MITEC:
Công ty ứng dụng Tiến bộ Khoa học và Công nghệ có tên giao dịch trong tiếng anh: Moste’s Innovation Technology Corporation (gọi tắt là: MITEC), là một doanh nghiệp nhà nước được thành lập từ năm 1991 thuộc Viện nghiên cứu Công nghệ Quốc gia và nay trực thuộc Bộ Khoa học và Công nghệ.
Năm 1991: là Liên hiệp Xí nghiệp sản xuất Công nghệ Vi điện tử - MITEC trực thuộc Viện nghiên cứu Vi điện tử - Viện Nghiên cứu Công nghệ Quốc gia.
Năm 1992: chuyển thành Công ty Vi điện tử - MITEC trực thuộc Viện Nghiên cứu Công nghệ Quốc gia.
Năm 1995: chuyển thành Công ty Vi điện tử - MITEC trực thuộc Bộ Khoa học Công nghệ và Môi trường.
Năm 1996 đến nay: đổi tên thành Công ty Ứng dụng Tiến bộ Khoa học và Công nghệ MITEC trực thuộc Bộ KHCN & MT ( nay là Bộ khoa học và Công nghệ).
MITEC là công ty hoạt động trong lĩnh vực Công nghệ thông tin tại Việt Nam, chuyên thiết kế và thương mại hoá các sản phẩm mới về Công nghệ tin học, thực hiện triển khai các hoạt động chuyển giao công nghệ và dịch vụ khoa học công nghệ ( như đào tạo, tư vấn, cung cấp thông tin,…) và là nhà phân phối sản phẩm chính thức của nhiều hãng nổi tiếng trên Thế giới (đặc biệt là hãng Fujitsu - Nhật bản).
MITEC có trụ sở chính tại: 37 Trần Quốc Toản – Hoàn Kiếm – Hà Nội, Công ty có đội ngũ cán bộ, kỹ sư hùng hậu trên 70 người với trình độ cao, giàu kinh nghiệm và tâm huyết với nghề đã và đang xây dựng để MITEC trở thành một thương hiệu tin cậy trong làng Công nghệ thông tin tại Việt Nam.
2. Sơ đồ tổ chức:
Để quản lý hiệu quả các lĩnh vực hoạt động trong công ty, MITEC đã phân chia thành các phòng ban và trung tâm có chức năng chuyên biệt nhau, mỗi bộ phận có trách nhiệm đảm nhận một nhiệm vụ riêng để cùng nhau chèo lái con tàu MITEC.
SƠ ĐỒ TỔ CHỨC MITEC
Ban giám đốc
Phòng tổ chức hành chính
Phòng Kế toán
Các Trung tâm
Văn phòng ĐD Miền Nam
Trung tâm ứng dụng công nghệ tin học
(CAPITEC)
Trung tâm phát triển phần mềm và giải pháp
(SDS)
Trung tâm tư vấn chuyển giao công nghệ và môi trường
Đôi nét giới thiệu các trung tâm của MITEC:
· Trung tâm phát triển phần mềm và giải pháp – SDS ( Center for Software Development and Solution): Tổ chức triển khai và cung cấp giải pháp cho các dự án phần mềm tin học. Đội ngũ của Trung tâm là các lập trình viên chuyên nghiệp với gần 20 người và trong thời gian vừa qua em đã được tiếp nhận vào thực tập tại đây.
· Trung tâm ứng dụng công nghệ tin học – CAPITEC (Center for Application Informatic Technology): Tổ chức triển khai, tư vấn, thiết kế và cung cấp các giải pháp về phần cứng, cơ sở hạ tầng cho công nghệ thông tin.
· Trung tâm tư vấn chuyển giao công nghệ và môi trường (Department of Technology Transfer and Enviroment Consultation): Triển khai các hoạt động chuyển giao công nghệ và các dịch vụ khoa học công nghệ.
3. Chức năng và nhiệm vụ của MITEC:
· Nghiên cứu, chuyển giao và ứng dụng các sản phẩm mới về công nghệ Tin Học.
· Triển khai các hoạt động chuyển giao công nghệ và dịch vụ khoa học công nghệ.
· Liên doanh, liên kết với các công ty trong và ngoài nước thực hiện các dự án lớn và xây dựng các cơ sở sản xuất tại Việt Nam.
· Là nhà phân phối và bảo hành kỹ thuật cho các sản phẩm công nghệ cao của các tập đoàn lớn trên thế giới.
4. Lĩnh vực hoạt động:
4.1. Thiết kế, cung cấp, cài đặt và tích hợp hệ thống:
Thiết kế và lắp đặt mạng LAN, WAN, VPN network. Thiết kế mạng có tính sẵn sàng cao, tốc độ, tính bảo mật, quản trị dễ dàng với giá cả hợp lý.
Thiết lập mạng xí nghiệp, thư điện tử truy cập hệ thống qua proxy server. (dễ điều khiển, tính bảo mật cao, dùng chung modem và đường điện thoại nhằm giảm chi phí Internet).
Tin học hoá hệ thống kinh doanh, nâng cao khả năng hoạt động và hiệu quả trong công việc với hệ thống phần mềm làm việc theo nhóm TeamWare và Microsoft Back Office.
Tích hợp hệ thống thư điện tử văn phòng, quản lý tài liệu và các cơ sở tri thức.
Tích hợp hệ thống MRP cho quản lý sản xuất, kế hoạch sản xuất (các mô hình client - server, n-tiers hay thin client).
Phát triển các ứng dụng B2C, B2B và tích hợp các ứng này với hệ thống hỗ trợ khách hàng như hỗ trợ bán hàng, đăng ký khách sạn, đặt vé máy bay...
Chuyển đổi các loại dữ liệu sang đa phương tiện internet nhằm hiển thị và tìm kiếm văn bản.
Nghiên cứu và phát triển giải pháp thin client cho toàn bộ các ứng dụng client -server đang tồn tại.
4.2 Chuyển giao công nghệ:
Cung cấp thiết bị: Công nghiệp điện năng, Phân phối điện, Truyền thông, Thử nghiệm, Đo lường, Kiểm tra kích cỡ thiết bị, Các hệ thống quan sát thời tiết tự động, Nghiên cứu, Đào tạo cơ khí, Y tế và chăm sóc sức khoẻ, Công cụ và thiết bị xây dựng, Thiết bị y tế & phòng thí nghiệm và môi trường, Thiết bị công nghiệp công nghệ cao, Thiết bị kiểm tra không có tính phá huỷ, Quản lý nước, Hệ thống tưới và chống ngập.
Tư vấn: Tư vấn triển khai và quản lý dự án, Tư vấn đầu tư, Hợp tác lao động nước ngoài, Tư vấn môi trường và giải pháp bảo vệ môi trường, Hệ thống chống lãng phí.
4.3 Phát triển phần mềm:
MITEC có đội ngũ kỹ sư phần mềm có chuyên môn cao, năng động, sáng tạo được đào tạo chính qui trong và ngoài nước cùng với các nhà quản lý dự án giàu kinh nghiệm.
Các lĩnh vực phát triển phần mềm của MITEC:
Tài chính: Ngân hàng, kế toán, thuế,…
Bán hàng: quản lý xuất nhập, quản lý mua bán.
Phát triển Internet: các giải pháp về thương mại điện tử.
Lĩnh vực khác: Workflows, hiện đại hoá kinh doanh và phát triển các ứng dụng theo yêu cầu.
Các nền ứng dụng:
Windows 95 / 98 / NT / 2000.
Unix ( Solaris, Unixware, Linux )
Các kỹ thuật và công nghệ:
C, C++, Visual C++
Visual Basic
Java
PL/SQL
Developer/2000
HTML, XML, SGML, VRML, WebCGI,…
COM/DCOM, CORBA, ActiveX, MFC,…
ODBC, JDBC, OLEDB,…
Các công cụ phát triển:
Microsoft Transaction Server
Oracle Application Server
Microsoft SQL Server
Oracle Database Server
Foxpro
Microsoft Access
4.4 Đào tạo:
MITEC cung cấp dịch vụ đào tạo trên diện rộng thông qua các buổi seminar, thông qua hình thức chuyển giao công nghệ, đào tạo trực tuyến.
Chương trình giảng dạy bao gồm:
- Đào tạo về hệ thống tin học ngân hàng hiện đại.
- Đào tạo sử dụng các sản phẩm phần mềm của MITEC.
- Đào tạo về lập trình Client Server và n-tiers.
- Đào tạo về thiết kế và phát triển các ứng dụng Internet.
5. Những thành tựu đã đạt được:
5.1. Sản phẩm:
5.1.1. Phần cứng: Cung cấp các sản phẩm của chính hãng Fujitsu tại Việt Nam như:
Các sản phẩm PC, Notebook, Unix Server:
Fujitsu - DeskPower
Fujitsu - LifeBook
Fujitsu - Primergy
Fujitsu - PrimePower
Các sản phẩm OEM:
Fujitsu – Scanner
Fujitsu – Printer
Fujitsu – MO
Các thiết bị văn phòng:
Fujitsu - LCD Projector
Fujitsu - Plasma Display /Vision
5.1.2. Phần mềm: Những phần mềm sau đã hoàn thành và được đưa vào ứng dụng trong thực tế.
Về Web & Interner:
Phần mềm đấu thầu tín phiếu kho bạc
Xây dựng các Website thương mại.
Phần mềm thư viện điện tử ELIB 2.0
Về Management Software:
Hệ thống đặt chỗ bán vé tàu địa phương
Phần mềm quản lý nhân sự - MHRMSoft 2.0
Phần mềm quản lý lương - PAYROLL 2.5
Phần mềm kế toán doanh nghiệp – ACCSoft 4.5
Phần mềm kế toán hành chính sự nghiệp – ACCSoft 4.5
Phần mềm chấm công – TIME ATTENDANCE 2.0
5.2. Kinh nghiệm:
Từ năm 1993 đến nay, MITEC là nhà cung cấp và bảo hành hệ thống tin học cho Ngân hàng nhà nước Việt Nam kể từ Trung ương đến địa phương.
MITEC là công ty đầu tiên xây dựng các hệ thống máy rút tiền tự động ATM tại các ngân hàng VIETCOM BANK, HONGKONG BANK, ANZ BANK và CITI BANK.
MITEC đã thiết kế, xây dựng các hệ thống thông tin cho các nhà máy: HONDA Vietnam, FUJITSU, OHMI Vietnam, PENTAX Vietnam, SHOWPLAS..., Trường cao đẳng Công nghiệp 4, Trường cao đẳng Công nghiệp 1, Trung tâm Tin học khu công nghệ cao Hoà Lạc, ...
MITEC đã cung cấp các sản phẩm tin học cũng như các hệ thống thông tin cho các cơ quan và tổ chức nước ngoài như: dự án JICA, văn phòng NTT, văn phòng JT, UNDP, UNPA, EC...
MITEC đã cung cấp các thiết bị tin học, xây dựng hệ thống mạng thông tin phục vụ các dự án thuộc Tổng công ty Bưu chinh viễn thông VNPT và Tổng cục thống kê.
MITEC cũng triển khai các hệ thống CLUSTERING tại Cục Công nghệ Tin học ngân hàng, Ngân hàng Công thương Việt Nam, Tổng công ty Bưu chính viễn thông (VNPT). Cung cấp và chuyển giao các hệ thống máy chủ UNIX-SPARC cho Bưu điện Hà Nội.
5.3. Quan hệ quốc tế:
Từ năm 1995, MITEC được uỷ quyền là Nhà Phân phối và Cung cấp các dịch vụ sau bán hàng, Hỗ trợ và Bảo hành Bảo trì cho các sản phẩm tin học của FUJITSU tại Việt Nam. (Bao gồm các sản phẩm PC, Notebook, IA Server, UNIX Server, các sản phẩm OEM như Scaner, MO, Printer, các thiết bj văn phòng như màn hình PLASMA 42"/51"/60", máy chiếu LCD...). MITEC cũng cùng FUJITSU tham gia các dự án về Công nghệ thông tin tại Việt Nam.
MITEC là đại lý phân phối và hỗ trợ kỹ thuật các sản phẩm CLUSTER của tập đoàn VERITAS.
MITEC đã ký liên minh với ORACLE Việt Nam về việc phân phối và hỗ trợ kỹ thuật sản phẩm ORACLE tại Việt Nam.
MITEC là đối tác của tập đoàn AT&T (nay là NCR) cho các hệ thống chuyển mạch lớn và các giải pháp về hệ thống máy rút tiền tự động - ATM.
MITEC cũng có quan hệ thương mại và kỹ thuật với nhiều công ty lớn trên thế giới như FUJI XEROX, MITSUI, SUN.
____________________
II - Giới thiệu đề tài nghiên cứu:
1. Lý do lựa chọn đề tài:
Ngày nay, trên thế giới cũng như ở nước ta, Tin học là một ngành mũi nhọn đã và đang thâm nhập vào mọi lĩnh vực của đời sống kinh tế xã hội và đặc biệt là trong công tác quản lý. Sự góp mặt của Tin học trong công tác quản lý đã làm nhẹ đi sự tham gia của con người, đảm bảo thông tin quản lý chính xác để đem lại hiệu quả kinh tế cũng như tiết kiệm được thời gian, công sức so với việc làm quản lý thủ công trên giấy tờ như trước đây. Điều dễ nhận thấy là nó giảm được không gian lưu trữ, tránh được sự thất lạc, mất mát dữ liệu mà nó còn có khả năng tự động hóa hệ thống, cụ thể hoá các lượng thông tin theo nhu cầu của con người.
Khả năng của tin học và máy tính là vô hạn, sự kết hợp giữa máy tính và các phần mềm hệ thống giúp chúng ta xây dựng các chương trình ứng dụng theo những gì mà ta mong muốn. Thông qua tìm hiểu việc sử dụng ngân sách tại một số cơ quan nhà nước thì hiện tại đa số các cơ quan này còn sử dụng hình thức quản lý chi tiêu ngân sách thủ công trên giấy tờ hoặc sử dụng chương trình bảng tính Excel để thực hiện việc tính toán và quản lý công việc chi tiêu ngân sách tại đơn vị mình. Việc quản lý như vậy sẽ mất rất nhiều công sức, thời gian và nhiều khi còn bị nhầm lẫn. Nhận thấy vấn đề đó có thể giải quyết được bằng cách viết một chương trình nhằm tự động tự hoá khâu tính toán để làm giảm bớt những vất vả của người làm tài chính tại các cơ quan sử dụng ngân sách đã nói ở trên. Em quyết định lựa chọn đề tài: “Khảo sát, Phân tích thiết kế và Xây dựng chương trình quản lý chi ngân sách”. Kí hiệu viết tắt của chương trình: QLCNS v1.0
Cùng thời gian này, em - một sinh viên Khoa Tin học kinh tế được công ty MITEC tiếp nhận vào thực tập tại trung tâm phần mềm và giải pháp SDS. Tại đây em được giám đốc trung tâm - Anh Nguyễn Hải Sơn đã tạo mọi điều kiện thuận lợi để em hoàn thành đề tài này.
2. Bài toán đặt ra:
Bài toán đặt ra tại đơn vị sử dụng ngân sách của nhà nước (cấp quận, huyện), đầu năm phòng tài chính (quận, huyện) sẽ có thông báo về tình hình cung cấp tài chính cho đơn vị theo từng giai đoạn, đơn vị hàng tháng đến lĩnh tiền từ kho bạc nhà nước theo kế hoạch mà phòng tài chính đã định cho các loại khoản mục nào, đến cuối mỗi tháng / quí / năm thì đơn vị sẽ phải nộp các báo cáo tổng kết về tình hình chi tiêu ngân sách mà đơn vị đã sử dụng cho kho bạc quản lý đơn vị mình. Ngoài các vấn đề cơ bản trên, chương trình phải tự động hoá việc tổng hợp, tính toán các số liệu theo loại, khoản, mục và tiểu mục để có thể đưa ra các báo cáo một cách khoa học về tình hình tài chính tại đơn vị một cách chính xác và kịp thời.
3. Yêu cầu đối với bài toán:
- Chương trình phải thực hiện được các chức năng sau đây:
+ Chức năng tạo mới / lựa chọn năm làm việc
+ Chức năng cập nhật, định nghĩa các loại, khoản, mục, tiểu mục ngân sách
+ Chức năng cập nhật số dư
+ Thông báo hạn mức kinh phí
+ Chức năng cập nhật các chứng từ nhập / chi ngân sách
+ Chức năng tìm kiếm danh mục, chứng từ
+ Chức năng lên báo cáo theo tháng / quí / năm
+ Các tiện ích hỗ trợ: tham số hệ thống, sao lưu, phục hồi dữ liệu, dọn dẹp số liệu.
+ Hướng dẫn sử dụng chương trình
- Yêu cầu giao diện chương trình phải thân thiện, dễ sử dụng, phù hợp với người dùng.
____________________Ch¬ng ii
c¬ së ph¬ng ph¸p luËn cña ®Ò tµi
I – Hệ thống thông tin:
1. Một số khái niệm cơ bản:
Dữ liệu và thông tin là hai khái niệm khác nhau nhưng đôi khi lại bị hiểu nhầm lẫn lộn. Ta sẽ tìm hiểu sơ qua một chút về những khái niệm cơ bản này.
1.1. Dữ liệu là gì ?
Dữ liệu là các số liệu hoặc tài liệu cho trước chưa được xử lý hay nó được ví như những nguyên liệu thô của thông tin.
1.2. Thông tin là gì?
Thông tin là dữ liệu đã được xử lý thành dạng dễ hiểu, tiện dùng và có ý nghĩa đối với người nhận tin trong việc ra quyết định. Hay thông tin của quá trình xử lý này có thể trở thành dữ liệu của quá trình xử lý khác.
Từ hai định nghĩa trên ta thấy rằng, mối quan hệ giữa dữ liệu và thông tin cũng giống như mối quan hệ giữa nguyên liệu và thành phẩm. Thành phẩm của quá trình sản xuất này cũng có thể là nguyên liệu đầu vào của quá trình sản xuất bước kế tiếp hay nó sẽ là một sản phẩm.
1.3. Khái niệm hệ thống thông tin:
Hệ thống thông tin là một tập hợp các đối tượng và thiết bị thực hiện hoạt động thu nhập, lưu trữ, xử lý và phân phối thông tin trong một tập hợp các ràng buộc để hỗ trợ cho việc ra quyết định, lập kế hoạch, phân tích tình hình và kiểm soát các hoạt động của tổ chức.
Các bộ phận cấu thành của hệ thống thông tin được thể hiện trong sơ đồ sau đây:
Kho dữ liệu
(Storage)
Thu Thập
(Collect)
Xử lý & Lưu trữ
(Process & keep)
Phân phát
(Distribute)
Nguồn
(Sources)
Đích
(Destination)
Hệ thống thông tin trong sơ đồ trên có thể hoàn thành thủ công hay dựa trên máy tính. Ngoài máy tính điện tử còn có các nhân tố khác như con người, các qui trình xử lý, các phương tiện thông tin liên lạc, các thủ tục, dữ liệu và thiết bị tin học hoặc không tin học để xử lý, quản lý và sử dụng thông tin. Đầu vào của hệ thống được lấy từ các Nguồn và được xử lý bởi hệ thống sử dụng nó cùng với các dữ liệu đã được lưu trữ từ trước. Kết quả của quá trình xử lý được chuyển đến các Đích hoặc cập nhật vào Kho lưu trữ dữ liệu.
2. Vai trò của hệ thống thông tin:
Ngay nay, công việc quản lý đối với những nhà lãnh đạo là cần phải đưa ra những quyết định kịp thời nhằm đạt được các mục tiêu quản lý đã đề ra của tổ chức. Trên thực tế, các tổ chức ngày càng nhận thấy rằng thông tin là một trong những nguồn tài nguyên quí báu của họ, do vậy họ cần phải có biện pháp quản lý chặt chẽ và sử dụng chúng một cách có khoa học & hiệu quả. Vấn đề về thông tin trong các hệ thống thông tin thư viện cũng không nằm ngoài các qui luật đó, nó cung cấp các thông tin để giúp các nhà quản lý thư viện ra quyết định cấp phát, phân bổ sách cho các bộ phận một cách kịp thời, hợp lý như nên nhập thêm bao nhiêu sách mới; hay huỷ bỏ những cuốn sách đã quá cũ; cung cấp tình trạng các độc giả đang mượn sách như thế nào, cuốn sách này do ai đang mượn và khi nào thì trả, …
Quản lý có hiệu quả một tổ chức dựa vào phần lớn là chất lượng thông tin do các hệ thống thông tin chính thức sản sinh ra. Dễ thấy rằng từ sự hoạt động kém của một hệ thống thông tin sẽ là nguồn gốc gây ra những hậu quả xấu nghiêm trọng. Do vậy, việc đánh giá một hệ thống thông tin thường được nhìn nhận thông qua chất lượng của hệ thống thông tin mà nó cung cấp. Các tiêu chuẩn đánh giá chất lượng thông tin phải thoả mãn các tính chất:
Độ tin cậy.
Tính đầy đủ.
Tính thích hợp và dễ hiểu.
Tính được bảo vệ.
Tính kịp thời.
Như vậy, vai trò của hệ thống thông tin có một ý nghĩa hết sức quan trọng đối với những nhà quản lý trong việc đưa ra các quyết định đúng đắn để đảm bảo cho toàn bộ hệ thống thông tin thư viện nói riêng và hệ thống thông tin nói chung được hoạt động tốt.
3. Các giai đoạn để xây dựng một hệ thống thông tin:
Để phát triển một hệ thống thông tin phải trải qua nhiều giai đoạn, mỗi giai đoạn gồm có nhiều công đoạn. Cuối mỗi giai đoạn phải đi kèm với quyết định có tiếp tục xây dựng hệ thống thông tin của tổ chức nữa hay không, và mỗi quyết định này được dựa trên những kết quả báo cáo của mỗi giai đoạn cung cấp. Thông thường để phát triển một hệ thống thông tin phải trải qua 6 giai đoạn dưới đây:
3.2
3.6
3.5
3.4
3.3
3.1
Khảo sát
hệ thống
Thử nghiệm
Bàn giao & bảo trì
Xây dựng chương trình
Phân tích
hệ thống
Thiết kế
hệ thống
3.1. Khảo sát hệ thống:
Giai đoạn này tiến hành khảo sát hiện trạng, tìm hiểu qui trình hệ thống hiện thời để đưa ra các giải pháp.
3.2. Phân tích hệ thống:
Giai đoạn này tiến hành phân tích sâu hơn các chức năng, các dữ liệu của hoạt động cũ để đưa ra mô tả hoạt động mới (thiết kế logic) dựa trên các mục tiêu, các yêu cầu nghiệp vụ đã được xác định trong hồ sơ khảo sát. Phân tích viên phản ánh chúng thông qua các công cụ như mô hình chức năng, mô hình dữ liệu, …. Các mô hình này giúp cho các bộ phận thiết kế, bộ phận xây dựng và thử nghiệm hệ thống nắm bắt được các yêu cầu của hệ thống một cách dễ dàng. Giai đoạn này được đánh giá là quan trọng nhất vì nó quyết định chất lượng hệ thống.
3.3. Thiết kế hệ thống:
Giai đoạn này tiến hành thiết kế tổng thể, phát triển các bước phân tích ở giai đoạn trước thành các mô hình (vật lý, logic). Đồng thời tiến hành thiết kế giao diện cho người sử dụng. Kết thúc giai đoạn này sẽ cho ta kết quả là hồ sơ thiết kế.
3.4. Xây dựng chương trình:
Giai đoạn này tiến hành thiết kế chi tiết, các nhà lập trình sử dụng một hoặc nhiều công cụ lập trình để mã hoá các module chương trình ( thiết kế cơ sở dữ liệu, thủ công, chương trình). Việc lựa chọn công cụ nào còn phụ thuộc vào qui mô và yêu cầu của hệ thống.
3.5. Thử nghiệm:
Giai đoạn này tiến hành đưa chương trình vào kiểm tra bằng các bộ số liệu thực tế để xem hệ thống có đáp ứng được những yêu cầu đặt ra hay không. Chương trình sẽ được chỉnh sửa để khắc phục những lỗi phát hiện trong giai đoạn này.
3.6. Bàn giao & kiểm thử hệ thống: Giai đoạn này gồm 2 bước, trong đó:
Bước 1: tiến hành bàn giao, nghiệm thu chương trình và các tài liệu mô tả hướng dẫn sử dụng, tiến hành đào tạo nhân lực sử dụng hệ thống.
Bước 2: tiến hành bảo trì hệ thống khi hệ thống gặp sự cố hay có những yêu cầu mới phát sinh như nâng cấp hoặc sửa đổi hệ thống để phù hợp với tình hình phát triển của tổ chức.
Ngoài các bước xây dựng trên đây, để có một hệ thống thông tin hoạt động hiệu quả là một trong những công việc của bất kỳ một nhà quản lý hiện đại nào. Họ cũng cần phải xem xét cả cơ sở kỹ thuật cho hệ thống thông tin như lựa chọn phương pháp nào để tiến hành phân tích, thiết kế và cài đặt cho hệ thống.
II – Phân tích và thiết kế hệ thống thông tin:
1. Mục đích, yêu cầu của việc phân tích thiết kế hệ thống:
· Mục đích của phân tích hệ thống:
Nhằm hiểu rõ hệ thống thông tin hiện có.
Xác định các nguyên nhân, vấn đề ràng buộc thực sự của hệ thống thông tin.
Đề xuất đưa ra các yếu tố của giải pháp.
Xây dựng mục tiêu cụ thể mà hệ thống thông tin mới cần phải đạt được.
· Các yêu cầu khi thiết kế hệ thống thông tin:
Đáp ứng tốt nhất các yêu cầu quản lý hiện tại.
Lưu trữ đầy đủ các thông tin.
Các thông tin phải đảm bảo về độ chính xác.
Đảm bảo tính chặt chẽ, không dư thừa thông tin và tra cứu tìm kiếm nhanh.
Chú ý yêu cầu mở rộng trong tương lai.
Xây dựng bộ mã chuẩn cho các đối tượng quản lý.
2. Giới thiệu một số phương pháp phân tích thiết kế:
Phân tích thiết kế hệ thống thông tin là phương pháp luận để xây dựng và phát triển hệ thống thông tin bao gồm các lý thuyết, mô hình, phương pháp và các công cụ sử dụng trong quá trình phân tích và thiết kế hệ thống. Có nhiều phương pháp phân tích khác nhau, ở đây chúng ta tóm lược một vài phương pháp quan trọng để làm cơ sở cho sự so sánh và đối chiếu.
2.1. Phương pháp MERISE ( Methode pour Rassembler les Idcés Sans Effort – Phương pháp để tập hợp các ý tưởng không cần cố gắng):
Phương pháp MERISE có nguồn gốc từ Pháp, ra đời từ những năm cuối thập niên 70. Nó là kết quả nghiên cứu của nhiều tập thể nghiện cứu tin học nhằm đáp ứng các chờ đợi của người sử dụng. Phương pháp này đã ý thức được về sự lạc hậu của các phương pháp phân tích cổ điển trước đó.
· Ý tưởng cơ bản của phương pháp này xuất phát từ 3 mặt cơ bản sau:
+ Mặt thứ nhất: Quan tâm đến chu kỳ sống của hệ thống thông tin, trải qua nhiều giai đoạn: Thai nghén à Quan niệm à Quản trị à Chết. Chu kỳ sống này đối với hệ thống tổ chức lớn có thể kéo dài từ 10 – 15 năm.
+ Mặt thứ hai: Đề cập tới chu kỳ đặc tả của hệ thống thông tin còn được gọi là chu kỳ trừu tượng. Hệ thống thông tin tựu trung lại như một thể thống nhất được miêu tả bởi nhiều tầng:
“ Bộ nhớ ” của Hệ thống thông tin được mô tả trên bình diện quan niệm, tiếp đó là trên bình diện logic và cuối cùng là trên bình diện vật lý.
“Qui trình xử lý ” được mô tả trên bình diện quan niệm, kế tiếp là trên bình diện tổ chức và cuối cùng là trên bình diện tác nghiệp.
Mỗi tầng được mô tả dưới dạng mô hình tập trung tập hợp các thông số chính xác. Theo đó khi những thông số của tầng dưới tăng trưởng, tầng đang mô tả không biến đổi và nó chỉ thay đổi khi các tham số của mình thay đổi.
Mỗi mô hình được mô tả thông qua một hình thức dựa trên các nguyên tắc, nguyên lý xác định. Có những qui tắc chuyển cho phép chuyển từ mô hình này sang mô hình khác một cách tự động nhiều hay ít.
+ Mặt thứ ba: Mặt này có liên quan đến chu kỳ của các quyết định cần phải đưa ra trong suốt chu kỳ sống của sản phẩm. Những quyết định có liên quan đến nội dung của những mô hình khác nhau của chu kỳ trừu tượng, đến các hình thái của quan niệm và liên quan đến sự phát triển của hệ thống.
· Đặc trưng cơ bản của phương pháp này là:
Nhìn toàn cục.
Tách rời các dữ liệu và xử lý.
Tiếp vận theo mức.
Điều đó được thể hiện qua việc nhận thức và xây dựng các loại mô hình trong quá trình phân tích và thiết kế bằng bảng sau:
Mức
Dữ liệu
Xử lý
Quan niệm
Mô hình quan niệm dữ liệu
Mô hình quan niệm xử lý
Tổ chức
Mô hình logic dữ liệu
Mô hình tổ chức xử lý
Kỹ thuật
Mô hình vật lý dữ liệu
Mô hình tác vụ xử lý
Ưu điểm của phương pháp MERISE là có cơ sở khoa học vững chắc. Hiện tại nó là một trong những phương pháp phân tích được dùng nhiều ở Pháp và các nước Châu Âu khi phải phân tích và thiết kế các hệ thống lớn.
Bên cạnh đó, nó cũng có nhược điểm là cồng kềnh nên để giải quyết các hệ thống nhỏ người ta ít dùng phương pháp này vì sợ mất nhiều thời gian và làm cho hệ thống nặng nề không đáng có.
2.2. Phương pháp MCX ( Methode de Xavier Castellani):
Phương pháp này có nguồn gốc từ Pháp, do giáo sư của viện tin học IIE (Institut Informatique d` Entreris) sáng tạo ra. MCX khá thông dụng và thỏa mãn các điều kiện của các phương pháp phân tích thế hệ thứ hai. Một số nét cơ bản về MCX:
- Cho phép xây dựng một mô hình tổng quát, chính xác và biểu diễn hệ thống thông tin hoặc các phân hệ thông tin.
- Cho phép phân tích, kiểm soát được dữ liệu, quá trình xử lý và truyền thông các Hệ thống thông tin.
- Cho phép biểu diễn các xử lý với các lưu đồ và các chương trình, soạn thảo bởi một ngôn ngữ giải thuật dùng ở các mức khác nhau.
- Cho phép lượng hoá các xử lý.
· Phương pháp MCX đưa ra các giai đoạn cơ bản của quá trình phân tích:
- Phân tích mức vĩ mô
- Phân tích sơ bộ
- Phân tích quan niệm
- Phân tích chức năng
- Phân tích cấu trúc
Phương pháp này khá hữu hiệu và thích hợp với việc thực hành. Tuy nhiên còn hơi rườm rà.
2.3. Phương pháp GALACSI (Groupe d’ Animation et de Liaison pour I’ Analyse et la Conception de Système d’ Information):
Phương pháp này cũng có nguồn gốc từ Pháp, do một nhóm các giáo sư của các học viện công nghệ IUT (Institut Unversiture de Technologic) và MIAGE (Maitrise de Methodes Informatiques Applyquees à la Gestion).
Phương pháp này chính thức ra đời vào năm 1982. Nội dung cơ bản của GALACSI trình bày một tập hợp các công cụ và nguyên liệu để tiến hành các giai đoạn cơ bản của quá trình phân tích:
· Nghiên cứu các hệ thống tổ chức và hệ thống thông tin tương ứng:
- Nghiên cứu hiện trạng
- Nghiên cứu khả thi
· Phân tích chức năng:
- Mô hình dữ liệu
- Mô hình xử lý
· Phân tích cấu trúc:
- Tổ chức dữ liệu ở mức logic và vật lý.
- Tổ chức xử lý theo lô, theo thời gian thực.
- Môi trường tiếp nhận: máy vi tính, mạng máy tính, ngôn ngữ và các phần mềm chuyên dụng.
- Giao diện người – máy.
· Lập trình: Giải thuật, ngôn ngữ lập trình, kiến trúc các môi trường đặc thù.
Phương pháp này có nhược điểm là chưa được thử nghiệm nhiều trong thực tế mà mới chỉ dùng để giảng dạy trong nhiều học viện (IUT).
2.4. Phương pháp SADT (Structured Analysis and Design Technique – Hay còn gọi là phương pháp kỹ thuật phân tích và thiết kế cấu trúc):
SADT có nguồn gốc từ Mỹ. Ý tưởng cơ bản của nó là: phân rã một hệ thống lớn thành các phân hệ nhỏ và đơn giản.
· Phương pháp này được xây dựng dựa trên 7 nguyên lý sau đây:
Sử dụng một mô hình.
Phân tích đi xuống (top down).
Dùng một mô hình chức năng và một mô hình quan niệm.
Thể hiện tính đối ngẫu của hệ thống.
Sử dụng các biểu diễn dưới dạng đồ hoạ.
Phối hợp hoạt động của nhóm.
Ưu tiên tuyệt đối cho hồ sơ viết.
· SADT được định nghĩa là phương pháp sử dụng các kỹ thuật:
Biểu đồ luồng dữ liệu (DFD: Data Flow Diagram).
Từ điển hệ thống (Data Dictionary).
Anh ngữ có cấu trúc (Structured English).
Bảng quyết định.
Cây quyết định.
Phương pháp này có nhiều ưu điểm như dựa vào nguyên lý phân tích cấu trúc, thiết kế theo lối phân cấp, dựa trên các lưu đồ chức năng, tạo được các liên hệ “ Một cha nhiều con ” và bảo đảm từ một dữ liệu vào sản xuất nhiều dữ liệu ra.
Nhưng nó cũng có nhược điểm là không bao gồm toàn bộ tiến trình phân tích và nếu không thận trọng có thể đưa tiến trình trùng lặp thông tin.
Phương pháp SADT này được sử dụng khá phổ biến hiện nay trên thế giới do tính logic của nó và trong phần phân tích hệ thống của bài luận này sẽ áp dụng phương pháp SADT vào việc phân tích và thiết kế cho hệ thống thông tin lưu thông trong thư viện.
3. Lý do lựa chọn phương pháp phân tích và thiết kế cấu trúc (SADT):
Mục đích chính xác của dự án phát triển một hệ thống thông tin là có được một sản phẩm đáp ứng nhu cầu của người sử dụng, mà nó được hoà hợp vào trong các hoạt động của tổ chức, chính xác về mặt kỹ thuật, tuân thủ các giới hạn về tài chính và thời gian định trước. Không nhất thiết phải theo đuổi một phương pháp để phát triển một Hệ thống thông tin, tuy nhiên nếu không có phương pháp ta có nguy cơ không đạt được những mục tiêu đặt ra. Vì sao lại như vậy? Bởi một hệ thống thông tin là một đối tượng phức tạp, nó vận động trong một môi trường cũng rất phức tạp. Để làm chủ sự phức tạp đó, các phân tích viên cần phải có một phương pháp tiến hành nghiêm túc.
Hiện nay có rất nhiều phương pháp phân tích và thiết kế hệ thống thông tin quản lý trong đó phương pháp Phân tích thiết kế hiện đại có cấu trúc là phương pháp được sử dụng phổ biến hiện nay để phát triển hệ thống thông tin. Do vậy trong bài luận văn ._.này, em lựa chọn phương pháp Phân tích và thiết kế hệ thống thông tin có cấu trúc.
Phương pháp này bao gồm các công việc: Khảo sát, Phân tích, Thiết kế, Xây dựng và Cài đặt chương trình.
Các công cụ sử dụng trong phương pháp này gồm có: Sơ đồ dòng dữ liệu, mô hình thực thể, mô hình quan hệ, sơ đồ chức năng phân cấp, lịch sử sự tồn tại của thực thể, từ điển dữ liệu hệ thống và các ngôn ngữ có cấu trúc.
Phân tích hệ thống có cấu trúc là cách tiếp cận hiện đại tới vấn đề phân tích và thiết kế hệ thống máy tính nghiệp vụ, gồm một nhóm các công cụ và kỹ thuật được tích hợp với nhau qua cấu trúc của các giai đoạn phân tích thiết kế.
Nhiệm vụ của người phân tích là nắm bắt được những ràng buộc mà người sử dụng áp đặt lên hệ thống để từ đó xây dựng lên một hệ thống thông tin đạt chất lượng. Việc sử dụng các công cụ để mô tả hệ thống chính là thể hiện mục đích của việc phân tích:
- Tìm ra ngôn ngữ chung giữa người sử dụng và phân tích viên hệ thống để thể hiện đầy đủ các yêu cầu của hệ thống (ngôn ngữ giữa người sử dụng và phân tích viên).
- Thể hiện hệ thống dưới dạng ngôn ngữ gần gũi với tư duy tin học cho giai đoạn lập trình, cài đặt ( ngôn ngữ chung giữa phân tích viên và lập trình viên).
Trên cơ sở đó, ta có thể rút ra được các bước cơ bản để phân tích và thiết kế hệ thống gồm có: Khảo sát thực tế à Phân tích nghiệp vụ à Thiết kế cơ sở dữ liệu.
4. Khảo sát thực tế:
Khảo sát thực tế nghĩa là nghiên cứu hệ thống đang tồn tại, đội ngũ phân tích phải tiến hành tìm hiểu đầy đủ về hệ thống thông tin mà họ đang làm việc. Họ phải hiểu lý do tồn tại của nó, các mối liên hệ của nó với các hệ thống khác trong tổ chức, các bộ phận cấu thành, các phương thức xử lý, những kiểu dữ liệu, khối lượng dữ liệu mà nó xử lý và nhiều thứ khác. Đồng thời họ phải xác định những vấn đề có liên quan tới hệ thống và nguyên nhân của chúng.
Nhiệm vụ của giai đoạn này là mô tả, thu thập thông tin của các bộ phận, hoạt động trong hệ thống hiện tại cùng các vấn đề có liên quan. Các phân tích viên phải thu thập thông tin đi từ cái chung đến cái riêng theo trình tự: Các bộ phận chính của hệ thống à hoạt động chung của chúng à lý do tồn tại à những người sử dụng chính à đầu vào chính à đầu ra chính à xử lý chính.
Kết quả thu được của giai đoạn này là hiểu và nắm rõ các hoạt động chung của hệ thống, dữ liệu vào, thông tin ra, phương thức xử lý, cơ sở dữ liệu.
5. Phân tích nghiệp vụ:
Sau giai đoạn khảo sát, các kỹ thuật viên lựa chọn, xác định một lời giải và phát triển lời giải đó dựa trên cơ sở của các xử lý trên máy tính điện tử. Phân tích nghiệp vụ có thể chia ra làm 2 phần:
Phân tích chức năng nghiệp vụ
Phân tích các yêu cầu thông tin (phân tích dữ liệu)
5.1. Phân tích chức năng nghiệp vụ:
Thứ nhất, ta xây dựng sơ đồ chức năng - BFD (Business Function Diagram): nó thực hiện việc phân rã đơn giản các chức năng của hệ thống trong miền khảo sát. Sơ đồ chính của BFD là sơ đồ phân cấp chức năng của hệ thống và mỗi chức năng được ghi trong một số khung và nếu cần sẽ được chia ra thành các chức năng con, số mức chia ra phụ thuộc vào kích cỡ và độ phức tạp của hệ thống.
Sơ đồ BFD được biểu diễn dưới dạng hình cây, tại mỗi nút là một hình chữ nhật thể hiện một hoặc một nhóm chức năng cụ thể. Sơ đồ chức năng là công cụ khá hữu hiệu thể hiện cho người đọc một bức tranh tổng thể về các chức năng mà hệ thống thông tin có thể thực hiện được.
Mục đích của sơ đồ chức năng: xác định phạm vi của hệ thống cần phân tích, các chức năng được xác định ở đây sẽ được dùng nhiều trong các mô hình sau này.
Thứ hai, ta xây dựng sơ đồ dòng dữ liệu – DFD ( Data Flow Diagram): sơ đồ này cung cấp chi tiết hơn về các thông tin cần cho việc thực hiện các chức năng ở BFD. Nó chính là mô hình cân xứng của hệ thống cho cả dữ liệu và chức năng. Nó chỉ ra cách thông tin được vận chuyển từ chức năng này sang một chức năng khác trong hệ thống như thế nào.
Mục đích của DFD là công cụ chính được sử dụng để hỗ trợ cho các nhà phân tích trong việc thể hiện thiết kế hệ thống:
- DFD dùng để giúp xác định các yêu cầu của người sử dụng.
- DFD được dùng trong thiết kế để vạch kế hoạch, phương án cho các nhà phân tích, người xem khi thiết kế hệ thống mới.
- DFD thể hiện sự đơn giản và dễ hiểu của nó đối với nhà phân tích và người sử dụng.
Một số ký pháp cơ bản dùng trong DFD gồm có: thực thể, dòng dữ liệu, tiến trình xử lý và kho dữ liệu được kí hiệu như sau
Tên thực thể
Thực thể: được kí hiệu bằng hình chữ nhật và nó biểu diễn thông tin đầu vào hoặc đầu ra dưới dạng vật lý.
Tên dòng dữ liệu
Dòng dữ liệu: thể hiện việc chuyển thông tin vào/ra khỏi một tiến trình. Nó được chỉ ra trên sơ đồ bằng một đường kẻ có mũi tên chỉ hướng của dòng thông tin.
Tên tiến trình
Tiến trình xử lý: thực hiện biến đổi, xử lý thông tin đầu vào để tạo ra thông tin mới.
Tên tệp dữ liệu
Kho dữ liệu: hay chính là tệp dữ liệu để lưu trữ các thông tin cần thiết, nó được kí hiệu bởi 2 dòng kẻ ngang song song.
Các mức của sơ đồ luồng dữ liệu - DFD:
Sơ đồ mức ngữ cảnh: thể hiện khái quát nội dung chính của hệ thống, có thể bỏ qua các kho dữ liệu, xử lý cập nhật để tăng tính sáng sủa của mức ngữ cảnh.
Sơ đồ mức phân rã: thể hiện mức chi tiết của hệ thống, thương thì các nhà phân tích sử dụng kỹ thuật phân rã tiếp theo của sơ đồ mức ngữ cảnh.
5.2. Phân tích dữ liệu:
Những nhà quản lý luôn cần phải lưu trữ và xử lý các dữ liệu phục vụ cho công việc quản lý của mình. Ví dụ như trong chương trình quản lý chi ngân sách này ta cần phải lưu các thông tin như danh mục ngân sách, ngân sách thực lĩnh, số dư (nếu có), kế hoạch hạn mức vốn, … và đó chính là dữ liệu. Những dữ liệu này có ý nghĩa quan trọng khác nhau đối với mỗi tổ chức khác nhau bởi do phạm vi, văn hoá và lĩnh vực hoạt động của các tổ chức là khác nhau. Nên việc phân tích dữ liệu được thiết lập để tiến hành định nghĩa các đơn vị thông tin cơ sở (thực thể) có ích cho hệ thống và xác định mối quan hệ liên kết giữa chúng là rất cần thiết. Ngày nay con người sử dụng các máy tính và các hệ quản trị cơ sở dữ liệu để giao tác với các dữ liệu trong cơ sở dữ liệu. Hệ quản trị cơ sở dữ liệu là một phần mềm ứng dụng giúp chúng ta tạo ra, lưu trữ, quản trị và tìm kiếm dữ liệu từ một hoặc một số cơ sở dữ liệu. Trên thị trường hiện nay có rất nhiều hệ quản trị cơ sở dữ liệu khác nhau như: Micrsoft Access, Foxpro, Visual Foxpro, SQL Server, Oracle; mỗi hệ quản trị cơ sở dữ liệu có những ưu nhược điểm riêng và mỗi cái lại phù hợp với qui mô và yêu cầu của từng hệ thống thông tin quản lý khác nhau.
Ta sẽ tìm hiểu một số khái niệm cơ bản về cơ sở dữ liệu như: cơ sở dữ liệu, kho dữ liệu, bảng dữ liệu, bản ghi, trường dữ liệu, thực thể, mô hình quan hệ, thuộc tính.
Cơ sở dữ liệu: là một tập hợp các bảng có liên quan với nhau được lưu trữ trên các thiết bị hiện đại nhằm cung cấp các thông tin cho người sử dụng.
Kho dữ liệu: đó là một nơi cất giữ dữ liệu có tổ chức để có thể tìm kiếm được nhanh chóng những dữ liệu cần thiết.
Bảng dữ liệu: là tập hợp các bản ghi lưu trữ thông tin về các thực thể.
Bản ghi (dòng): là tập hợp giá trị của các trường dữ liệu của một thực thể.
Trường dữ liệu (cột): lưu trữ thông tin về từng thực thể theo một bộ thuộc tính.
Thực thể: là một đối tượng mà tổ chức muốn lưu trữ thông tin về nó. Ví dụ: Thực thể là đối tượng có dạng vật chất: vât tư, máy móc, khách hàng, ... hay một số thực thể chỉ là khái niệm / quan niệm: tài khoản, dự án, …
Mô hình quan hệ: là bản khắc họa cơ sở dữ liệu của hệ thống, nó chỉ ra các thực thể và các thuộc tính của mỗi thực thể cũng như mối liên kết giữa các thực thể của nó.
Thuộc tính: dùng để mô tả các đặc trưng của một thực thể hoặc một quan hệ. Có 3 loại thuộc tính:
Thuộc tính định danh: là thuộc tính dùng để xác định duy nhất mỗi lần xuất hiện của thực thể. Ví dụ: mã chương trong danh mục ngân sách được xác định là duy nhất.
Thuộc tính mô tả: dùng để mô tả thực thể. Ví dụ: tên cơ quan / đơn vị, địa chỉ, số điện thoại, tài khoản, mã số, ….
Thuộc tính kết nối: dùng để chỉ ra quan hệ giữa một thực thể đã có với một thực thể khác trong bảng khác. Ví dụ: có hai thực thể là danh mục loại và phiếu chi, khi có yêu cầu chi thì mã loại trong bảng Loại trỏ tới bảng phiếu chi.
· Các giai đoạn xây dựng mô hình dữ liệu:
Xác định các thực thể của CSDL.
Xác định các mối quan hệ giữa các thực thể trong CSDL.
5.2.1.Các bước xác định các thực thể của CSDL:
Mục đích của công việc này phải đưa ra các bảng dữ liệu để lưu trữ các thông tin của hệ thống, tổ chức. Các bước tiến hành:
Bước 1: xác định các thông tin vào / ra mà ta cần phải thu thập.
Bước 2: Liệt kê toàn bộ danh sách thuộc tính theo những thông tin đầu vào và các thông tin đầu ra.
Bước 3: Thực hiện công việc chuẩn hoá. Chuẩn hoá thường được thực hiện thông qua 3 bước sau:
Chuẩn hoá mức 1:
+ qui định rằng trong mỗi danh sách không được chứa những thuộc tính lặp. Thuộc tính lặp là những thuộc tính có thể nhận nhiều giá trị dữ liệu. Ví dụ: trong thư viện cùng một lúc mượn vài cuốn tài liệu thì mã tài liệu, tên tài liệu chính là thuộc tính lặp vì trong phiếu mượn tài liệu có thể ghi nhiều mã tài liệu, tên tài liệu.
+ Nếu có thuộc tính lặp thì phải tách nó ra thành các danh sách con, gắn thêm cho nó một tên, tìm cho nó một thuộc tính định danh riêng và thêm thuộc tính định danh của danh sách gốc. Ví dụ:
Phiếu mượn tài liệu: Số phiếu mượn, Số thẻ bạn đọc, Tên độc giả, Ngày mượn, Người cho mượn.
Tài liệu mượn: Số phiếu mượn, Mã tài liệu, Nhan đề, Tác giả, Hình thức mượn, Hạn trả.
Chuẩn hoá mức 2:
+ Qui định trong một danh sách các thuộc tính phải phụ thuộc hàm vào toàn bộ khoá chứ không chỉ phụ thuộc vào một phần của khoá. Mà nếu tồn tại như vậy thì phải tách những thuộc tính phụ thuộc đó thành một danh sách con mới.
+ Lấy bộ phận khoá đó làm khoá cho danh sách. Đặt cho danh sách mới này một tên riêng cho phù hợp với nội dung của các thuộc tính trong danh sách. Ví dụ:
Phiếu mượn tài liệu: Số phiếu mượn, Số thẻ bạn đọc, Tên độc giả, Ngày mượn, Người cho mượn.
Tài liệu mượn: Số phiếu mượn, Mã tài liệu, Hình thức mượn, Hạn trả,
Tài liệu: Mã tài liệu, Tên tài liệu, Tên tác giả.
Chuẩn hoá mức 3:
+ Qui định rằng trong một danh sách không có sự phụ thuộc bắc cầu giữa các thuộc tính. Nếu tồn tại thì phải tách chúng ra và xác định khoá, tên cho mỗi danh sách mới đó. Ví dụ:
Phiếu mượn tài liệu: Số phiếu mượn, Số thẻ bạn đọc, Ngày mượn, Người cho mượn.
Bạn đọc: Số thẻ bạn đọc, Tên bạn đọc, Nghề nghiệp, ….
Tài liệu mượn: Số phiếu mượn, Mã tài liệu, Hình thức mượn, Hạn trả.
Tài liệu: Mã tài liệu, Tên tài liệu, Tên tác giả, …
5.2.2. Xác định mối quan hệ giữa các thực thể:
Sau khi đã xác định các thực thể (bảng), thuộc tính, khoá chính, khoá ngoại lai thì các nhà thiết kế phải tìm ra mối quan hệ giữa chúng để sau này có thể đáp ứng các thông tin một cách nhanh nhất cho người sử dụng. Các quan hệ thường được sử dụng trong mô hình dữ liệu:
+ Quan hệ một - một thể hiện được sự đồng nhất thành một thực thể mang các thuộc tính của cả hai thực thể ban đầu.
+ Quan hệ nhiều - nhiều thể hiện mối quan hệ chưa được chuẩn hoá nên sẽ được chuyển thành các quan hệ một - nhiều thông qua các thực thể trung gian.
+ Quan hệ một - nhiều có một tệp thể hiện kiểu thực thể đó. Khoá của bảng là thuộc tính định danh của thực thể.
6. Thiết kế cơ sở dữ liệu:
Sau khi đã có được các tài liệu trên đây, các thiết kế viên sẽ phải duyệt lại mô hình dữ liệu để khắc phục, phát hiện những khiếm khuyết của mô hình để còn tiến hành chỉnh sửa, nếu không cẩn thận ở bước kiểm tra này sẽ thì công việc chỉnh sửa sẽ rất phức tạp khi mà cơ sở dữ liệu đã chứa nhiều dữ liệu.
Tạo lập cơ sở dữ liệu là công việc mà người thiết kế phải phiên dịch mô hình dữ liệu thành cơ sở dữ liệu bằng cách dùng một hệ quản trị cơ sở dữ liệu để quản lý các thông tin của tổ chức.
Ứng với mỗi hệ quản trị cơ sở dữ liệu khác nhau sẽ có những công cụ, điểm mạnh, điểm cần tránh và những đối tượng dữ liệu khác nhau do vậy người quản trị cơ sở dữ liệu phải có kinh nghiệm và kiến thức chuyên môn vững chắc về hệ quản trị cơ sở dữ liệu được lựa chọn áp dụng trong tổ chức.
III - Lựa chọn các công cụ lập trình:
Đối với qui mô bài toán mô tả như trên thì ta có thể lựa chọn công cụ thực hiện như sau:
- Phát triển chương trình trên môi trường Hệ điều hành Windows 2000 Server
- Hệ quản trị Cơ sở dữ liệu Microsoft Access 2000
- Ngôn ngữ lập trình phát triển Visual Basic 6.0
- Thiết kế Báo cáo sử dụng bộ Crystal Report của hãng Seagate
1. Hệ điều hành:
Trong quá trình xây dựng, phát triển và đóng gói hoàn chỉnh một sản phẩm phần mềm, một yếu tố quan trọng có ảnh hưởng không nhỏ tới khả năng vận hành, tính thích ứng của sản phẩm đó là hệ điều hành. Hệ điều hành đóng vai trò cung cấp môi trường, quản lý tài nguyên, quản lý CSDL, quản lý các mạng LAN, WAN và cung cấp các dịch vụ như chia sẻ tệp, máy in, các dịch vụ mạng như FTP, TELNET, RLOGIN, SNMP, ROUTER ... phục vụ quá trình phát triển, thử nghiệm các chức năng của sản phẩm phần mềm và tạo ra môi trường phát triển phần mềm theo nhóm.
Vấn đề đặt ra ở đây là lựa chọn hệ điều hành nào trong số rất nhiều hệ điều hành đang có mặt trên thị trường hiện nay của nhiều nhà sản xuất khác nhau như: WINDOW NT, 2000, 9x, Me, XP (của hãng MICROSOFT), UNIX – Solaris (SUN), LINUX (REDHAT), ...
Trước đây hệ điều hành của hãng MICROSOFT (Windows NT) còn thiếu các công cụ quản lý, an ninh đảm bảo cho hệ thống khi phát triển và chạy trên mạng. Tuy nhiên với sự phát triển nhanh chóng của HĐH Windows NT 4.0 (đặc biệt là phiên bản HĐH mạng mới ra đời WINDOWS 2000 SERVER) cùng với các HĐH truyền thống của MICROSOFT cho máy trạm như: Windows 3.1, 9x, Me, XP đã thuyết phục bất cứ nhà sản xuất phần mềm ứng dụng nào trên thế giới coi dùng giải pháp HĐH của MICROSOFT như là sự lựa chọn đầu tiên của mình.
Mặc dù vậy, theo các nhà phân tích thị trường thì việc phát triển các ứng dụng cao cấp có phạm vi hoạt động rộng (ngân hàng, tài chính, ...) HĐH UNIX vẫn chiếm ưu thế với các đặc điểm: độ ổn định cao, khả năng mở rộng rất dễ dàng (hỗ trợ 12-16 CPU, hoặc lớn hơn).
Để phù hợp với mục tiêu thiết lập môi trường dùng để phát triển, xây dựng sản phẩm phần mềm có độ ổn định cao, hỗ trợ nhiều công cụ phát triển và mức độ chi phí phù hợp. Em lựa chọn môi trường Hệ Điều Hành MICROSOFT WINDOWS 2000 SERVER
2. Hệ quản trị cơ sở dữ liệu:
Có rất nhiều hệ quản trị đang được sử dụng ở nước ta như Foxpro, Access, SQL Server, Oracle. Mỗi hệ quản trị đều có những điểm mạnh riêng có của nó nên việc lựa chọn hệ quản trị nào để phù hợp với mục đích của chúng ta là một điều rất quan trọng. Với các ứng dụng lớn và đòi hỏi tính bảo mật cao chúng ta có thể sử dụng Oracle hay SQL Server và các ứng dụng nhỏ hơn chúng ta có thể sử dụng Visual Foxpro hay Microsoft Access. Nhận thấy đây là một chương trình vừa phải và làm sao càng dễ sử dụng đối với người dùng càng tốt nên em quyết định lựa chọn hệ quản trị cơ sở dữ liệu Microsoft Access bởi vì khi triển khai ứng dụng sẽ rất dễ cài đặt và nó có thể kết nối được với Visual Basic - một ngôn ngữ lập trình ứng dụng rất phổ biến hiện nay. Sự kết hợp giữa VB6 với Access có ưu điểm khi cài đặt ứng dụng không nhất thiết phải cài đặt Microsoft Access, mà cơ sở dữ liệu của Access chỉ có một mdb file duy nhất nên có thể tránh được những thất lạc không đáng có về file cơ sở dữ liệu như Foxpro vì trong Foxpro mỗi một thực thể (bảng) là một file riêng rẽ nên khả năng bị thất lạc hoặc lỗi sẽ cao hơn.
3. Ngôn ngữ lập trình phát triển:
Microsoft Visual Basic là một trong các ngôn ngữ lập trình của hãng phần mềm máy tính nổi tiếng thế giới MICROSOFT. Với giao diện và cách thức lập trình đơn giản cùng với các công cụ được tích hợp vào từ nhiều nhà phát triển thứ 3, cho phép dễ dàng xây dựng các chương trình, có giao diện thân thiện với người dùng và có khả năng kết nối với nhiều hệ CSDL như: ORACLE, SQL Server, SysBase, Access,…
Với VB hầu như ta có thể làm đủ mọi chuyện trong MSWindows vì VB6 không yểm trợ tính Thừa kế (Inheritance) và Ða dạng (Polymorphism) của phương pháp thiết kế hướng đối tượng nhưng nói chung ta vẫn thừa hưởng những lợi ích của phương pháp thiết kế hướng đối tượng khi dùng các Components và Collection. Dầu bị giới hạn như vậy nhưng ta vẫn viết được các Class, ActiveX trong VB6. Do đó VB6 vẫn thích hợp cho việc phát triển những dự án tin học dù lớn hay nhỏ.
4. Thiết kế báo cáo:
Trong chương trình này em lựa chọn bộ công cụ Crystal Report (CR) của hãng Seagate để thiết kế các báo đầu ra, CR cho phép chúng ta có thể xuất các thông tin liên quan đến dữ liệu lên Web hay xuất các báo cáo được kết hợp trong chương trình mà chúng ta viết trong VB, Visual C, Java, asp,… Có thể nói CR rất mạnh và dễ dàng trong việc hỗ trợ các nhà phát triển xuất ra các báo cáo theo yêu cầu của bài toán.
Trong CR, em được biết (Report Designer Component) RDC là một giải pháp hữu hiệu trong việc tạo các báo cáo đối với những nhà phát triển VB. RDC chính là một đối tượng mà thể hiện sức mạnh của CR và được nhúng vào trong VB. Với RDC có thể tạo báo cáo rất hiệu quả và linh hoạt trong việc kết nối tới dữ liệu và tích hợp báo cáo trong ứng dụng. Nó có rất nhiều thuộc tính, phương thức và sự kiện mà người làm VB có thể dùng code của VB hay các cú pháp của CR để xử lý tạo ra các báo cáo. RDC được xây dựng dựa trên công nghệ COM nên việc nhúng vào VB và sử dụng nó thì không có gì khó khăn đối với những người đã từng làm việc với VB.
_____________________Ch¬ng iii
x©y dùng ch¬ng tr×nh qu¶n lý Chi NG¢N S¸CH
I – PHÂN TÍCH HỆ THỐNG
1. Khảo sát và mô tả nghiệp vụ:
1.1. Sơ đồ chức năng tổng quát:
Chương trình quản lý chi ngân sách
Quản lý hệ thống
Danh mục ngân sách
Quản lý số dư ngân sách (nếu có)
Thông báo hạn mức vốn
Phát sinh nhập, chi ngân sách
Thống kê, báo cáo
Tìm kiếm và các tiện ích hỗ trợ khác
1.2. Sơ đồ phân rã chức năng:
Quản lý hệ thống
Cập nhật các thông tin đơn vị
Cập nhật và lựa chọn năm làm việc
Chế độ bảo mật an toàn chương trình
Quản lý số dư ngân sách (nếu có)
Cập nhật các số dư (nếu có cho lần sử dụng đầu tiên)
Danh mục ngân sách
Định nghĩa các danh mục Loại
Định nghĩa danh mục Chương
Định nghĩa các danh mục Khoản
Định nghĩa các danh mục Mục
Định nghĩa các danh mục Tiểu mục
Thông báo hạn mức vốn
Cập nhật các kế hoạch hạn mức vốn (từ phòng tài chính)
Phát sinh nhập, chi ngân sách
Cập nhật các phát sinh nhập ngân sách (từ kho bạc)
Cập nhật các phát sinh chi ngân sách
Thống kê, báo cáo
Bảng kê chứng từ thanh toán (tạm ứng)
Giấy đề nghị thanh toán tạm ứng
Bảng kê chứng từ thanh toán
Báo cáo hoạt động chi chi tiết
Báo cáo hoạt động chi tổng hợp (từ 1 tới 12 tháng)
Tìm kiếm và các tiện ích
Tìm kiếm, tra cứu danh mục ngân sách nhà nước
Tìm kiếm các chứng từ liên quan
Sao lưu, phục hồi cơ sở dữ liệu
Dọn dẹp số liệu
Hướng dẫn sử dụng
1.3. Quy định chung về hệ thống mục lục ngân sách nhà nước:
Để tạo điều kiện cho các đơn vị dự toán Trung ương, địa phương, các doanh nghiệp thuộc các thành phần kinh tế và các cơ quan Tài chính, cơ quan Kho bạc nhà nước, cơ quan thu các cấp thống nhất hạch toán, kế toán và quyết toán số thu, chi ngân sách nhà nước theo đúng Mục lục ngân sách, Bộ Tài chính hướng dẫn thực hiện Mục lục ngân sách nhà nước như sau:
1.3.1. Chương:
Thể hiện tên đơn vị đứng đầu thuộc các cấp quản lý ( hay còn gọi là đơn vị cấp I ). Số thu, chi phát sinh của các đơn vị trực thuộc đơn vị cấp I đều được hạch toán, kế toán và quyết toán vào mã số chương của đơn vị cấp I.
Trong Chương có quy định một số Chương đặc biệt để theo dõi và hạch toán số thu, chi ngân sách nhà nước của các khu vực kinh tế, các thành phần kinh tế, các khoản thu không xác định được chủ sở hữu là ai; các quan hệ thanh toán của ngân sách các cấp cho những nhiệm vụ chung không thể hạch toán vào Chương của đơn vị nào và các khoản thanh toán chuyển giao giữa các cấp ngân sách.
Chương A: quy định để hạch toán số thu, chi ngân sách nhà nước của các đơn vị thuộc Trung ương quản lý.
Chương B: quy định để hạch toán số thu, chi ngân sách nhà nước của các đơn vị chính quyền cấp tỉnh quản lý.
Chương C: quy định để hạch toán số thu, chi ngân sách nhà nước của các đơn vị thuộc chính quyền cấp huyện quản lý.
Chương D: quy định để hạch toán các khoản thu, chi ngân sách nhà nước của các đơn vị thuộc chính quyền cấp xã quản lý.
Trích một số Mã số danh mục Chương của mục lục ngân sách nhà nước.
Mã số
CHƯƠNG A
(Các đơn vị thuộc TW)
CHƯƠNG B
(Các đơn vị thuộc cấp tỉnh)
CHƯƠNG C
(thuộc cấp huyện)
CHƯƠNG D
(thuộc cấp xã)
1
2
3
4
5
001
Văn phòng chủ tịch nước
002
Hoạt động của quốc hội
Hội đồng nhân dân
003
Tòa án nhân dân tối cao
004
Viện kiểm sát nhân dân tối cao
005
Văn phòng chính phủ
Văn phòng UBND
009
Bộ công an
010
Bộ quốc phòng
Sở ngoại vụ
013
Bộ kế hoạch và đầu tư
Sở kế hoạch và đầu tư
014
Bộ tư pháp
Sở tư pháp
016
Bộ công nghiệp
Sở công nghiệp
018
Bộ tài chính
Sở tài chính - vật giá
022
Bộ Giáo dục và Đào tạo
Sở Giáo dục và Đào tạo
…
…..
…..
Ghi chú: Các cơ quan chuyên môn thuộc cấp huyện (Chương C) và cấp xã (Chương D) do Sở Tài chính - Vật giá quy định.
Ví dụ: Chương 018A là “Bộ Tài chính”; Chương 018B là “Sở tài chính - vật giá”; Chương 018C là “Phòng Tài chính”; Chương 018D là “Ban Tài chính xã".
1.3.2. Loại - Khoản: Là hình thức phân loại ngân sách nhà nước theo ngành kinh tế quốc dân.
Loại: quy định để hạch toán ngành kinh tế quốc dân cấp I được ban hành theo Nghị định số 73/CP ngày 27/10/1993 của Chính phủ (có 20 ngành kinh tế quốc dân cấp I ).
Khoản: quy định để hạch toán ngành kinh tế quốc dân cấp II, cấp III và cấp IV ban hành theo Quyết định số 143/TCKT-PPQD ngày 22/12/1993 của Tổng cục Thống kê. Nhưng do yêu cầu quản lý và theo dõi số chi của ngân sách nhà nước cho các chương trình mục tiêu. Bộ tài chính quy định một số Khoản có tính chất đặc thù trong các Loại để hạch toán và quyết toán số chi của ngân sách nhà nước cho các chương trình, mục tiêu; Chương trình mục tiêu của Loại nào thì mở Khoản cho Loại đó để hạch toán.
Trích một số Mã danh mục Loại - Khoản của Mục lục ngân sách nhà nước
L
K
Tên gọi
Ghi chú
1
2
3
4
02
THỦY SẢN
01
Đánh bắt thuỷ sản và hoạt động dịch vụ có liên quan
Bao gồm đánh bắt thuỷ hải sản trong tất cả các loại nguồn nước, chế biến thuỷ sản ngay trên tàu…
02
Ươm, nuôi trồng, bảo vệ thuỷ sản và hoạt động dịch vụ có liên quan
Phản ánh cả hoạt động sự nghiệp kinh tế: khuyến ngư, điều tra, khoanh nuôi, bảo vệ nguồn lợi thuỷ sản …
99
Chương trình mục tiêu khác
14
GIÁO DỤC VÀ ĐÀO TẠO
01
Giáo dục mầm non
Bao gồm hoạt động nhà trẻ, mẫu giáo.
02
Giáo dục tiểu học
Bao gồm cả các trường dạy trẻ có khuyết tật.
03
Giáo dục phổ thông trung học cơ sở
04
Giáo dục trung học phổ thông
Bao gồm cả trung học chuyên ban
09
Đào tạo sau đại học
Gồm: Đào tạo cao học, các loại đào tạo khác trên đại học
14
Dự án củng cố và phát huy kết quả phổ cập giáo dục tiểu học và xoá mù chữ, thực hiện phổ cập giáo dục trung học cơ sở.
Từ khoản 14 đến khoản 26: dùng để phản ánh các khoản chi của chương trình, mục tiêu quốc gia về giáo dục.
26
Dự án đào tạo cán bộ tin học và đưa tin học vào nhà trường
99
Chương trình, mục tiêu khác
…
…
…
…
1.3.3. Mục và Tiểu mục:
Là hình thức phân loại theo nội dung kinh tế, căn cứ vào nội dung kinh tế ở cấp đô thấp hơn để phục vụ cho công tác lập và phân bổ dự toán ngân sách; cấp phát, quản lý và kiểm soát các khoản thu, chi của ngân sách; kế toán và quyết toán ngân sách nhà nước. Việc qui định mã Mục liên tục nhằm mục đích phục vụ cho việc ứng dụng tin học trong công tác lập, chấp hành, kế toán và quyết toán ngân sách. Vì vậy, khi hạch toán, kế toán số thu, chi ngân sách nhà nước chỉ cần hạch toán chính xác đến Mục là có kết quả số thu, chi ngân sách nhà nước.
Trong Mục có Tiểu mục; tuỳ thuộc vào nội dung của Mục mà quy định số lượng Tiểu mục trong Mục cho phù hợp.
Chú ý: các cơ quan, đơn vị Trung ương và địa phương, cơ quan Tài chính, cơ quan kho bạc nhà nước và cơ quan thu các cấp không được tự ý mở thêm các Chương, Loại, Khoản, Mục và Tiểu mục khi chưa có ý kiến của Bộ Tài chính.
Trích một số Mã số danh mục của Mục và Tiểu mục trong phần chi của mục lục ngân sách nhà nước:
Mục 100
Tiền lương
Tiểu mục
01
Lương ngạch bậc theo quỹ lương được duyệt
02
Lương tập sự
03
Lương hợp đồng dài hạn
04
Lương cán bộ công nhân viên dôi ra ngoài biên chế
99
Lương khác
Mục 101
Tiền công
Tiểu mục
01
Tiền công hợp đồng theo vụ, việc
99
Khác
Mục 103
Học bổng học sinh, sinh viên
Tiểu mục
01
Học sinh trường năng khiếu
02
Học sinh dân tộc nội trú
03
Học sinh, sinh viên các trường phổ thông, đào tạo khác trong nước
04
Học sinh, sinh viên đi học nước ngoài
05
Sinh hoạt phí cán bộ đi học
99
Khác
Mục 134
Chi khác
Tiểu mục
01
Chênh lệch tỷ giá ngoại tệ ngân sách nhà nước
03
Chi bầu cử quốc hội và HĐND các cấp
04
Chi kỷ niệm các ngày lễ lớn
05
Chi khắc phục hậu quả thiên tai cho các đơn vị dự toán và cho các doanh nghiệp nhà nước.
11
Chi hỗ trợ khác
14
Chi tiếp khách
99
Chi các khoản khác
…
…
…
1.4. Qui trình nghiệp vụ:
- Đầu quí 4 mỗi năm thì các cơ quan, đơn vị sử dụng ngân sách phải nộp bản dự toán ngân sách xin kinh phí phục vụ cho những hoạt động của đơn vị mình trong năm kế tiếp lên cơ quan tài chính. Sau đó cơ quan tài chính sẽ xem xét và duyệt các yêu cầu trong bản dự toán đó à rồi cơ quan tài chính lên kế hoạch cấp phát vốn cho cơ quan, đơn vị sử dụng ngân sách.
- Đồng thời, sau khi đã có các quyết định kế hoạch vốn cơ quan tài chính phải thông báo cho Kho bạc nhà nước để họ biết được kế hoạch cấp phát vốn cho các đơn vị sử dụng ngân sách theo đúng kế hoạch đã định.
- Các đơn vị sử dụng ngân sách nhà nước thường tiêu hết số dư của các khoản mục khi hết năm mà nếu có còn số dư thì số dư đó sẽ bị tịch thu vào công quỹ nhà nước vì không sử dụng hết nên khi bắt đầu một năm mới thì tất cả các loại, khoản, muc đều xuất phát điểm từ con số 0 do vậy ta (hầu như) không cần phải tính đến chuyện kết chuyển số dư từ năm này sang năm khác.
- Tất cả các khoản chi tại đơn vị sử dụng ngân sách đều phải nằm trong phạm vi của kế hoạch vốn đã được lên kế hoạch bởi cơ quan Tài chính.
- Các đơn vị sử dụng ngân sách cứ đúng theo kế hoạch của cơ quan tài chính mà đến kho bạc lĩnh tiền về và đồng thời cuối mỗi tháng hoặc quí thì đơn vị phải báo cáo tình hình chi tài chính với cơ quan quản lý tài chính để còn có những xử lý kịp thời.
2. Sơ đồ dòng dữ liệu:
2.1.Sơ đồ mức khung cảnh:
Giấy đề nghị
thanh toán ứng vốn
Tiền lĩnh
báo cáo chi
Xem xét và báo cáo thống kê
nhập dữ liệu
Thông báo hạn mức & kế hoạch vốn
Cơ quan tài chính
Kho bạc nhà nước
Hệ thống thông tin quản lý chi ngân sách
Người quản lý
2.2. Sơ đồ luồng dữ liệu:
Cơ quan
tài chính
Kho bạc nhà nước quản lý
Đối tác của đơn vị
Người quản lý
Báo cáo
Thống kê, báo cáo
NS theo kế hoạch
Nhập ngân sách
Chi ngân sách
Hệ thống
tài khoản
Số dư
Thông báo vốn
Phát ngân sách
Tạo lập hệ thống
Chi NS
II - Thiết kế dữ liệu:
1. Từ điển hệ thống:
Sau khi tìm hiểu, phân tích và chuẩn hoá kỹ càng, ta xác định được tất cả có 11 thực thể (bảng) được định nghĩa như sau:
1.1. Bảng chương (CHUONG): Bảng này định nghĩa mã – kí hiệu của bộ, ngành mà đơn vị mình trực thuộc.
Stt
Tên trường
Khoá
Kiểu dữ liệu
Điều kiện
Chú thích
1
Chuong_ID
Khoá chính
Text (4)
Không rỗng
Kí hiệu Mã chương NS
2
TenChuong
Text (100)
Không rỗng
Mô tả Tên chương NS
3
GhiChu
Text (100)
Ghi chú nếu có
1.2. Bảng Loại (LOAI): Bảng này định nghĩa các loại ngân sách mà đơn vị sử dụng.
Stt
Tên trường
Khoá
Kiểu dữ liệu
Điều kiện
Chú thích
1
Loai_ID
Khoá chính
Text (2)
Không rỗng
Kí hiệu Mã loại NS
2
TenLoai
Text (100)
Không rỗng
Mô tả Tên loại NS
3
Chuong_ID
Ngoại lai
Text (4)
Không rỗng
Kí hiệu Mã chương NS
4
GhiChu
Text (100)
Ghi chú nếu có
1.3. Bảng Khoản (KHOAN): bảng này định nghĩa các khoản ngân sách mà đơn vị sử dụng.
Stt
Tên trường
Khoá
Kiểu dữ liệu
Điều kiện
Chú thích
1
Khoan_ID
Khoá chính
Text (2)
Không rỗng
Kí hiệu Mã khoản NS
2
TenKhoan
Text (100)
Không rỗng
Mô tả Tên khoản NS
3
Loai_ID
Ngoại lai
Text (2)
Không rỗng
Kí hiệu Mã loại NS
4
GhiChu
Text (100)
Ghi chú nếu có
1.4. Bảng Mục (MUC): bảng này định nghĩa các mục ngân sách mà đơn vị sử dụng.
Stt
Tên trường
Khoá
Kiểu dữ liệu
Điều kiện
Chú thích
1
Muc_ID
Khoá chính
Text (3)
Không rỗng
Kí hiệu mục NS
2
TenMuc
Text (100)
Không rỗng
Mô tả tên mục NS
3
Khoan_ID
Ngoại lai
Text (2)
Không rỗng
Kí hiệu Mã khoản NS
4
GhiChu
Text (100)
Ghi chú nếu có
1.5. Bảng Tiểu mục (TIEUMUC): bảng này định nghĩa các tiểu mục ngân sách mà đơn vị sử dụng.
Stt
Tên trường
Khoá
Kiểu dữ liệu
Điều kiện
Chú thích
1
TieuMuc_ID
Khoá chính
Text (3)
Không rỗng
Kí hiệu mục NS
2
TenTieuMuc
Text (100)
Không rỗng
Mô tả tên mục NS
3
Muc_ID
Ngoại lai
Text (3)
Không rỗng
Kí hiệu mã mục NS
4
GhiChu
Text (100)
Ghi chú nếu có
1.6. Bảng Thông báo ngân sách (THONGBAONS): bảng này được sử dụng để nhập các lần thông báo về hạn mức kinh phí của cơ quan tài chính cấp cho đơn vị. Việc thông báo hạn mức ở đây chi tiết đến Loại nào, khoản nào và mục nào mà không chi tiết cụ thể cho tiểu mục nào cả.
Stt
Tên trường
Khoá
Kiểu dữ liệu
Điều kiện
Chú thích
1
Auto_ID
Khoá chính
AutoNumber
Không rỗng
Xác định duy nhất
2
Loai_ID
Ngoại lai
Text (2)
Không rỗng
Kí hiệu Loại NS
3
Khoan_ID
Ngoại lai
Text (2)
Không rỗng
Kí hiệu Khoản NS
4
Muc_ID
Ngoại lai
Text (3)
Không rỗng
Kí hiệu mục NS
5
SoTien
Double
Số tiền > 0
Số tiền thông báo
6
NgayThang
DateTime
Không rỗng
Tháng được cấp NS
1.7. Bảng Số dư lần đầu (SODU): bảng này chứa các số dư nếu có của các loại, khoản, mục khi chương trình được đưa vào sử dụng lần đầu tiên.
Stt
Tên trường
Khoá
Kiểu dữ liệu
Điều kiện
Chú thích
1
Auto_ID
Khoá chính
AutoNumber
Không rỗng
Xác định duy nhất
2
Loai_ID
Ngoại lai
Text (2)
Không rỗng
Kí hiệu Loại NS
3
Khoan_ID
Ngoại lai
Text (2)
Không rỗng
Kí hiệu Khoản NS
4
Muc_ID
Ngoại lai
Text (3)
Không rỗng
Kí hiệu mụ._. !giamdoc
G_ChuTaiKhoan = !chutk
End With
rs.Close
Set rs = Nothing
End Sub
Thủ tục xử lý cắt số hiệu chứng từ:
Function CatSoCT(str As String)
Dim vt As String
vt = Mid(str, 3, 1)
If vt = "0" Then
CatSoCT = Right(str, 2)
Else
CatSoCT = Right(str, 3)
End If
End Function
Mã nguồn của FormLogIn:
Option Explicit
Private Timthay As Boolean
Dim rsUser As New ADODB.Recordset
Dim Conn As ADODB.Connection
Private Sub cmdCancel_Click()
Timthay = False
' Dim TL As Integer
' TL = MsgBox("Bạn không muốn làm việc với chương trình? ", vbYesNo + vbQuestion)
' If TL = 6 Then
End
' Else
' Exit Sub
' Me.txtUser.SetFocus
' End If
End Sub
Private Sub cmdOK_Click()
Timthay = False
With rsUser
.MoveFirst
Do While Not .EOF And Not Timthay
If Trim(txtPass) = Trim(!Password) And Trim(txtUser) = Trim(!UserName) Then
Timthay = True
Else
Timthay = False
End If
.MoveNext
Loop
End With
If Timthay Then
Unload Me
FrmMain.Show
Else
MsgBox " Nhập sai tên đăng nhập hoặc mật khẩu !", vbInformation, "Cảnh báo đăng nhập QLCTNS"
Me.txtPass.Text = ""
Me.txtUser.Text = ""
Me.txtUser.SetFocus
End If
End Sub
Private Sub Command1_Click()
frmHelpLogin.Show
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Private Sub Form_Load()
Set Conn = New ADODB.Connection
Conn.Open StrConn & App.Path & "\DataBase.mdb"
rsUser.Open "thongsohethong", Conn, adOpenDynamic, adLockOptimistic
End Sub
Private Sub Form_Unload(Cancel As Integer)
rsUser.Close
Set rsUser = Nothing
Conn.Close
Set Conn = Nothing
End Sub
Mã nguồn của Frm_TieuMuc:
Dim rs As ADODB.Recordset
Dim F As Integer
Dim o_TieuMuc, O_Muc, o_tenTM As String
Private Sub CboMame_Click()
txtTieuMuc.Text = CboMame.Text
txtTieuMuc.SetFocus
txtTieuMuc.SelStart = 3
End Sub
Private Sub CboMame_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Private Sub cmdAdd_Click()
F = 1
Me.CboMame.Enabled = True
Me.txtTieuMuc.Enabled = True
Me.TxtTenTieumuc.Enabled = True
CboMame.Text = ""
txtTieuMuc.Text = ""
TxtTenTieumuc.Text = ""
CboMame.SetFocus
cmdDel.Enabled = True
cmdSave.Enabled = True
End Sub
Private Sub cmdAdd_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Private Sub cmdDel_Click()
On Error Resume Next
Dim tb As Integer
tb = MsgBox("Bạn thực sự muốn xoá thông tin về tiểu mục" & TxtTenTieumuc.Text & " ? ", vbQuestion + vbYesNo)
If tb = 6 Then
With rs
.Delete
.MovePrevious
If .EOF Then .MoveLast
If .BOF Then .MoveFirst
End With
End If
If rs.BOF = True And rs.EOF = True Then
Me.TxtTenTieumuc.Text = ""
Me.txtTieuMuc.Text = ""
End If
Me.Refresh
Display
LoadListView
End Sub
Private Sub cmdfirst_Click()
rs.MoveFirst
Display
LoadListView
End Sub
Private Sub DisplayRecord(rs As ADODB.Recordset)
On Error Resume Next
LvwTM.ListItems.Clear
Dim Item As ListItem
Dim i As Integer
i = 1
rs.MoveFirst
Do While Not rs.EOF
With rs
Set Item = LvwTM.ListItems.Add(i, , !TieuMuc)
Item.SubItems(1) = !tentieumuc
.MoveNext
End With
i = i + 1
Loop
End Sub
Private Sub cmdDel_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Private Sub CmdFind_Click()
Dim MaMe, TieuMuc, StrSQL As String
Dim rs1 As New ADODB.Recordset
MaMe = Trim(CboMame)
TieuMuc = Trim(TxtFind)
If MaMe = "" And TieuMuc = "" Then
MsgBox "Bạn phải chọn tiêu thức tìm kiếm. Chọn mã mẹ nếu bạn muốn tìm kiếm theo mã mẹ, Gõ vào tiểu mục nếu bạn muốn tìm kiếm theo tiểu mục"
Exit Sub
CboMame.SetFocus
End If
If MaMe "" And TieuMuc = "" Then
StrSQL = "Select tieumuc, TenTieuMuc from tieumuc where tieumuc.Muc='" & MaMe & "';"
ElseIf MaMe = "" And TieuMuc "" Then
StrSQL = "Select tieumuc, TenTieuMuc from tieumuc where tieumuc='" & TieuMuc & "';"
ElseIf MaMe "" And TieuMuc "" Then
StrSQL = "Select tieumuc, TenTieuMuc from tieumuc where tieuMuc='" & TieuMuc & "';"
End If
rs1.Open StrSQL, Conn, adOpenForwardOnly, adLockReadOnly
DisplayRecord rs1
rs1.Close
Set rs1 = Nothing
End Sub
Private Sub CmdFind_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Private Sub cmdFist_Click()
rs.MoveFirst
Display
LoadListView
End Sub
Private Sub cmdFist_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Private Sub cmdLast_Click()
rs.MoveLast
Display
LoadListView
End Sub
Private Sub CmdLast_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Private Sub Cmdmody_Click()
F = 2
Me.CboMame.Enabled = True
Me.txtTieuMuc.Enabled = True
Me.TxtTenTieumuc.Enabled = True
txtTieuMuc.SetFocus
cmdDel.Enabled = True
cmdSave.Enabled = True
o_TieuMuc = LvwTM.SelectedItem.Text
O_Muc = Left(LvwTM.SelectedItem.Text, 3)
o_tenTM = LvwTM.SelectedItem.SubItems(1)
End Sub
Private Sub Cmdmody_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Private Sub cmdnext_Click()
With rs
.MoveNext
If .EOF Then
MsgBox "Bản ghi cuối cùng, không thể di chuyển tiếp được", vbCritical
.MoveLast
End If
End With
Display
LoadListView
End Sub
Private Sub CmdNext_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Private Sub cmdprev_Click()
With rs
.MovePrevious
If .BOF Then
MsgBox "Bản ghi đầu tiên, không thể di chuyển tiếp được", vbCritical
.MoveFirst
End If
End With
Display
LoadListView
End Sub
Private Sub cmdPrev_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Private Sub CmdSave_Click()
On Error GoTo BL
If CboMame.Text = "" Then
MsgBox "Chưa cho biết mã mẹ của tiểu mục ", vbCritical
CboMame.SetFocus
Exit Sub
End If
If txtTieuMuc.Text = "" Then
MsgBox "Chưa nhập mã tiểu mục của Mục lục Ngân sách", vbCritical
txtTieuMuc.SetFocus
Exit Sub
End If
If TxtTenTieumuc.Text = "" Then
MsgBox "Chưa nhập tên của tiểu mục ", vbCritical
TxtTenTieumuc.SetFocus
Exit Sub
End If
On Error GoTo ErrHdl
If F = 1 Then
With rs
.AddNew
!TieuMuc = Trim(txtTieuMuc.Text)
!muc = Trim(CboMame.Text)
!tentieumuc = Trim(TxtTenTieumuc.Text)
.Update
End With
ElseIf F = 2 Then
Dim StrSQL As String
Dim cmd As New ADODB.Command
StrSQL = "UPDATE TieuMuc SET tieuMuc='" & txtTieuMuc & "',TentieuMuc='" & TxtTenTieumuc & "' WHERE tieumuc='" & o_TieuMuc & "' AND tentieumuc='" & o_tenTM & "';"
cmd.ActiveConnection = Conn
cmd.CommandText = StrSQL
cmd.Execute
Set cmd = Nothing
End If
cmdSave.Enabled = False
Me.CboMame.Enabled = False
Me.txtTieuMuc.Enabled = False
Me.TxtTenTieumuc.Enabled = False
Display
LoadListView
BL:
ErrHdl:
If Err.Number = -2147217887 Then
MsgBox "Mục lục đã có, nhập lại !"
Me.txtTieuMuc.SetFocus
Exit Sub
End If
End Sub
Private Sub cmdSave_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Private Sub Command1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Private Sub Form_Activate()
F = 0
End Sub
Private Sub Form_Load()
Set rs = New ADODB.Recordset
rs.Open "tieumuc", Conn, adOpenDynamic, adLockOptimistic, adCmdTable
Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 6
Display
LoadCboMame
LoadListView
cmdSave.Enabled = False
Me.CboMame.Enabled = False
Me.txtTieuMuc.Enabled = False
Me.TxtTenTieumuc.Enabled = False
End Sub
Private Sub Display()
On Error Resume Next
With rs
CboMame.Text = !muc
txtTieuMuc.Text = !TieuMuc
TxtTenTieumuc.Text = !tentieumuc
End With
Me.CboMame.Enabled = False
Me.txtTieuMuc.Enabled = False
Me.TxtTenTieumuc.Enabled = False
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
rs.Close
Set rs = Nothing
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub LoadListView()
On Error Resume Next
LvwTM.ListItems.Clear
Dim rsLvw As New ADODB.Recordset
Dim i As Integer
Dim Item As Variant
rsLvw.Open "tieumuc", Conn, adOpenForwardOnly, adLockReadOnly
i = 1
rsLvw.MoveFirst
Do While Not rsLvw.EOF
Set Item = LvwTM.ListItems.Add(i, , rsLvw!TieuMuc)
Item.SubItems(1) = rsLvw!tentieumuc
rsLvw.MoveNext
i = i + 1
Loop
rsLvw.Close
Set rsLvw = Nothing
End Sub
Private Sub Form_Unload(Cancel As Integer)
FrmMain.MnuCap2.Enabled = True
End Sub
Private Sub LvwTM_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
If KeyCode = 38 Or KeyCode = 40 Then
CboMame.Text = Left(LvwTM.SelectedItem.Text, 3)
txtTieuMuc = LvwTM.SelectedItem.Text
TxtTenTieumuc = LvwTM.SelectedItem.SubItems(1)
End If
Me.Refresh
End Sub
Private Sub LvwTM_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 38 Or KeyCode = 40 Then
CboMame.Text = Left(LvwTM.SelectedItem.Text, 3)
txtTieuMuc = LvwTM.SelectedItem.Text
TxtTenTieumuc = LvwTM.SelectedItem.SubItems(1)
End If
Me.Refresh
End Sub
Private Sub LvwTM_Click()
F = 2
Dim Item As Variant
Dim i As Integer
For i = 1 To Me.LvwTM.ListItems.count
If LvwTM.ListItems(i).Selected = True Then
Item = LvwTM.ListItems(i).index
With Me
Me.CboMame = Left(LvwTM.ListItems(Item), 3)
Me.txtTieuMuc = LvwTM.ListItems(Item)
Me.TxtTenTieumuc = LvwTM.ListItems(Item).SubItems(1)
o_TieuMuc = LvwTM.SelectedItem.Text
O_Muc = Left(LvwTM.SelectedItem.Text, 3)
o_tenTM = LvwTM.SelectedItem.SubItems(1)
txtTieuMuc.Enabled = True
TxtTenTieumuc.Enabled = True
txtTieuMuc.SetFocus
cmdDel.Enabled = True
cmdSave.Enabled = True
End With
End If
Next
End Sub
Private Sub LoadCboMame()
Dim rsTemp As New ADODB.Recordset
rsTemp.Open "select * from muc order by Muc", Conn, adOpenForwardOnly, adLockReadOnly
With rsTemp
.MoveFirst
Do While Not .EOF
Me.CboMame.AddItem !muc
.MoveNext
Loop
.Close
End With
Set rsTemp = Nothing
End Sub
Private Sub TxtFind_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Private Sub TxtFind_KeyPress(KeyAscii As Integer)
If Chr(KeyAscii) = vbBack Then Exit Sub
If Not IsNumeric(Chr(KeyAscii)) Then
KeyAscii = 0
End If
End Sub
Private Sub TxtTenTieumuc_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Private Sub txtTieuMuc_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Private Sub txtTieuMuc_KeyPress(KeyAscii As Integer)
If Chr(KeyAscii) = vbBack Then Exit Sub
If Not IsNumeric(Chr(KeyAscii)) Then
KeyAscii = 0
End If
End Sub
Mã nguồn của báo cáo tổng hợp chi:
Option Explicit
Dim VarReport4 As New CrRptBaoCaoChiTongHop
Dim cmd As ADODB.Command
Dim cmd1 As Command
Dim cmd2 As Command
Dim cmd3 As Command
Dim cmd4 As Command
Dim cmd5 As Command
Dim cmdbangtonghop As Command
Dim cmdADO As ADODB.Command
'Dim conn As New ADODB.Connection
'Dim VarThang11 As String
Dim VarThang22 As String
Dim VarYear As String
Private Sub CRViewer1_CloseButtonClicked(UseDefault As Boolean)
End Sub
Private Sub Form_Load()
Dim StrSQL As String
'SLieu cu:
'VarThang2 = G_ThangBC ' "3"
'VarThang1 = "( Cint(varthang2)-1 )"
'VarYear = G_CurrentYear ' "2003"
' Du lieu dung de kiem tra truy van:
VarThang22 = G_ThangBC ' "3"
'VarThang11 = "( Cint(varthang22)-1 )"
VarYear = G_CurrentYear ' "2003"
Dim VarThang2 As Integer
Dim VarThang1 As Integer
VarThang2 = CInt(VarThang22)
VarThang1 = VarThang2 - 1 ' CInt(VarThang11)
' Tao mot Instance for Command Object:
' SQL Statements defined following:
'************************ SQL Bang Tam LKM (Bang nay se duoc lay lam goc)
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = Conn
Dim CreateLKM As String
Dim InsertLKM As String
CreateLKM = " CREATE TABLE LKM (Ma Text(7)) "
InsertLKM = " INSERT INTO LKM ( Ma) " & _
" SELECT loai.loai & khoan.khoan & muc.muc " & _
" From loai, khoan, muc " & _
" ORDER BY loai.loai & khoan.khoan & muc.muc;"
'Dim DropLKM As String
'DropLKM = " DROP TABLE LKM"
' **** START:
'**** SQL Ton Dau Ki: --> CO BIEN DINH KEM: chu y : (VarThang-1) *******
‘*********************************************************************
' TonDauKi thang n = LuyKeNhap thang (n-1 ) - LuyKeXuat thang(n-1)
' Xu ly Luy Ke Xuat toi Thang N-1:
Set cmd1 = New ADODB.Command
Set cmd1.ActiveConnection = Conn
Dim CreateLuyKeXuat2 As String
Dim InsertLuyKeXuat2 As String
CreateLuyKeXuat2 = " CREATE TABLE LuyKeXuat2 (Ma Text(7) , SoTien Double)"
cmd1.CommandText = CreateLuyKeXuat2
cmd1.Execute
cmd1.Cancel
InsertLuyKeXuat2 = " INSERT INTO LuyKeXuat2 ( Ma, SoTien) " & _
" SELECT [chungtuchichitiet].[loai] & [chungtuchichitiet].[khoan] & [chungtuchichitiet].[muc], sum([chungtuchichitiet].[sotien]) " & _
" FROM Chungtuchi INNER JOIN ChungTuChiChiTiet ON [ChungTuChi].[SoCT]=[ChungTuChiChiTiet].[SoCT] " & _
" WHERE ( cint(Month([chungtuchi].[Ngayct]))<= " & VarThang1 & ") And (Year([chungtuchi].[NgayCT])='" & VarYear & "') " & _
" GROUP BY [chungtuchichitiet].[loai] & [chungtuchichitiet].[khoan] & [chungtuchichitiet].[muc]; "
cmd1.CommandText = InsertLuyKeXuat2
cmd1.Execute
cmd1.Cancel
cmd1.CommandText = " select * From LuyKeXuat2 Order by ma"
cmd1.Execute
cmd1.Cancel
'Dim DropLuyKeXuat2 As String
'DropLuyKeXuat2 = " DROP TABLE LuyKeXuat2 "
' Xu ly Luy Ke Nhap Toi Thang N-1:
Dim CreateLuyKeNhapChuaCoSoDu2 As String
Dim InsertLuyKeNhapChuaCoSoDu2 As String
CreateLuyKeNhapChuaCoSoDu2 = " CREATE TABLE LuyKeNhapChuaCoSoDu2 ( Ma Text(7), SoTien Double)"
cmd1.CommandText = CreateLuyKeNhapChuaCoSoDu2
cmd1.Execute
cmd1.Cancel
InsertLuyKeNhapChuaCoSoDu2 = " INSERT INTO LuyKeNhapChuaCoSoDu2 ( Ma, SoTien)" & _
" SELECT A.loai & [khoan] & [muc] , sum(A.sotien) " & _
" FROM NhapNS AS A " & _
" Where ( cint ( Month(A.ngaythang)) <= " & VarThang1 & " ) And (Year(A.ngaythang) = '" & VarYear & "') " & _
" GROUP BY A.loai & [khoan] & [muc] " & _
" ORDER BY A.loai & [khoan] & [muc]; "
cmd1.CommandText = InsertLuyKeNhapChuaCoSoDu2
cmd1.Execute
cmd1.Cancel
cmd1.CommandText = " select * from luykenhapchuacosodu2 "
cmd1.Execute
cmd1.Cancel
'Dim DropLuyKeNhapChuaCoSoDu2 As String
'DropLuyKeNhapChuaCoSoDu2 = " DROP TABLE LuyKeNhapChuaCoSoDu2 "
'************ VUA SUA XONG LOI CHO NAY:
' Tao bang SoDu 2:
Dim CreateSoDu2 As String
CreateSoDu2 = " CREATE TABLE SoDu2 ( Nam Text(4), Loai Text(2), Khoan Text(2), Muc Text(3), TonDau Double)"
cmd1.CommandText = CreateSoDu2
cmd1.Execute
cmd1.CommandText = " INSERT INTO SoDu2 (Nam,Loai,Khoan,Muc,TonDau) " & _
" SELECT nam,loai,khoan,muc,tondau FROM SODU WHERE Nam= '" & VarYear & "'"
cmd1.Execute
cmd1.Cancel
cmd1.CommandText = " SELECT * FROM SoDu2 Order By Loai,Khoan,muc"
cmd1.Execute
cmd1.Cancel
'**************** KET THUC CHO VUA SUA !
'Su dung Query QryLKM:
'Create LuyKeNhap . LuyKeNhap co cau truc: ' Ma (text), TonDau (Double), NhapTrongNam( Double)
Dim CreateLuyKeNhap2 As String
Dim InsertLuyKeNhap2 As String
CreateLuyKeNhap2 = " CREATE TABLE LuyKeNhap2 ( Ma Text(7), TonDauNam Double , NhapTrongNam Double)"
cmd1.CommandText = CreateLuyKeNhap2
cmd1.Execute
cmd1.Cancel
InsertLuyKeNhap2 = " INSERT INTO LuyKeNhap2 (Ma, TonDauNam,NhapTrongNam) " & _
" SELECT QRYLKM.MA, IIF( ISNULL(A.TONDAU),0,A.TONDAU), IIF(ISNULL(B.SOTIEN),0,B.SOTIEN) " & _
" FROM SODU2 AS A RIGHT JOIN ( QryLKM LEFT JOIN LUYKENHAPCHUACOSODU2 AS B ON QRYLKM.MA = B.MA) ON QRYLKM.MA=A.LOAI & KHOAN & MUC " & _
" ORDER BY QRYLKM.MA"
'DANG SUA: '" WHERE A.NAM='" & VarYear & "' " &
cmd1.CommandText = InsertLuyKeNhap2
cmd1.Execute
cmd1.Cancel
cmd1.CommandText = " SELECT * FROM LuyKeNhap2 ORDER BY Ma "
cmd1.Execute
cmd1.Cancel
'Dim DropLuyKeNhap2 As String
'DropLuyKeNhap2 = " DROP TABLE LuyKeNhap2 "
' LuyKeNhapOK2: includes 2 fields : Ma & SoTien
Dim CreateLuyKeNhapOK2 As String
Dim InsertLuyKeNhapOK2 As String
CreateLuyKeNhapOK2 = " CREATE TABLE LuyKeNhapOK2 (Ma Text(7), SoTien Double)"
cmd1.CommandText = CreateLuyKeNhapOK2
cmd1.Execute
cmd1.Cancel
InsertLuyKeNhapOK2 = " INSERT INTO LuyKeNhapOK2 ( Ma, SoTien)" & _
" SELECT Ma, TonDauNam + NhapTrongNam FROM LuyKeNhap2 "
cmd1.CommandText = InsertLuyKeNhapOK2
cmd1.Execute
cmd1.Cancel
cmd1.CommandText = " Select * FROM luykenhapok2"
cmd1.Execute
cmd1.Cancel
'Dim DropLuyKeNhapOK2 As String
'DropLuyKeNhapOK2 = "DROP TABLE LuyKeNhapOK2 "
' TonDauKi
Dim CreateTonDauKi As String
Dim InsertTonDauKi As String
CreateTonDauKi = " CREATE TABLE TonDauKi ( Ma Text(7), SoTien Double)"
cmd1.CommandText = CreateTonDauKi
cmd1.Execute
cmd1.Cancel
InsertTonDauKi = " INSERT INTO TonDauKi (Ma, SoTien) " & _
" SELECT A.Ma , A.SoTien - IIF ( ISNULL ( B.SoTien),0,B.SoTien)" & _
" From LuyKeNhapOK2 as A Left Join LuyKeXuat2 as B ON A.Ma = B.Ma"
cmd1.CommandText = InsertTonDauKi
cmd1.Execute
cmd1.Cancel
cmd1.CommandText = " select * FROM TonDauKi"
cmd1.Execute
cmd1.Cancel
' Dim DropTonDauKi As String
'DropTonDauKi = " DROP TABLE TonDauKi"
' SELECT a.ma, a.expr1001 - IIf(IsNull(b.expr1001),0,b.expr1001)
'FROM baocao2_luykenhap_better AS a LEFT JOIN baocao2_luykexuat AS b ON a.ma=b.expr1000;
'************************ SQL Nhap Trong Ki: -->CO BIEN DINH KEM ************************************************************************
Set cmd2 = New Command
Set cmd2.ActiveConnection = Conn
Dim CreateNhapTrongKy As String
Dim InsertNhapTrongKy As String
CreateNhapTrongKy = " CREATE TABLE NhapTrongKy ( Ma Text(7), SoTien Double) "
cmd2.CommandText = CreateNhapTrongKy
cmd2.Execute
cmd2.Cancel
InsertNhapTrongKy = " INSERT INTO NhapTrongKy ( Ma,SoTien) " & _
" SELECT [loai] & [khoan] & [muc], sum([sotien]) FROM NhapNS " & _
" WHERE ( cint(Month(ngaythang))=" & VarThang2 & " ) And (Year(ngaythang)='" & VarYear & "') " & _
" GROUP BY [loai] & [khoan] & [muc];"
cmd2.CommandText = InsertNhapTrongKy
cmd2.Execute
cmd2.Cancel
cmd2.CommandText = " select * FROM NhapTrongKy"
cmd2.Execute
cmd2.Cancel
'Dim InsertNhapTrongKy As String
'DropNhapTrongKy = " DROP TABLE NhapTrongKy "
'************************ SQL Luy Ke Nhap: --> CO BIEN DINH KEM
Set cmd4 = New ADODB.Command
Set cmd4.ActiveConnection = Conn
Dim CreateLuyKeNhapChuaCoSoDu As String
Dim InsertLuyKeNhapChuaCoSoDu As String
CreateLuyKeNhapChuaCoSoDu = " CREATE TABLE LuyKeNhapChuaCoSoDu ( Ma Text(7), SoTien Double)"
cmd4.CommandText = CreateLuyKeNhapChuaCoSoDu
cmd4.Execute
cmd4.Cancel
InsertLuyKeNhapChuaCoSoDu = " INSERT INTO LuyKeNhapChuaCoSoDu ( Ma, SoTien)" & _
" SELECT A.loai & [khoan] & [muc] , sum(A.sotien) " & _
" FROM NhapNS AS A " & _
" Where (cint(Month(A.ngaythang)) <= " & VarThang2 & " ) And (Year(A.ngaythang) = '" & VarYear & "') " & _
" GROUP BY A.loai & [khoan] & [muc] " & _
" ORDER BY A.loai & [khoan] & [muc]; "
cmd4.CommandText = InsertLuyKeNhapChuaCoSoDu
cmd4.Execute
cmd4.Cancel
cmd4.CommandText = " select * FROM LuyKeNhapChuaCoSoDu "
cmd4.Execute
cmd4.Cancel
'Dim DropLuyKeNhapChuaCoSoDu As String
'DropLuyKeNhapChuaCoSoDu = " DROP TABLE LuyKeNhapChuaCoSoDu "
'Dang sua cho Luy Ke Nhap ====> Tao bang so du 4:
cmd4.CommandText = " CREATE TABLE SoDu4 (Nam Text(4), Loai Text(2), Khoan Text(2), Muc Text(3), TonDau Double)"
cmd4.Execute
cmd4.Cancel
cmd4.CommandText = " Insert into SoDu4 (Nam, loai, khoan, muc, tondau) " & _
" SELECT Nam,loai,khoan,muc,tondau FROM SoDu WHERE Nam = '" & VarYear & "' "
cmd4.Execute
cmd4.Cancel
cmd4.CommandText = " Select * FROM SoDu4 ORDER BY Loai, khoan,muc"
cmd4.Execute
cmd4.Cancel
'' Ket thuc sua luy ke nhap
'Su dung Query QryLKM:
'Create LuyKeNhap . LuyKeNhap co cau truc: ' Ma (text), TonDau (Double), NhapTrongNam( Double)
Dim CreateLuyKeNhap As String
Dim InsertLuyKeNhap As String
CreateLuyKeNhap = " CREATE TABLE LuyKeNhap ( Ma Text(7), TonDauNam Double , NhapTrongNam Double)"
cmd4.CommandText = CreateLuyKeNhap
cmd4.Execute
cmd4.Cancel
InsertLuyKeNhap = " INSERT INTO LuyKeNhap (Ma, TonDauNam,NhapTrongNam) " & _
" SELECT QRYLKM.MA, IIF( ISNULL(A.TONDAU),0,A.TONDAU), IIF(ISNULL(B.SOTIEN),0,B.SOTIEN) " & _
" FROM SODU4 AS A RIGHT JOIN ( QryLKM LEFT JOIN LUYKENHAPCHUACOSODU AS B ON QRYLKM.MA = B.MA) ON QRYLKM.MA=A.LOAI & KHOAN & MUC " & _
" ORDER BY QRYLKM.MA"
'DANG SUA: ==> " WHERE A.NAM='" & VarYear & "' " &
cmd4.CommandText = InsertLuyKeNhap
cmd4.Execute
cmd4.Cancel
cmd4.CommandText = "select * FROM LuyKeNhap"
cmd4.Execute
cmd4.Cancel
'Dim DropLuyKeNhap As String
'DropLuyKeNhap = " DROP TABLE LuyKeNhap "
' LuyKeNhapOK: includes 2 fields : Ma & SoTien
Dim CreateLuyKeNhapOK As String
Dim InsertLuyKeNhapOK As String
CreateLuyKeNhapOK = " CREATE TABLE LuyKeNhapOK (Ma Text(7), SoTien Double)"
cmd4.CommandText = CreateLuyKeNhapOK
cmd4.Execute
cmd4.Cancel
InsertLuyKeNhapOK = " INSERT INTO LuyKeNhapOK ( Ma, SoTien)" & _
" SELECT Ma, TonDauNam + NhapTrongNam FROM LuyKeNhap "
cmd4.CommandText = InsertLuyKeNhapOK
cmd4.Execute
cmd4.Cancel
cmd4.CommandText = " select * FROM LuyKeNhapOK"
cmd4.Execute
cmd4.Cancel
'Dim DropLuyKeNhapOK As String
'DropLuyKeNhapOK = "DROP TABLE LuyKeNhapOK "
'************************ SQL Xuat Trong Ky --> CO BIEN DINH KEM
Set cmd3 = New Command
Set cmd3.ActiveConnection = Conn
Dim CreateXuatTrongKy As String
Dim InsertXuatTrongKy As String
CreateXuatTrongKy = " CREATE TABLE XuatTrongKy ( Ma Text(7), SoTien Double)"
cmd3.CommandText = CreateXuatTrongKy
cmd3.Execute
cmd3.Cancel
InsertXuatTrongKy = " INSERT INTO XuatTrongKy ( Ma, SoTien) " & _
" SELECT chungtuchichitiet.loai & chungtuchichitiet.khoan & chungtuchichitiet.muc , sum( chungtuchichitiet.sotien) " & _
" FROM Chungtuchi INNER JOIN ChungTuChiChiTiet ON ChungTuChi.SoCT = ChungTuChiChiTiet.SoCT " & _
" WHERE (cint(Month(chungtuchi.Ngayct))= " & VarThang2 & " ) AND (Year(chungtuchi.NgayCT)='" & VarYear & "') " & _
" GROUP BY chungtuchichitiet.loai & chungtuchichitiet.khoan & chungtuchichitiet.muc; "
cmd3.CommandText = InsertXuatTrongKy
cmd3.Execute
cmd3.Cancel
cmd3.CommandText = " SELECT * FROM XuatTrongKy "
cmd3.Execute
cmd3.Cancel
'Dim DropXuatTrongKy As String
'DropXuatTrongKy = " DROP TABLE XuatTrongKy "
'************************ SQL Luy Ke Xuat : --> CO BIEN DINH KEM
Set cmd5 = New ADODB.Command
Set cmd5.ActiveConnection = Conn
Dim CreateLuyKeXuat As String
Dim InsertLuyKeXuat As String
CreateLuyKeXuat = " CREATE TABLE LuyKeXuat (Ma Text(7) , SoTien Double)"
cmd5.CommandText = CreateLuyKeXuat
cmd5.Execute
cmd5.Cancel
InsertLuyKeXuat = " INSERT INTO LuyKeXuat ( Ma, SoTien) " & _
" SELECT [chungtuchichitiet].[loai] & [chungtuchichitiet].[khoan] & [chungtuchichitiet].[muc], sum([chungtuchichitiet].[sotien]) " & _
" FROM Chungtuchi INNER JOIN ChungTuChiChiTiet ON [ChungTuChi].[SoCT]=[ChungTuChiChiTiet].[SoCT] " & _
" WHERE (cint(Month([chungtuchi].[Ngayct]))<=" & VarThang2 & ") And (Year([chungtuchi].[NgayCT])='" & VarYear & "') " & _
" GROUP BY [chungtuchichitiet].[loai] & [chungtuchichitiet].[khoan] & [chungtuchichitiet].[muc]; "
cmd5.CommandText = InsertLuyKeXuat
cmd5.Execute
cmd5.Cancel
cmd5.CommandText = " select * FROM LuyKeXuat "
cmd5.Execute
'************************** Bang Tong Hop : ******************************
Set cmdbangtonghop = New ADODB.Command
Set cmdbangtonghop.ActiveConnection = Conn
Dim CreateBangTongHop As String
CreateBangTongHop = " CREATE TABLE BangTongHop ( Ma Text(7),TonDauKi Double, NhapTrongKy Double,LuyKeNhap Double,XuatTrongKi Double,LuyKeXuat Double )"
cmdbangtonghop.CommandText = CreateBangTongHop
cmdbangtonghop.Execute
cmdbangtonghop.Cancel
Dim InsertBangTongHop As String
'InsertBangTongHop = " Insert INTO BangTongHop(Ma,TonDauKi,NhapTrongKy,LuyKeNhap,XuatTrongKi,LuyKeXuat ) " & _
' " SELECT qryLKM.Ma as Ma, IIF ( ISNULL(TonDauKi.SoTien),0,TonDauKi.SoTien) as TonDauKi,IIF( ISNull (NhapTrongKy.SoTien), 0, NhapTrongKy.SoTien) as NhapTrongKy, LuyKeNhap.TonDauNam + LuyKeNhap.NhapTrongNam as LuyKeNhap,IIF ( ISNULL(XuatTrongKy.SoTien),0,XuatTrongKy.SoTien) as XuatTrongKi,IIF ( ISNULL (LuyKeXuat.SoTien),0,LuyKeXuat.SoTien) as LuyKeXuat " & _
' " From LuyKeXuat Right Join (XuatTrongKy Right Join (LuyKeNhap Right Join (NhapTrongKy Right Join ( QryLKM Left Join TonDauKi ON QryLKM.Ma =TonDauKi.Ma ) " & _
'"ON NhapTrongKy.Ma = QryLKM.Ma) ON LuyKeNhap.Ma = QryLKM.Ma) ON XuatTrongKy.Ma = QryLKM.Ma) ON LuyKeXuat.Ma = QryLKM.Ma " & _
' " ORDER BY QryLKM.Ma"
InsertBangTongHop = " Insert INTO BangTongHop(Ma,TonDauKi,NhapTrongKy,LuyKeNhap,XuatTrongKi,LuyKeXuat ) " & _
" SELECT qryLKM.Ma as Ma, IIF ( ISNULL(TonDauKi.SoTien),0,TonDauKi.SoTien) as TonDauKi,IIF( ISNull (NhapTrongKy.SoTien), 0, NhapTrongKy.SoTien) as NhapTrongKy, IIF ( ISNULL (LuyKeNhapOK.SoTien) , 0 ,LuyKeNhapOK.SoTien ) as LuyKeNhap,IIF ( ISNULL(XuatTrongKy.SoTien),0,XuatTrongKy.SoTien) as XuatTrongKi,IIF ( ISNULL (LuyKeXuat.SoTien),0,LuyKeXuat.SoTien) as LuyKeXuat " & _
" From LuyKeXuat Right Join (XuatTrongKy Right Join (LuyKeNhapok Right Join (NhapTrongKy Right Join ( QryLKM Left Join TonDauKi ON QryLKM.Ma =TonDauKi.Ma ) " & _
" ON NhapTrongKy.Ma = QryLKM.Ma) ON LuyKeNhapok.Ma = QryLKM.Ma) ON XuatTrongKy.Ma = QryLKM.Ma) ON LuyKeXuat.Ma = QryLKM.Ma " & _
" ORDER BY QryLKM.Ma"
cmdbangtonghop.CommandText = InsertBangTongHop
cmdbangtonghop.Execute
cmdbangtonghop.Cancel
cmdbangtonghop.CommandText = " select * from bangtonghop order by Ma"
cmdbangtonghop.Execute
'****** Ket Noi Tao Nguon cho Report Bao Cao Chi Tong Hop Trong Thang: ********
‘***********************************************************************
Set cmdADO = New ADODB.Command
Set cmdADO.ActiveConnection = Conn
StrSQL = " SELECT * " & _
" FROM (SELECT left(ma,4) as Ma1,sum(tondauki) as TonDauKi1 ,sum(nhaptrongky) as NhapTrongKy1, sum(luykenhap) as LuyKeNhap1, sum(xuattrongki) as XuatTrongKi1, sum(luykexuat) as LuyKeXuat1 " & _
" From BangTongHop " & _
" Group By left(ma,4) ) " & _
" WHERE not ( LuyKeXuat1 =0 AND TonDauKi1 =0 AND NhapTrongKy1=0 AND LuyKeNhap1=0 AND XuatTrongKi1=0 ); "
'" WHERE not ( LuyKeXuat1 =0 AND TonDauKi1 =0 AND NhapTrongKy1=0 AND LuyKeNhap1=0 AND XuatTrongKi1=0 ) "
cmdADO.CommandText = StrSQL
cmdADO.CommandType = adCmdText
On Error Resume Next
VarReport4.Database.AddADOCommand Conn, cmdADO
'On Error Resume Next
With VarReport4
.UnbForLoai.SetUnboundFieldSource "Left({ado.Ma1},2)"
.UnbForKhoan.SetUnboundFieldSource "Right({ado.Ma1},2)"
'.UnbForMuc.SetUnboundFieldSource "Right({ado.Ma1},3)"
.UnbForTonDauKy.SetUnboundFieldSource "{ado.TonDauKi1}"
.UnbForNhapTrongKyNay.SetUnboundFieldSource "{ado.NhapTrongKy1}"
.UnbForLuyKeNhap.SetUnboundFieldSource "{ado.LuyKeNhap1}"
.UnbForXuatTrongKy.SetUnboundFieldSource "{ado.XuatTrongKi1}"
.UnbForLuyKeXuat.SetUnboundFieldSource "{ado.LuyKeXuat1}"
.txtTieuDeThang.SetText VarThang2
.txtTieuDeNam.SetText G_CurrentYear
If G_NgayInBC "" Then
.txtNgay.SetText Day(CDate(G_NgayInBC))
.txtThang.SetText Month(CDate(G_NgayInBC))
.txtNam.SetText Year(CDate(G_NgayInBC))
Else
.txtNgay.SetText " "
.txtThang.SetText " "
.txtNam.SetText " "
End If
.txtKeToan.SetText G_TenKTDV
.txtChuTaiKhoan.SetText G_ChuTaiKhoan
.PaperSize = crPaperA4
End With
Screen.MousePointer = vbHourglass
With CRViewer1
.ReportSource = VarReport4
.ViewReport
.Zoom 100
.EnableGroupTree = False
.EnableRefreshButton = True
End With
Screen.MousePointer = vbDefault
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim DropLuyKeXuat2 As String
DropLuyKeXuat2 = " DROP TABLE LuyKeXuat2 "
cmd.CommandText = DropLuyKeXuat2
cmd.Execute
cmd.Cancel
cmd.CommandText = "DROP TABLE SoDu2"
cmd.Execute
cmd.CommandText = " DROP TABLE SoDu4"
cmd.Execute
Dim DropLuyKeNhapChuaCoSoDu2 As String
DropLuyKeNhapChuaCoSoDu2 = " DROP TABLE LuyKeNhapChuaCoSoDu2 "
cmd1.CommandText = DropLuyKeNhapChuaCoSoDu2
cmd1.Execute
Dim DropLuyKeNhap2 As String
DropLuyKeNhap2 = " DROP TABLE LuyKeNhap2 "
cmd1.CommandText = DropLuyKeNhap2
cmd1.Execute
Dim DropLuyKeNhapOK2 As String
DropLuyKeNhapOK2 = "DROP TABLE LuyKeNhapOK2 "
cmd2.CommandText = DropLuyKeNhapOK2
cmd2.Execute
Dim DropTonDauKi As String
DropTonDauKi = " DROP TABLE TonDauKi"
cmd2.CommandText = DropTonDauKi
cmd2.Execute
'Dim DropNhapTrongKy As String
'DropNhapTrongKy = " DROP TABLE NhapTrongKy "
'cmd2.CommandText = DropNhapTrongKy
Dim DropLuyKeNhapChuaCoSoDu As String
DropLuyKeNhapChuaCoSoDu = " DROP TABLE LuyKeNhapChuaCoSoDu "
cmd2.CommandText = DropLuyKeNhapChuaCoSoDu
cmd2.Execute
cmd2.Cancel
Dim DropLuyKeNhap As String
DropLuyKeNhap = " DROP TABLE LuyKeNhap "
cmd3.CommandText = DropLuyKeNhap
cmd3.Execute
Dim DropLuyKeNhapOK As String
DropLuyKeNhapOK = "DROP TABLE LuyKeNhapOK "
cmd3.CommandText = DropLuyKeNhapOK
cmd3.Execute
Dim DropXuatTrongKy As String
DropXuatTrongKy = " DROP TABLE XuatTrongKy "
cmd3.CommandText = DropXuatTrongKy
cmd3.Execute
Dim DropLuyKeXuat As String
DropLuyKeXuat = " DROP TABLE LuyKeXuat "
cmd4.CommandText = DropLuyKeXuat
cmd4.Execute
cmd4.Cancel
'Dim DropLuyKeNhapChuaCoSoDu As String
'DropLuyKeNhapChuaCoSoDu = " DROP TABLE LuyKeNhapChuaCoSoDu"
'cmd5.CommandText = DropLuyKeNhapChuaCoSoDu
'cmd5.Execute
Dim DropNhapTrongKy As String
DropNhapTrongKy = " DROP TABLE NhapTrongKy "
cmd5.CommandText = DropNhapTrongKy
cmd5.Execute
cmdbangtonghop.CommandText = "DROP TABLE BangTongHop "
cmdbangtonghop.Execute
Set cmd = Nothing
Set cmd1 = Nothing
Set cmd2 = Nothing
Set cmd3 = Nothing
Set cmd4 = Nothing
Set cmd5 = Nothing
Set cmdbangtonghop = Nothing
Set cmdADO = Nothing
Set VarReport4 = Nothing
End Sub
Private Sub Form_Resize()
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Height = ScaleHeight
CRViewer1.Width = ScaleWidth
End Sub
Hết
._.
Các file đính kèm theo tài liệu này:
- 3492.doc