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
78 trang |
Chia sẻ: huong.duong | Lượt xem: 1161 | Lượt tải: 0
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:
- DA0647.doc