Đề tài Viết chương trình quản lý kế toán doanh nghiệp

LỜI MỞ ĐẦU

PHẦN I

TIN HỌC HÓA QUẢN LÝ THÔNG TIN

TRONG CÁC DOANH NGHIỆP

1. Kế toán

2. Vai trò của kế toán

3. Vai trò tin học trong quản lý

4. Nhiệm vụ của đề tài

 

PHẦN II

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHO CHƯƠNG TRÌNH

QUẢN LÝ KẾ TOÁN DOANH NGHIỆP

1. Các bước thực hiện cơ bản của kế toán doanh nghiệp

2. Mô tả yêu cầu quản lý của chương trình

3. Quá trình phân tích chương trình

4. Dữ liệu đầu vào và đầu ra của chương trình

5. Cấu trúc chương trình

6. Sơ đồ chức năng

7. Sơ đồ luồng dữ liệu

8. Sơ đồ quan hệ giữa các thực thể

 

PHẦN III

CƠ SỞ DỮ LIỆU CỦA CHƯƠNG TRÌNH

1. Cơ sở dữ liệu

2. Sử dụng Microsoft Access để tạo cơ sở dữ liệu

 

PHẦN IV

SỬ DỤNG NGÔN NGỮ LẬP TRÌNH VISUAL BASIC

ĐỂ THIẾT KẾ CHƯƠNG TRÌNH

1. Ngôn ngữ lập trình visual basic

2. Các đối tượng truy cập dữ liệu

3. Sử dụng các đối tượng truy cập dữ liệu trong chương trình

4. Các giao diện người sử dụng

5. Sử dụng các câu truy vấn (SQL)

6. Thiết lập báo cáo và xuất thông tin

7. Tạo bộ giúp đỡ

8. Đóng gói chương trình

 

PHẦN V

CHƯƠNG TRÌNH QUẢN LÝ KẾ TOÁN DOANH NGHIỆP

GIAO DIỆN VÀ MÃ NGUỒN CỦA MỘT SỐ FORM

CẬP NHẬT – BÁO CÁO

1. Hệ thống Folder để lưu trữ chương trình

2. Giao diện chính của chương trình

3. Một số thủ tục dùng để mở kết nối dữ liệu giữa Access với Visual Basic

4. Giao diện và mã nguồn của một số Form cập nhật và xuất thông tin

 

PHẦN VI

ĐÓNG GÓI – ĐÁNH GIÁ

VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI

 

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

TÀI LIỆU THAM KHẢO

 

 

doc78 trang | Chia sẻ: huong.duong | Lượt xem: 1153 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Viết chương trình quản lý kế toán doanh nghiệp, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
_VND Number Double(Standard) Tieàn VND TYGIA Number Double(Standard) Tyỷ giaự TIEN_USD Number Double(Standard) Tieàn USD MA_NT Text 15 Maừ ngoaùi teọ DIENGIAI Text 255 Dieón giaỷi Tbl_PHIEUCHICN : Phieỏu chi coõng nụù Field name Data type Size Description SO_CT(K) Text 12 Soỏ chửựng tửứ MA_CT Text 10 Maừ chửựng tửứ MA_NCC Text 10 Maừ nhaứ cung caỏp NGAYLAP_CT Date/Time Short Date Ngaứy laọp chửựng tửứ TK_NO Text 10 Taứi khoaỷn nụù TK_CO Text 10 Taứi khoaỷn coự MA_NH Text 10 Maừ ngaõn haứng TIEN_VND Number Double(Standard) Tieàn VND TYGIA Number Double(Standard) Tyỷ giaự TIEN_USD Number Double(Standard) Tieàn USD MA_NT Text 15 Maừ ngoaùi teọ DIENGIAI Text 255 Dieón giaỷi Tbl_SDCONGNO : Coõng nụù ủaàu kyứ, cuoỏi kyứ vaứ phaựt sinh coõng nụù trong kyứ Field name Data type Size Description KEY_CONGNO (K) Text 30 Khoựa xaực ủũnh thaựng naờm vaứ khaựch haứng, nhaứ cung caỏp coự coõng nụù MA_KH Text 10 Maừ khaựch haứng MA_NCC Text 10 Maừ nhaứ cung caỏp MA_TK Text 14 Maừ taứi khoaỷn NOVND_DK Number Double(Standard) Nụù VND ủaàu kyứ COVND_DK Number Double(Standard) Coự VND ủaàu kyứ NOFSVND_TK Number Double(Standard) Nụù phaựt sinh VND trong kyứ COFSVND_TK Number Double(Standard) Coự phaựt sinh VND trong kyứ NOVND_CK Number Double(Standard) Nụù VND cuoỏi kyứ COVND_CK Number Double(Standard) Coự VND cuoỏi kyứ PHANLOAI Text 1 Phaõn loaùi coõng nụù NOUSD_DK Number Double(Standard) Nụù USD ủaàu kyứ COUSD_DK Number Double(Standard) Coự USD ủaàu kyứ NOFSUSD_TK Number Double(Standard) Nụù phaựt sinh USD trong kyứ COFSUSD_TK Number Double(Standard) Coự phaựt sinh USD trong kyứ NOUSD_CK Number Double(Standard) Nụù USD cuoỏi kyứ COUSD_CK Number Double(Standard) Coự USD cuoỏi kyứ Tbl_TONKHOHH : Toàn kho haứng hoựa Field name Data type Size Description KEY_TKHH(K) Text 30 Khoựa xaực ủũnh thaựng naờm vaứ maởt haứng toàn MA_HH Text 10 Maừ haứng hoựa MA_NHOM Text 10 Maừ nhoựm MA_KHO Text 10 Maừ kho QUYCACH Text 255 Quy caựch SL_DK Number Long Integer Soỏ lửụùng ủaàu kyứ GTUSD_DK Number Double(Standard) Giaự trũ USD ủaàu kyứ GTVND_DK Number Double(Standard) Giaự trũ VND ủaàu kyứ SL_NHAP Number Long Integer Soỏ lửụùng nhaọp GTUSD_NHAP Number Double(Standard) Giaự trũ USD nhaọp GTVND_NHAP Number Double(Standard) Giaự trũ VND nhaọp SL_XUAT Number Long Integer Soỏ lửụùng xuaỏt GTUSD_XUAT Number Double(Standard) Giaự trũ USD xuaỏt GTVND_XUAT Number Double(Standard) Giaự trũ VND xuaỏt SL_CK Number Long Integer Soỏ lửụùng cuoỏi kyứ GTUSD_CK Number Double(Standard) Giaự trũ USD cuoỏi kyứ GTVND_CK Number Double(Standard) Giaự trũ VND cuoỏi kyứ DGBQ_USD Number Double(Standard) ẹụn giaự bỡnh quaõn USD DGBQ_VND Number Double(Standard) ẹụn giaự bỡnh quaõn VND b. Duứng Microsoft Access ủeồ taùo boọ cụ sụỷ dửừ lieọu Cụ sụỷ dửừ lieọu cho Chửụng Trỡnh Quaỷn Lyự Keỏ Toaựn Doanh Nghieọp c. Moỏi quan heọ cho caực baỷng dửừ lieọu trong chửụng trỡnh Relationship phaõn heọ keỏ toaựn tieàn maởt Relationship phaõn heọ keỏ toaựn haứng hoựa Relationship phaõn heọ keỏ toaựn coõng nụù PHAÀN IV SệÛ DUẽNG NGOÂN NGệế LAÄP TRèNH VISUAL BASIC ẹEÅ THIEÁT KEÁ CHệễNG TRèNH Ngoõn ngửừ laọp trỡnh Visual Basic Visual Basic coự raỏt nhieàu tớnh naờng mụựi. Caực ủieàu khieồn mụựi cho pheựp vieỏt caực chửụng trỡnh ửựng duùng keỏt hụùp giao dieọn, caựch xửỷ lyự vaứ tớnh naờng cuỷa Microsoft Office 97 vaứ trỡnh duyeọt Web Internet Explorer, khoõng nhaỏt thieỏt phaỷi coự moọt baỷn sao cuỷa ủieàu khieồn treõn bieồu maóu. Visual Basic cho pheựp : Laọp trỡnh ủeồ theõm ủieàu khieồn vaứo ủeà aựn tửù ủoọng vaứ coự theồ taùo ra caực ủieàu khieồn Activex hieọu chổnh. Vieỏt caực chửụng trỡnh ửựng duùng phớa maựy chuỷ (Server side) duứng HTML ủoọng nhuựng keỏt noỏi vụựi caực thử vieọn lieõn keỏt ủoọng cuỷa Internet Information Server. Moọt vaứi caỷi tieỏn cho pheựp laứm vieọc vụựi caực ửựng duùng truy caọp dửừ lieọu ụỷ taàm cụừ vú moõ lieõn quan ủeỏn haứng traờm, haứng nghỡn ngửụứi sửỷ duùng qua maùng hay qua Internet. Visual Basic cung caỏp caực ủoỏi tửụùng dửừ lieọu Activex cho pheựp keỏt noỏi vụựi caực taọp tin cụ sụỷ dửừ lieọu. Ngoaứi caực ủieàu khieồn Activex Visual Basic coứn coự moọt boọ coõng cuù vaứ kyừ thuaọt mụựi giuựp truy caọp dửừ lieọu deó daứng hụn. Trỡnh thieỏt keỏ moõi trửụứng dửừ lieọu cho pheựp xem xeựt vaứ thao taực dửừ lieọu trong CSDL khaực nhau. Bụỷi vỡ baỷn thaõn moõi trửụứng dửừ lieọu laứ nhửừng ủoỏi tửụùng, coự theồ sửỷ duùng chuựng nhử moọt ủieàu khieồn dửừ lieọu. Thaọm chớ coự theồ gaộn noự vụựi caực ủieàu khieồn khaực. Visual Basic cung caỏp moọt vaứi ủieàu khieồn dửừ lieọu mụựi cho pheựp taọn duùng caực theỏ maùnh cuỷa ủieàu khieồn dửừ lieọu ADO. ẹieàu khieồn DataGrid cho pheựp xem dửừ lieọu dửụựi daùng baỷng goàm caực doứng vaứ coọt. DataList vaứ DataCombo tửụng tửù nhử DBList vaứ DBCombo, coự theồ duứng chuựng ủeồ laỏy moọt danh saựch dửừ lieọu tửứ ủieàu khieồn ADO trong caỏu hỡnh hoọp danh saựch (ListBox) hoaởc hoọp keỏt hụùp (ComboBox). Visual Basic mụỷ roọng khaỷ naờng baựo caựo vụựi trỡnh baựo caựo dửừ lieọu cho pheựp taùo, xem trửụực, vaứ in caực baựo caựo trong Visual Basic tửụng tửù nhử Access vaứ coự theồ laỏy caực ủieàu khieồn baựo caựo tửứ hoọp coõng cuù baựo caựo dửừ lieọu mụựi vaứ ủửa vaứo bieồu maóu baựo caựo dửừ lieọu. 2. Caực ủoỏi tửụùng truy caọp dửừ lieọu Dynamic Data Exchange (DDE) : Trao ủoồi dửừ lieọu ủoọng Cho pheựp caực caực ửựng duùng chia seừ thoõng tin vụựi nhau trong luực thi haứnh. Cụự cheỏ giao tieỏp laứ moọt ửựng duùng seừ gửỷi dửừ lieọu vaứo moọt vuứng ủửụùc quy ủũnh saỹn bụỷi moọt ửựng duùng khaực. Tuy nhieõn, ngửụứi laọp trỡnh phaỷi thieỏt laọp moùi thửự cho giao tieỏp trao ủoồi dửừ lieọu neõn caựch thửùc hieọn theo DDE raỏt phửực taùp. Object Linking and Embedding (OLE) : Nhuựng vaứ keỏt noỏi ủoỏi tửụùng OLE tuaõn thuỷ trieỏt lyự cuỷa Windows (Click chuoọt, keựo vaứ thaỷ). OLE coự theồ keựo dửừ lieọu tửứ ửựng duùng naứy vaứ thaỷ vaứo ửựng duùng khaực. OLE coự hai kyừ thuaọt : Khụỷi ủoọng taùi choồ (In-place activation) : Moọt dửừ lieọu ủửụùc taùo ra bụỷi ửựng duùng 1 vaứ ủửụùc thaỷ vaứo ửựng duùng 2. Nhaỏn Double click chuoọt leõn dửừ lieọu ụỷ ửựng duùng 2 noự seừ hoaùt ủoọng gioỏng nhử ụỷ ửựng duùng 1. Tửù ủoọng hoựa (Automation) : aựp duùng khaỷ naờng taựi sửỷ duùng ủoỏi tửụùng vaứ taọn duùng trieọt ủeồ caực theỏ maùnh cuỷa caực ủoỏi tửụùng. Activex Activex laứ theỏ heọ sau cuỷa OLE. Neõn Activex chửựa ủửùng taỏt caỷ tớnh naờng cuỷa OLE vaứ ủửụùc boồ sung theõm nhieàu chửực naờng khaực nhử cho pheựp vieọc sửỷ duùng caực ủoaùn chửụng trỡnh coự saỹn maứ khoõng caàn quan taõm chuựng coự nguoàn goỏc tửứ ủaõu hay hoaùt ủoọng nhử theỏ naứo. 3. sửỷ duùng caực ủoỏi tửụùng truy caọp dửừ lieọu trong chửụng trỡnh ẹieàu khieồn DAO (Data Access Objects) Cho pheựp thi haứnh caực caõu truy vaỏn, caọp nhaọt giaự trũ trong caực baỷng cụ sụỷ dửừ lieọu vaứ taùo caỏu truực cụ sụỷ dửừ lieọu bao goàm caực baỷng, caực caõu truy vaỏn chửựa saỹn vaứ moỏi quan heọ giửừa caực baỷng. ệu ủieồm : Giao dieọn laọp trỡnh cuỷa DAO voõ cuứng maùnh meừ vaứ deó sửỷ duùng. Vụựi caực cụ sụỷ dửừ lieọu Jet cuỷa Microsoft, DAO cho pheựp truy caọp caực tớnh naờng khoõng coự saỹn trong SQL hay ADO (ẹoỏi tửụùng dửừ lieọu Activex – Activex Data Object). DAO coự theồ sửỷ duùng ủeồ truy caọp caực cụ sụỷ dửừ lieọu treõn maựy caự nhaõn hay Client/Server. Khuyeỏt ủieồm : Moõ hỡnh ủoỏi tửụùng DAO khaự phửực taùp DBEngine Workspace Database TableDef QueryDef RecordSet Container Container Relation Field Index Field Field Parameter Field Document Field User Group Group User Error Object only Object and collection Moõ hỡnh caõy phaõn caỏp DAO, trỡnh baứy moỏi quan heọ giửừa caực ủoỏi tửụùng cụ sụỷ dửừ lieọu Thoõng qua caực taọp hụùp sụỷ hửừu ủoỏi tửụùng Database coự theồ thao taực treõn dửừ lieọu vaứ caỏu truực cuỷa moọt cụ sụỷ dửừ lieọu, taùo caực ủoỏi tửụùng cụ sụỷ dửừ lieọu mụựi, kieồm tra caỏu truực vaứ dửừ lieọu chửựa trong moọt cụ sụỷ dửừ lieọu. Trong laọp trỡnh DAO, coự moọt taọp hụùp coỏt loừi goàm caực kyừ thuaọt thoõng duùng ủửụùc sửỷ duùng gaàn nhử cho moùi chửụng trỡnh, bao goàm : Thi haứnh caõu truy vaỏn SELECT ủeồ laỏy veà caực dửừ lieọu tửứ cụ sụỷ dửừ lieọu. Duyeọt qua tửứng maóu tin trong moọt RecordSet Thi haứnh caõu truy vaỏn haứnh ủoọng (bao goàm caực caõu truy vaỏn Update, Delete, Append) Sửừa ủoồi caỏu truực cụ sụỷ dửừ lieọu Xửỷ lyự loói phaựt sinh bụỷi truy caọp cụ sụỷ dửừ lieọu. ẹieàu khieồn ADODC (Microsoft ADO Data Control 6.0 (OLEDB) ) Visual Basic cung caỏp caực ủoỏi tửụùng dửừ lieọu ActiveX (ActiveX Data Object - ADO). ADO toồng hụùp vaứ thay theỏ vieọc truy caọp dửừ lieọu cuỷa DAO (ẹoỏi tửụùng truy caọp dửừ lieọu – Data Access Object) vaứ RDO (ẹoỏi tửụùng dửừ lieọu tửứ xa – Remote Data Object). ADO laứ coõng ngheọ truy caọp cụ sụỷ dửừ lieọu hửụựng ủoỏi tửụùng tửụng tửù nhử DAO vaứ RDO,ứ giao dieọn dửùa treõn ủoỏi tửụùng cho coõng ngheọ dửừ lieọu OLEDB. Ngoaứi ra, ADO deó sửỷ duùng vaứ coự taàm hoaùt ủoọng roọng hụn duứng ủeồ keỏt noỏi vụựi caực taọp tin cụ sụỷ dửừ lieọu vaứ coự theồ truy caọp dửừ lieọu tửứ xa. ADO ủửụùc xem laứ kyừ thuaọt ủeồ truy caọp cụ sụỷ dửừ lieọu tửứ Web Server. Bụỷi vỡ ADO ủửụùc cung caỏp dửụựi daùng thử vieọn Activex Server (tửụng tửù DAO vaứ RDO), neõn raỏt thuaọn lụùi duứng trong ửựng duùng Visual Basic. Trong thửùc teỏ, baống nhieàu caựch ủaừ chửựng minh raống sửỷ duùng ADO ủeồ laứm vieọc vụựi cụ sụỷ dửừ lieọu Client/Server thỡ deó hụn caực kyừ thuaọt khaực. Phaàn lụựn caực nhaứ laọp trỡnh Visual Basic khoõng tửụng taực trửùc tieỏp vụựi OLEDB. Thay vaứo ủoự, hoù laọp trỡnh vụựi ADO, moõ hỡnh ủoỏi tửụùng cung caỏp giao dieọn vụựi OLEDB. Khi duứng ADO thỡ chổ caàn laọp trỡnh vụựi phaàn giao dieọn ngửụứi sửỷ duùng ụỷ phớa Client. Bụỷi vỡ vieọc truy caọp dửừ lieọu treõn caỷ trỡnh duyeọt Wed vaứ ửựng duùng Visual Basic ủửụùc chuyeồn heỏt veà phớa Activex Server neõn logic chửụng trỡnh luoõn nhaỏt quaựn, baỏt keồ loaùi ửựng duùng naứo ủang ủửụùc sửỷ duùng. Client Application Remote Data Objects ODBC Driver ODBC Driver Manager Activex Data Objects OLEDB Data Provider OLEDB Relational Database Document Server Email Server Client Workstation Caựch sửỷ duùng ADO vaứ OLEDB ủeồ taờng cửụứng truy caọp thoõng tin trong moọt cụ sụỷ dửừ lieọu Client Application Activex Data Objects OLEDB ODBC Provider ODBC Driver Relational Database Client Workstation ODBC Driver Manager OLEDB Caỏu truực truy caọp cụ sụỷ dửừ lieọu ODBC duứng trỡnh cung caỏp OLEDB Caỏu truực naứy cho pheựp duứng thaứnh phaàn laọp trỡnh Activex thoõng duùng treõn caỷ trỡnh duyeọt Wed vaứ ửựng duùng Client Visual Basic. Keỏt noỏi vụựi chửựa Keỏt noỏi vụựi Bieồu maóu VB Caực thuoọc tớnh DataSource, DataField cuỷa ủieàu khieồn raứng buoọc dửừ lieọu Caực thuoọc tớnh ConnectionString, RecordSource cuỷa ủieàu khieồn ADO Data Cụ sụỷ dửừ lieọu Caựch thửực cuỷa ủieàu khieồn ADO Data keỏt noỏi vụựi cụ sụỷ dửừ lieọu trong ửựng duùng 4. Caực ủieàu khieồn giao dieọn ngửụứi sửỷ duùng ẹieàu khieồn noọi taùi (Hoaùt ủoọng vụựi moùi aỏn baỷn cuỷa Visual Basic) Caực ủieàu khieồn naứy ủeàu coự theồ trửùc tieỏp noỏi keỏt vụựi moọt trửụứng trong moọt cụ sụỷ dửừ lieọu thoõng qua moọt ủieàu khieồn dửừ lieọu hoaởc nguoàn dửừ lieọu khaực nhử trỡnh thieỏt keỏ DataEnvironment. Nhaọp dửừ lieọu vụựi ủieàu khieồn TEXTBOX : Duứng sửừa ủoồi dửừ lieọu kieồu chuoói vaứ kieồu soỏ tửứ moọt cụ sụỷ dửừ lieọu. Raứng buoọc vaứo trỡnh thieỏt keỏ DataEnvironment : Laứ khaỷ naờng taùo moọt giao dieọn ngửụứi sửỷ duùng raứng buoọc dửừ lieọu. Bụỷi vỡ coự theồ chia seừ trỡnh thieỏt keỏ DataEnvironment qua nhieàu bieồu maóu vaứ nhieàu ửựng duùng, ủieàu naứy seừ cho taỏt caỷ caực tớnh naờng vaứ sửù deó daứng laọp trỡnh trong moọt ửựng duùng raứng buoọc dửừ lieọu bụỷi vỡ khoõng caàn raứng buoọc tửứng ủieàu khieồn rieõng reừ vụựi nguoàn dửừ lieọu. Truy caọp giaự trũ Boolean vụựi ủieàu khieồn CHECKBOX : duứng CheckBox ủeồ hieồn thũ moọt giaự trũ True hay False tửứ moọt trửụứng trong moọt cụ sụỷ dửừ lieọu. Sửỷ duùng ủieàu khieồn LISTBOX ủeồ hieồn thũ dửừ lieọu : duứng ListBox ủeồ hieồn thũ caực phaàn tửỷ trong moọt danh saựch choùn lửùa daứnh cho ngửụứi sửỷ duùng. Nhửng khi sửỷ duùng ListBox ủeồ hieồn thũ dửừ lieọu tửứ moọt cụ sụỷ dửừ lieọu vaón coự moọt soỏ haùn cheỏ veà lửụùng dửừ lieọu duứng ủeồ chửựa vaứ hieồn thũ. TabControl : Laứm cho caực chửực naờng cuỷa chửụng trỡnh naốm goùn treõn moọt form. ẹieàu khieồn Activex (Laứ nhửừng thaứnh phaàn boồ sung cho baỷn Professional vaứ Enterprise cuỷa Visual Basic) Khaực vụựi caực ủieàu khieồn giao dieọn ngửụứi sửỷ duùng, caực ủieàu khieồn naứy khoõng ủửụùc cung caỏp bụỷi heọ ủieàu haứnh. Thay vaứo ủoự, ta phaỷi phaõn phaựt ủieàu khieồn boồ sung vaứo caực maựy tớnh cuỷa ngửụứi sửỷ duùng ủeồ ửựng duùng coự theồ sửỷ duùng chuựng. Sửỷ duùng ủieàu khieồn DataGrid : DataGrid coự khaỷ naờng hieồn thũ dửừ lieọu dửụựi daùng doứng, coọt khi raứng buoọc vụựi ủieàu khieồn ADO Data hay trỡnh thieỏt keỏ DataEnvironment. Sửỷ duùng ủieàu khieồn DataList vaứ DataCombo : ẹieàu khieồn DataList vaứ DataCombo laứ nhửừng ủieàu khieồn sao cheựp laùi caực chửực naờng cuỷa ủieàu khieồn DBList. DataList cung caỏp danh saựch caực choùn lửùa, DataCombo duứng noỏi keỏt dửừ lieọu nhaọp vaứo ủieàu khieồn vụựi moọt trửụứng trong cụ sụỷ dửừ lieọu, caỷ hai ủeàu tửụng thớch vụựi DAO Data vaứ ADO Data mụựi. 5. Sửỷ duùng caực caõu truy vaỏn (SQL) Moọt caõu truy vaỏn laứ moọt leọnh cụ sụỷ dửừ lieọu ủeồ laỏy veà caực maồu tin. Sửỷ duùng caõu truy vaỏn, coự theồ laỏy dửừ lieọu tửứ moọt hoaởc nhieàu trửụứng trong moọt hay nhieàu baỷng. Ngoaứi ra, coứn coự theồ eựp caực dửừ lieọu laỏy veà theo moọt hoaởc nhieàu raứng buoọc, goùi laứ caực tieõu chớ ủeồ haùn cheỏ soỏ lửụùng dửừ lieọu laỏy veà. SQL laứ giaỷi phaựp chuaồn ủeồ thao taực vụựi cụ sụỷ dửừ lieọu. Noự ủửụùc thửùc hieọn theo nhieàu daùng khaực nhau trong caực heọ thoỏng cụ sụỷ dửừ lieọu quan heọ, bao goàm Access vaứ SQL Server Caực caõu truy vaỏn SQL cho khaỷ naờng laỏy veà caực maồu tin tửứ moọt baỷng cụ sụỷ dửừ lieọu, ủoỏi chieỏu caực dửừ lieọu quan heọ vụựi nhau trong nhieàu baỷng vaứ thao taực vụựi caỏu truực cuỷa cụ sụỷ dửừ lieọu. Caực kieồu truy vaỏn SQL nhaỏt ủũnh coự theồ ủieàn dửừ lieọu vaứo moọt ủieàu khieồn dửừ lieọu. Trong chửụng trỡnh, caực caõu truy vaỏn SQL ủửụùc duứng khi thao taực vụựi caực cụ sụỷ dửừ lieọu thoõng qua sửỷ duùng moõ hỡnh ủoỏi tửụùng DAO, RDO vaứ ADO. Lụùi ớch khi duứng SQL Theo kinh nghieọm trong Visual Basic, baỏt cửự choồ naứo duứng moọt tham chieỏu ủeỏn moọt baỷng, ủeàu coự theồ thay theỏ baống caựch sửỷ duùng moọt caõu leọnh SQL hoaởc moọt tham chieỏu ủeỏn moọt truy vaỏn ủaừ lửu trửừ nhửng baỷn thaõn noự vaón dửùa vaứo moọt caõu leọnh SQL. Nụi thớch hụùp nhaỏt ủeồ ủaởt moọt caõu leọnh SQL, dửùa treõn caực kyừ thuaọt truy caọp dửừ lieọu, laứ thuoọc tớnh RecordSource cuỷa moọt ủieàu khieồn dửừ lieọu. Vỡ vaọy, thay vỡ chổ ra thuoọc tớnh RecordSource laứ teõn cuỷa moọt baỷng, coự theồ ủoồi thuoọc tớnh naứy thaứnh teõn cuỷa moọt caõu truy vaỏn chửựa saỹn hay moọt caõu leọnh SQL nhử : SELECT * FROM TEN_BANG ORDER BY KEY. ẹieàu naứy cho ta sửù linh hoaùt ủaựng keồ khi choùn lửùa moọt nguoàn maồu tin. Sửỷ duùng caõu leọnh SQL trong caực ngửừ caỷnh khaực nhau cuỷa chửụng trỡnh Tham soỏ Source cuỷa phửụng thửực OpenRecordSet cuỷa ủoỏi tửụùng DataBase cuỷa DAO ủửụùc sửỷ duùng phoồ bieỏn nhaỏt khi truy vaỏn caực maồu tin tửứ moọt cụ sụỷ dửừ lieọu Access. Sửỷ duùng thuoọc tớnh Source cuỷa moọt ủoỏi tửụùng RecordSet cuỷa ADO. Sửỷ duùng caõu leọnh SELECT ủeồ laỏy veà caực maồu tin Caõu leọnh SELECT laứ coỏt loừi cuỷa moùi truy vaỏn laỏy veà dửừ lieọu. Noự thoõng baựo cho boọ maựy cụ sụỷ dửừ lieọu nhửừng trửụứng naứo seừ ủửụùc laỏy veà. Daùng thoõng duùng nhaỏt cuỷa caõu leọnh SELECT laứ : SELECT * Meọnh ủeà coự yự nghúa laứ “traỷ veà taỏt caỷ caực trửụứng tỡm thaỏy trong nguoàn maồu tin chổ ủũnh”. Daùng leọnh naứy raỏt tieọn duùng vỡ khoõng caàn bieỏt teõn cuỷa trửụứng ủeồ laỏy chuựng veà tửứ moọt baỷng. Tuy nhieõn, laỏy veà taỏt caỷ caực coọt trong moọt baỷng coự theồ khoõng hieọu quaỷ, nhaỏt laứ trong trửụứng hụùp maứ ta chổ caàn 2 coọt maứ truy vaỏn cuỷa ta traỷ veà quaự nhieàu. Vỡ vaọy, ngoaứi vieọc thoõng baựo cho boọ maựy cụ sụỷ dửừ lieọu ủeồ traỷ veà taỏt caỷ caực trửụứng trong nguoàn maồu tin, ta coứn coự khaỷ naờng chổ ra chớnh xaực trửụứng naứo caàn laỏy veà. Hieọu ửựng loùc bụựt naứy caỷi tieỏn hieọu quaỷ cuỷa moọt truy vaỏn, nhaỏt laứ treõn baỷng lụựn coự nhieàu trửụứng trong chửụng trỡnh, bụỷi vỡ trong chửụng trỡnh ta chổ caàn laỏy veà trửụứng naứo caàn thieỏt. Sửỷ duùng meọnh ủeà FROM ủeồ chổ nguoàn maồu tin Meọnh ủeà FROM laứm vieọc vụựi caõu leọnh SELECT ủeồ traỷ veà caực maồu tin trong baỷng, vớ duù : SELECT * FROM TEN_BANG . Vỡ moọt caõu truy vaỏn SELECT FROM khoõng xeỏp theo thửự tửù neõn thửự tửù traỷ veà laứ khoõng xaực ủũnh. ẹeồ caõu truy vaỏn coự hieọu quaỷ, caàn phaỷi giụựi haùn soỏ trửụứng laỏy veà baống caựch sửỷ duùng meọnh ủeà WHERE. Sửỷ duùng meọnh ủeà WHERE ủeồ chổ ra tieõu chớ loùc Meọnh ủeà WHERE thoõng baựo vụựi boọ maựy cụ sụỷ dửừ lieọu ủeồ giụựi haùn soỏ maồu tin traỷ veà theo moọt hay nhieàu tieõu chớ loùc do ngửụứi laọp trỡnh cung caỏp. Keỏt quaỷ traỷ veà cuỷa tieõu chớ loùc laứ TRUE/FALSE. Vớ duù : Laỏy veà moọt danh saựch cuỷa nhửừng khaựch haứng ụỷ thaứnh phoỏ Hoà Chớ Minh SELECT HOLOT,TEN,THANHPHO FROM TBL_KHACHHANG WHERE MATP=’HCM’ Toựm laùi, chỡa khoựa cuỷa sửù thaứnh coõng trong vieọc phaựt trieồn Client/Server laứ phaựt trieồn caực chieỏn thuaọt ủeồ ủaỷm baỷo raống caực ửựng duùng Client khoõng laỏy veà quaự nhieàu maồu tin cuứng luực. ẹieàu naứy ủaỷm baỷo raống ửựng duùng seừ chaùy nhanh hụn vaứ khoõng gaõy ra nhửừng phieàn phửực cho maựy tớnh nhử laứ heỏt boọ nhụự. Moọt trong nhửừng vuừ khớ cụ baỷn ủeồ traựnh nhửừng haọu quaỷ treõn laứ duứng meọnh ủeà WHERE. Sửỷ duùng ORDER BY trong caõu leọnh SQL ủeồ saộp xeỏp keỏt quaỷ Meọnh ủeà ORDER BY thoõng baựo cho boọ maựy cụ sụỷ dửừ lieọu caàn saộp xeỏp caực maồu tin maứ noự laỏy veà. Maởc ủũnh cuỷa ORDER BY laứ saộp xeỏp taờng daàn, vớ duù : Saộp xeỏp taờng daàn SELECT [ẹềA CHặ],[HOẽTEÂN] FROM TBL_KHACHHANG WHERE MATP=’HCM’ ORDER BY MA_KH Saộp xeỏp giaỷm daàn SELECT [ẹềA CHặ],[HOẽTEÂN] FROM TBL_KHACHHANG WHERE MATP=’HCM’ ORDER BY MA_KH DESC 6. Thieỏt laọp baựo caựo vaứ xuaỏt thoõng tin Trong chửụng trỡnh duứng coõng cuù Crystal Report 8.5 ủeồ laọp baựo caựo, noự goàm coự hai phaàn : Trỡnh thieỏt keỏ baựo caựo xaực ủũnh dửừ lieọu seừ ủửa vaứo baựo caựo vaứ caựch theồ hieọn cuỷa baựo caựo. Moọt ủieàu khieồn Activex cho pheựp thi haứnh, hieồn thũ, in aỏn ủieàu khieồn luực thi haứnh ửựng duùng. Cửỷa soồ xaực ủũnh cụ sụỷ dửừ lieọu seừ ủửụùc baựo caựo Bụỷi vỡ caực moỏi quan heọ ủũnh nghúa saỹn cho cụ sụỷ dửừ lieọu ủaừ ủửụùc xaực ủũnh ụỷ mửực boọ maựy cụ sụỷ dửừ lieọu neõn Crystal Report tửù ủoọng taùo moỏi quan heọ giửừa caực baỷng nhử khi taùo trong Microsoft Access. Cửỷa soồ bieồu dieón moỏi quan heọ cuỷa caực baỷng trong Crystal Report Cửỷa soồ thieỏt keỏ baựo caựo trong Crystal Report 7. Taùo boọ giuựp ủụừ ẹeồ chửụng trỡnh mang tớnh chuyeõn nghieọp caàn taùo boọ giuựp ủụừ ủeồ ngửụứi sửỷ duùng coự theồ giaỷi ủaựp moọt soỏ thaộc maộc veà chửụng trỡnh khi coự vaỏn ủeà. Moọt soỏ phaàn meàm hieọn nay treõn thũ trửụứng hoồ trụù vieọc taùo boọ giuựp ủụừ nhử : WinHelp, ForeHelp, HTML Help, WorkShop, RoboHelp… 8. ẹoựng goựi chửụng trỡnh Chửụng trỡnh ủửụùc ủoựng goựi vaứ coự theồ trieồn khai. PHAÀN V CHệễNG TRèNH QUAÛN LYÙ KEÁ TOAÙN DOANH NGHIEÄP GIAO DIEÄN VAỉ MAế NGUOÀN CUÛA MOÄT SOÁ FORM CAÄP NHAÄT – BAÙO CAÙO 1. Heọ thoỏng Folder ủeồ lửu trửừ chửụng trỡnh C:\ 2. Giao dieọn chớnh cuỷa chửụng trỡnh 3. Moọt soỏ thuỷ tuùc duứng ủeồ mụỷ keỏt noỏi dửừ lieọu giửừa Access vaứ Visual Basic a. Thuỷ tuùc mụỷ keỏt noỏi dửừ lieọu baống ADODB Public cn As New ADODB.Connection Sub MoKetNoi() Dim Ten_CSDL As String Dim str As String ẹửụứng daón ủeỏn taọp tin chửựa cụ sụỷ dửừ lieọu Ten_CSDL = App.Path & " \Ktdn.mdb" Khai baựo nhaứ cung caỏp keỏt noỏi vaứ nguoàn dửừ lieọu str = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & Ten_CSDL & "" Khai baựo chuoói keỏt noỏi cuỷa DataEnvironment vaứ DEconnection DE1.CN1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & Ten_CSDL & "" Phửụng thửực mụỷ keỏt noỏi DE1.CN1.Open cn.Open str End Sub b. Thuỷ tuùc mụỷ keỏt noỏi baống DAO (Data Access Object) Private Sub Sub_Name() Khai baựo caực bieỏn ủoỏi tửụùng cụ sụỷ dửừ lieọu Dim db As DAO.Database Dim rs As DAO.Recordset Dim chuoi As String Bieỏn db truy caọp ủeỏn teõn cụ sụỷ dửừ lieọu caàn mụỷ Set db = OpenDatabase("c:\QL_ktdn\ktdn.mdb") Duứng caõu leọnh SELECT SQL ủeồ truy caọp ủeỏn baỷng chuoi = "select * from Tbl_DMCT where MA_CT='" & DCDMCT.Text & "'" Set rs = db.OpenRecordset(chuoi) rs.Close db.Close End Sub c. Caực bửụực keỏt noỏi dửừ lieọu baống ADO (Activex Data Object) Bieồu tửụùng ADODC trong boọ coõng cuù cuỷa Visual Basic Trang General trong cửỷa soồ Property Pages cuỷa ủieàu khieồn ADODC Trang Provider trong cửỷa soồ Data Link Properties cuỷa ADODC Trang Connection trong cửỷa soồ Data Link Properties cuỷa ADODC Trang RecordSource trong cửỷa soồ Property Pages cuỷa ủieàu khieồn ADODC 4. Giao dieọn vaứ maừ nguoàn cuỷa moọt soỏ Form caọp nhaọt vaứ xuaỏt dửừ lieọu Giao dieọn Form caọp nhaọt danh muùc chửựng tửứ Maừ nguoàn cuỷa Form caọp nhaọt danh muùc chửựng tửứ Option Compare Text Option Explicit Dim them As Boolean Private Sub form_load() Dim n Dim n1 n = 0 n1 = 0 n = Ado_DMCT.Recordset.RecordCount If (Ado_DMCT.Recordset.EOF = False) And (Ado_DMCT.Recordset.BOF = False) Then n1 = Ado_DMCT.Recordset.Bookmark End If txtBGHH.Text = n1 txtSBG.Text = n Khoa End Sub Private Sub Khoa() DataDMCT.AllowDelete = False DataDMCT.AllowUpdate = False cmdthem.Enabled = True cmdsua.Enabled = True cmdxoa.Enabled = True cmdghi.Enabled = False cmdkhong.Enabled = False cmdthoat.Enabled = True DataDMCT.Refresh End Sub Private Sub Mo_Khoa() DataDMCT.AllowDelete = True DataDMCT.AllowUpdate = True cmdthem.Enabled = False cmdsua.Enabled = False cmdxoa.Enabled = False cmdghi.Enabled = True cmdkhong.Enabled = True cmdthoat.Enabled = False DataDMCT.Refresh End Sub Private Sub cmdthem_click() On Error GoTo Loi_Them Mo_Khoa Ado_DMCT.Refresh Ado_DMCT.Recordset.AddNew DataDMCT.SetFocus them = True Thoat_Them: Exit Sub Loi_Them: MsgBox Err.Description Resume Thoat_Them End Sub Private Sub cmdsua_click() Dim recnum On Error GoTo Loi_Sua recnum = Ado_DMCT.Recordset.Bookmark Mo_Khoa them = False Thoat_Sua: Exit Sub Loi_Sua: MsgBox Err.Description Resume Thoat_Sua End Sub Private Sub cmdxoa_click() On Error GoTo Loi_Xoa Dim traloi traloi = MsgBox("Ban muon xoa chung tu " + Ado_DMCT.Recordset.Fields("MA_CT") + " ?", 48 + 4, "Thong bao") If traloi = 6 Then Ado_DMCT.Recordset.Delete Ado_DMCT.Recordset.Clone Ado_DMCT.Recordset.Requery Ado_DMCT.Recordset.MoveNext If Ado_DMCT.Recordset.EOF Then Ado_DMCT.Recordset.MoveLast End If End If Ado_DMCT.Refresh Thoat_Xoa: Exit Sub Loi_Xoa: MsgBox "Khong the xoa mau tin nay !" Resume Thoat_Xoa End Sub Private Sub cmdghi_click() On Error GoTo Loi_Ghi Ado_DMCT.Recordset.UpdateBatch adAffectAll Khoa cmdthem.SetFocus them = False Thoat_Ghi: DataDMCT.SetFocus Exit Sub Loi_Ghi: MsgBox "Du lieu khong hop le !" Resume Thoat_Ghi End Sub Private Sub cmdkhong_click() If them Then Ado_DMCT.Refresh Ado_DMCT.Recordset.CancelUpdate End If Khoa cmdthem.SetFocus them = False Ado_DMCT.Refresh End Sub Private Sub cmdthoat_click() Ado_DMCT.Refresh Unload Me End Sub Private Sub DataDMCT_click() Dim n Dim n1 n = 0 n1 = 0 n = Ado_DMCT.Recordset.RecordCount If (Ado_DMCT.Recordset.EOF = False) And (Ado_DMCT.Recordset.BOF = False) Then n1 = Ado_DMCT.Recordset.Bookmark End If txtBGHH.Text = n1 txtSBG.Text = n End Sub Giao dieọn Form baựo caựo danh muùc chửựng tửứ Maừ nguoàn cuỷa Form baựo caựo danh muùc chửựng tửứ Dim Report As New CrystalRepDMCT Private Sub Form_Load() Screen.MousePointer = vbHourglass CRViewer1.ReportSource = Report CRViewer1.ViewReport Screen.MousePointer = vbDefault End Sub Giao dieọn Form caọp nhaọt danh muùc taứi khoaỷn Maừ nguoàn cuỷa Form caọp nhaọt danh muùc taứi khoaỷn Option Compare Text Option Explicit Dim them As Boolean Private Sub form_load() Dim n Dim n1 n = 0 n1 = 0 n = Ado_DMTK.Recordset.RecordCount If (Ado_DMTK.Recordset.EOF = False) And (Ado_DMTK.Recordset.BOF = False) Then n1 = Ado_DMTK.Recordset.Bookmark End If txtBGHH.Text = n1 txtSBG.Text = n Khoa End Sub Private Sub Mo_Khoa() DataDMTK.AllowDelete = True DataDMTK.AllowUpdate = True cmdthem.Enabled = False cmds

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

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