Tài liệu Đề tài Tập viết chương trình quản lý kế toán doanh nghiệp: LỜI MỞ ĐẦU
Hiện nay các doanh nghiệp tại Việt Nam, nhất là các doanh nghiệp có quy mô trung bình và lớn hoạt động trong lĩnh vực dịch vụ, thương mại, sản xuất thì vai trò của thông tin và quản lý thông tin bằng tin học lại càng có ý nghĩa đặc biệt, nó giúp các đơn vị đột biến về chất lượng quản lý điều hành và qua đó góp phần quan trọng trong việc nâng cao chất lượng và hiệu quả hoạt động của doanh nghiệp, đáp ứng yêu cầu cạnh tranh và phát triển làm cho thị trường phần mềm quản trị dữ liệu đã chuyển mình và sẽ trở thành thị trường quan trọng do hai điều kiện :
Một : Số lượng máy tính trang bị trong các công ty đã nhiều và bắt đầu tiến trình nối mạng.
Hai : Môi trường kinh doanh ngày càng mang tính thị trường rõ rệt với sự cạnh tranh mạnh mẽ giữa các doanh nghiệp trong nước cũng như với các doanh nghiệp nước ngoài.
Điều này đòi hỏi các doanh nghiệp p...
80 trang |
Chia sẻ: haohao | Lượt xem: 1391 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Tập viết chương trình quản lý kế toán doanh nghiệp, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
LÔØI MÔÛ ÑAÀU
Hieän nay caùc doanh nghieäp taïi Vieät Nam, nhaát laø caùc doanh nghieäp coù quy moâ trung bình vaø lôùn hoaït ñoäng trong lónh vöïc dòch vuï, thöông maïi, saûn xuaát thì vai troø cuûa thoâng tin vaø quaûn lyù thoâng tin baèng tin hoïc laïi caøng coù yù nghóa ñaëc bieät, noù giuùp caùc ñôn vò ñoät bieán veà chaát löôïng quaûn lyù ñieàu haønh vaø qua ñoù goùp phaàn quan troïng trong vieäc naâng cao chaát löôïng vaø hieäu quaû hoaït ñoäng cuûa doanh nghieäp, ñaùp öùng yeâu caàu caïnh tranh vaø phaùt trieån laøm cho thò tröôøng phaàn meàm quaûn trò döõ lieäu ñaõ chuyeån mình vaø seõ trôû thaønh thò tröôøng quan troïng do hai ñieàu kieän :
Moät : Soá löôïng maùy tính trang bò trong caùc coâng ty ñaõ nhieàu vaø baét ñaàu tieán trình noái maïng.
Hai : Moâi tröôøng kinh doanh ngaøy caøng mang tính thò tröôøng roõ reät vôùi söï caïnh tranh maïnh meõ giöõa caùc doanh nghieäp trong nöôùc cuõng nhö vôùi caùc doanh nghieäp nöôùc ngoaøi.
Ñieàu naøy ñoøi hoûi caùc doanh nghieäp phaûi trang bò heä thoáng quaûn lyù thoâng tin tieân tieán ñeå phaân tích tình hình kinh doanh vaø ra quyeát ñònh moät caùch nhanh nhaát. Do ñoù, caùc phaàn meàm öùng duïng trong quaûn lyù ñaõ ñoùng vai troø quan troïng, ñaëc bieät laø phaàn meàm quaûn trò döõ lieäu veà nghieäp vuï keá toaùn cho caùc doanh nghieäp.
Hieän nay, treân thò tröôøng coù raát nhieàu phaàn meàm quaûn trò cô sôû döõ lieäu ñeå thöïc hieän cho vieäc quaûn lyù keá toaùn trong caùc doanh nghieäp nhöng ñeå xaùc ñònh heä quaûn trò naøo laø toái öu, gaàn guõi vôùi ngöôøi söû duïng. Ñaëc bieät, ñoái vôùi nöôùc ta hieän nay thì vieäc naém vöõng, thao taùc vaø söû duïng vaãn coøn nhieàu khoù khaêng neân vieäc taïo ra moät phaàn meàm nhö treân laø raát quan troïng vaø caàn thieát. Bôûi vì, giao dieän cuûa chöông trình ñeàu söû duïng Font chöõ tieáng vieät neân ngöôøi söû duïng coù theå thao taùc, söû duïng deã daøng khi ngöôøi söû duïng khoâng thaønh thaïo veà tieáng anh…
Töø nhaän ñònh ñoù, toâi ñaõ choïn ñeà taøi : “Vieát chöông trình Quaûn Lyù Keá Toaùn Doanh Nghieäp” treân cô sôû nghieân cöùu vaø phaùt trieån, toâi coá gaéng hoaøn thaønh ñeà taøi vôùi söï giuùp ñôõ taän tình cuûa Thaày Ñoã Vaên Uy ñaõ ñoùng goùp nhöõng yù kieán voâ cuøng quan troïng cho vieäc nghieân cöùu cuõng nhö trong caùch thöùc laäp trình.
Toâi xin chaân thaønh caûm ôn !
Quyù thaày coâ tröôøng Ñaïi Hoïc Thuûy Saûn vaø tröôøng Baùch Khoa Haø Noäi ñaõ taän tình höôùng daãn, giuùp ñôõ.
Baïn Traàn Thò Thanh Traâm lôùp 41DN-2 ñaõ taän tình goùp yù veà nghieäp vuï vaø cung caáp taøi lieäu veà keá toaùn.
Cuøng toaøn theå lôùp TIN HOÏC 40 ñaõ ñoùng goùp nhöõng yù kieán quan troïng trong thao taùc laäp trình.
Toâi mong ñeà taøi seõ ñöôïc ñoùn nhaän vaø ñoùng goùp ñeå ñeà taøi coù theå phaùt trieån hoaøn thieän hôn.
Sinh Vieân Thöïc Hieän
Hoà Haûi Aâu
PHAÀN I
TIN HOÏC HOÙA QUAÛN LYÙ THOÂNG TIN
TRONG CAÙC DOANH NGHIEÄP
Keá toaùn
Keá toaùn laø coâng vieäc ghi cheùp, tính toaùn baèng con soá döôùi hình thöùc giaù trò, hieän vaät vaø thôøi gian lao ñoäng. Chuû yeáu laø döôùi hình thöùc giaù trò ñeå phaûn aùnh, kieåm tra tình hình vaän ñoäng cuûa caùc loaïi taøi saûn, quaù trình vaø keát quaû saûn xuaát kinh doanh, söû duïng voán vaø kinh phí nhaø nöôùc, cuõng nhö töøng toå chöùc, xí nghieäp.
2. Vai troø cuûa keá toaùn
Ñoái vôùi doanh nghieäp : Keá toaùn giuùp theo doõi thöôøng xuyeân tình hình hoaït ñoäng saûn xuaát kinh doanh cuûa doanh nghieäp nhö saûn xuaát saûn phaåm, tieâu thuï saûn phaåm, tình hình cung öùng nguyeân vaät lieäu phuïc vuï saûn xuaát, giuùp cho vieäc theo doõi thò tröôøng ñeå saûn xuaát, tích tröõ haøng hoùa nhaèm cung caáp kòp thôøi cho thò tröôøng nhöõng saûn phaåm ñaùp öùng nhu caàu vaø thò hieáu cuûa ngöôøi tieâu duøng. Ngoaøi ra, keá toaùn coøn cung caáp taøi lieäu cho doanh nghieäp ñeå laøm cô sôû hoaïch ñònh chöông trình haønh ñoäng cho töøng giai ñoaïn, thôøi kyø.
Nhôø keá toaùn maø ngöôøi quaûn lyù ñieàu haønh troâi chaûy caùc hoaït ñoäng cuûa ñôn vò, giuùp cho vieäc quaûn lyù laønh maïnh, traùnh hieän töôïng tham oâ, laõng phí taøi saûn, thöïc hieän vieäc kieåm soaùt noäi boä coù hieäu quaû.
Nhôø keá toaùn maø ngöôøi quaûn lyù tính ñöôïc coâng vieäc mình ñaõ ñieàu haønh trong töøng giai ñoaïn vaø qua ñoù vaïch ra phöông höôùng hoaït ñoäng cho töông lai. Ñieàu hoaø ñöôïc tình hình taøi chính cuûa doanh nghieäp.
Keá toaùn laø cô sôû ñeå giaûi quyeát moïi tranh chaáp, khieáu toá, laø cô sôû phaùp lyù chöùng minh veà haønh vi thöông maïi.
3. Vai troø cuûa tin hoïc trong quaûn lyù
Thoâng tin töø laâu ñaõ ñöôïc ñaùnh giaù coù vai troø quan troïng trong quaûn lyù kinh teá, ngaøy nay vieäc nhaän ñònh “ Ai naém ñöôïc thoâng tin, ngöôøi ñoù seõ chieán thaéng ” laïi caøng trôû neân ñuùng ñaén. Chính töø vieäc tin hoïc hoùa thoâng tin vôùi söï trôï giuùp cuûa Computer vaø Phaàn meàm ñaõ ñöa ñeán nhöõng khaùi nieäm môùi nhö Kyõ nguyeân cuûa kyõ thuaät soá, Neàn kinh teá trí thöùc…
Vieäc tin hoïc hoùa vaøo quaûn lyù hoaït ñoäng saûn xuaát kinh doanh seõ giuùp cho caùc doanh nghieäp coù khaû naêng caïnh tranh trong moät neàn kinh teá thò tröôøng, ñoàng thôøi caïnh tranh vôùi caùc doanh nghieäp nöôùc ngoaøi ñöôïc ñaùnh giaù qua caùc ñaëc ñieåm sau:
a. Tính nhanh choùng
Baát kyø luùc naøo cuõng coù theå traû lôøi caùc thoâng tin moät caùch nhanh choùng, chính xaùc.
b. Tính thích öùng
Giuùp ngöôøi quaûn lyù ñieàu haønh troâi chaûy caùc hoaït ñoäng cuûa ñôn vò vaø coù theå tính ñöôïc coâng vieäc cuûa mình ñaõ ñieàu haønh trong töøng giai ñoaïn vaø qua ñoù vaïch ra phöông höôùng hoaït ñoäng cho töông lai. Ñieàu haønh ñöôïc tình hình taøi chính cuûa doanh nghieäp.
c. Tính an toaøn
Baûo ñaûm söï an toaøn döõ lieäu cuûa doanh nghieäp.
4. Nhieäm vuï cuûa ñeà taøi
Thay theá vieäc ghi cheùp vaøo soå saùch baèng caùch nhaäp, xuaát vaø löu tröõ löôïng thoâng tin khoång loà moät caùch nhanh choùng, chính xaùc vaø an toaøn veà döõ lieäu. Ñaùp öùng kòp thôøi thoâng tin khi ngöôøi keá toaùn caàn ñeán. Traùnh sai soùt vaø giaûm thieåu veà thôøi gian coâng vieäc nhaèm naâng cao hieäu quaû kinh doanh trong töøng giai ñoaïn, chu kyø saûn xuaát kinh doanh cuûa doanh nghieäp.
Cung caáp giao dieän gaàn guõi vôùi ngöôøi söû duïng, ngöôøi söû duïng coù theå tham khaûo danh muïc taøi khoaûn doanh nghieäp baát kyø luùc naøo caàn ñeán, cho bieát caùc maët haøng naøo ñöôïc nhaäp – xuaát trong moät khoaûng thôøi gian nhaát ñònh….
Tuy nhieân, chöông trình chæ ñaùp öùng moät phaàn naøo coâng vieäc. Coøn ñi chuyeân saâu veà moät phaàn meàm mang tính keá toaùn thöïc thuï thì ñoøi hoûi chöông trình phaûi ñöôïc caûi tieán, boå sung ñeå chöông trình coù theå söû duïng vaø doanh nghieäp coù theå chaáp nhaän nhö moät phaàn meàm chính thöùc cho haàu heát coâng vieäc keá toaùn. ÔÛ ñaây ñeà taøi chæ mang tính tham khaûo vaø phaùt tieån.
PHAÀN II
PHAÂN TÍCH VAØ THIEÁT KEÁ HEÄ THOÁNG CHO CHÖÔNG TRÌNH
QUAÛN LYÙ KEÁ TOAÙN DOANH NGHIEÄP
1. Caùc böôùc thöïc hieän cô baûn cuûa keá toaùn doanh nghieäp
Laäp chöùng töø goác ñeå ghi nhaän nghieäp vuï kinh teá phaùt sinh vaø ñaõ hoaøn thaønh
Phaân tích nghieäp vuï keá toaùn treân cô sôû chöùng töø goác ñeå :
Ñònh khoaûn cho caùc nghieäp vuï keá toaùn
Caäp nhaät chöùng töø vaøo maùy tính nhö : chöùng töø nhaäp xuaát haøng hoùa, chöùng töø thu chi, uûy nhieäm chi, uûy nhieäm thu…
In ra caùc baùo caùo : baùo caùo nhaäp xuaát trong kyø, toång hôïp thu chi trong kyø, baùo caùo haøng toàn kho, theû kho…
Ghi cheùp nhöõng nghieäp vuï ñaõ ñöôïc phaân tích vaøo nhaät kyù chung theo moät trình töï thôøi gian : Laäp chöùng töø ghi soå hay soå nhaät kyù chung.
Ñieàu chænh soá lieäu ñeå phaûn aùnh ñuùng chi phí cuõng nhö doanh thu ñaït ñöôïc trong kyø : Laäp baûng caân ñoái soá phaùt sinh
Keát chuyeån soá lieäu treân caùc taøi khoaûn taïm thôøi ñeå :
Tính giaù thaønh saûn phaåm
Tính keát quaû hoaït ñoäng kinh doanh…
Toång hôïp soá lieäu töø taøi khoaûn vaø töø caùc taøi lieäu coù lieân quan ñeå laäp baùo caùo taøi chính nhö :
Laäp baûng caân ñoái keá toaùn.
Baûng baùo caùo keát quaû hoaït ñoäng kinh doanh.
Baûng löu chuyeån tieàn teä.
Thuyeát minh baùo caùo taøi chính.
Tình hình thöïc hieän nghóa vuï thueá vôùi nhaø nöôùc
Chuyeån soá lieäu töø nhaät kyù vaøo soå caùi caùc taøi khoaûn lieân quan ñeå in ra baát kyø luùc naøo khi caàn ñeán
Kieåm tra ñoái chieáu soá lieäu treân soå saùch keá toaùn ñaõ laäp, treân nhöõng taøi khoaûn toång hôïp
Moâ taû yeâu caàu quaûn lyù cuûa chöông trình
a. Quaûn lyù tieàn maët
Chöông trình coù theå :
Quaûn lyù caùc khoaûn thu – chi cuûa doanh nghieäp.
Xaùc ñònh ñöôïc toàn quyõ tieàn maët cuûa doanh nghieäp.
In ra caùc phieáu thu – chi ñeå xaùc ñònh giao cho khaùch haøng hay ñeå löu tröõ.
Laäp baùo caùo thu – chi chi tieát vaø toång hôïp trong thaùng.
Cung caáp döõ lieäu cho caùc phaân heä keá toaùn khaùc nhö :
Phaân heä keá toaùn toång hôïp.
Phaân heä keá toaùn chi phí…
b. Quaûn lyù haøng hoùa
Chöông trình coù theå :
Quaûn lyù caùc phieáu nhaäp xuaát kho cuûa doanh nghieäp, bieát ñöôïc mua haøng töø caùc nhaø cung caáp naøo vaø xuaát baùn cho khaùch haøng naøo.
Laäp baùo caùo chi tieát nhaäp xuaát haøng hoùa.
Laäp baùo caùo toång hôïp nhaäp xuaát haøng hoùa theo töøng ngaøy, töøng thaùng, töøng kho, töøng maët haøng, töøng khaùch haøng vaø töøng nhaø cung caáp.
In ra theû kho cho bieát vieäc nhaäp xuaát vaø toàn cuûa moät maët haøng öùng vôùi moät kho trong khoaûng thôøi gian xaùc ñònh trong thaùng.
In baùo caùo toàn kho :
Toàn kho toång hôïp : cho bieát vieäc nhaäp xuaát vaø toàn cuûa taát caû haøng hoùa trong taát caû caùc kho hieän coù ñeán ngaøy caàn bieát.
Toàn theo kho : cho bieát vieäc nhaäp xuaát vaø toàn cuûa taát caû haøng hoùa trong moät kho cho ñeán ngaøy caàn bieát.
Laäp baùo caùo giaù voán cuûa caùc maët haøng xuaát baùn trong thaùng
Baùo caùo giaù haøng nhaäp : cho bieát ñôn giaù cuï theå cuûa töøng maët haøng. Neáu moät maët haøng coù nhieàu ñôn giaù nhaäp khaùc nhau thì phaûi lieät keâ taát caû ñôn giaù nhaäp ñoù vaø soá löôïng nhaäp töông öùng.
In ra baùo caùo thoáng keâ :
Theo töøng maët haøng.
Theo töøng nhoùm haøng.
Theo töøng kho haøng.
Nguoàn nhaäp xuaát : cho bieát nguoàn nhaäp xuaát trong thaùng
Cung caáp döõ lieäu cho caùc phaân heä keá toaùn khaùc nhö : toång hôïp, chi phí, tieàn maët…
Tra cöùu :
Phieáu nhaäp kho
Phieáu xuaát kho
c. Quaûn lyù coâng nôï
Chöông trình coù theå
Quaûn lyù hình thöùc thanh toaùn coâng nôï giöõa khaùch haøng vôùi doanh nghieäp vaø giöõa doanh nghieäp vôùi nhaø cung caáp.
Ñoái vôùi nhaø cung caáp :
Khi mua haøng (Phieáu nhaäp kho) thì seõ laøm coâng nôï nhaø cung caáp taêng leân.
Khi doanh nghieäp traû tieàn maët cho nhaø cung caáp (Phieáu chi tieàn maët) thì laøm coâng nôï nhaø cung caáp giaûm.
Ñoái vôùi khaùch haøng :
Khi xuaát haøng cho khaùch haøng (Hoùa ñôn baùn haøng) thì seõ laøm coâng nôï khaùch haøng taêng leân.
Khi doanh nghieäp thu tieàn maët cuûa khaùch haøng traû nôï (Phieáu thu tieàn maët) thì laøm coâng nôï khaùch haøng giaûm.
Laäp baùo caùo toång hôïp coâng nôï khaùch haøng vaø nhaø cung caáp.
Laäp baùo caùo coâng nôï chi tieát cho töøng khaùch haøng vaø nhaø cung caáp.
Cung caáp döõ lieäu cho caùc phaân heä keá toaùn khaùc nhö : toång hôïp, tieàn maët, haøng hoùa,…
3. Quaù trình phaân tích chöông trình
Khaûo saùt yeâu caàu cuûa chöông trình, laøm roõ caùc thoâng tin ñaàu vaøo, caùc thoâng tin ñaàu ra vaø caùc baùo caùo phuïc vuï cho vieäc quaûn lyù.
Döïa treân yeâu caàu cuûa chöông trình, xaây döïng sô ñoà chöùc naêng, laáy sô ñoà chöùc naêng laøm cô sôû ñeå xaây döïng heä thoáng menu cho chöông trình.
Döïa treân sô ñoà chöùc naêng, xaây döïng sô ñoà doøng döõ lieäu theå hieän caùc thoâng tin ñöa vaøo heä thoáng vaø sau khi ñöôïc caùc chöùc naêng xöû lyù seõ ñöôïc löu tröõ hoaëc taïo thaønh caùc baùo caùo.
Qua phaân tích sô ñoà doøng döõ lieäu vaø caùc thoâng tin khaûo saùt ban ñaàu, xaây döïng caùc thöïc theå (löu tröõ nhöõng thoâng tin cô baûn) vaø moái quan heä giöõa chuùng. Ñoù chính laø böôùc xaây döïng sô ñoà quan heä thöïc theå, laøm cô sôû xaây döïng caùc Table vaø Relationship.
4. Döõ lieäu ñaàu vaøo vaø ñaàu ra cuûa chöông trình
a. Thoâng tin nhaäp
Danh muïc chöùng töø
Danh muïc taøi khoaûn
Danh muïc taøi khoaûn ñoái öùng
Danh muïc haøng hoùa
Danh muïc nhoùm haøng
Danh muïc kho haøng
Danh muïc khaùch haøng
Danh muïc nhaø cung caáp
Danh muïc nhaân vieân
Danh muïc ngoaïi teä
Danh muïc ngaân haøng
Danh muïc thueá
Danh muïc hình thöùc nhaäp xuaát
Danh muïc hình thöùc thanh toaùn
Caùc loaïi phieáu : Phieáu nhaäp vaø phieáu xuaát
b. Thoâng tin xuaát
Baùo caùo tình hình thu, chi toàn quyõ tieàn maët
Baùo caùo tình hình vieäc nhaäp xuaát vaø toàn kho haøng hoùa
Baùo caùo coâng nôï khaùch haøng vaø nhaø cung caáp
5. Caáu truùc chöông trình
Danh muïc taøi khoaûn
Danh muïc taøi khoaûn ñoái öùng
Danh muïc kho
Danh muïc haøng hoùa
Danh muïc nhoùm haøng
Danh muïc khaùch haøng
Danh muïc chöùng töø
Danh muïc nhaø cung caáp
Danh muïc nhaân vieân
Danh muïc ngoaïi teä
Danh muïc ngaân haøng
Danh muïc thueá
Danh muïc hình thöùc nhaäp xuaát
Danh muïc hình thöùc thanh toaùn
Heä thoáng caùc danh muïc
Phaân heä keá toaùn tieàn maët
Caäp nhaät phieáu thu – chi
Baùo caùo tieàn maët
Toång hôïp
Chi tieát
Phaân heä keá toaùn haøng hoùa
Caäp nhaät chöùng töø nhaäp - xuaát
Baùo caùo haøng hoùa
Toång hôïp
Chi tieát
Phaân heä keá toaùn coâng nôï
Caäp nhaät phieáu thu - chi
Baùo caùo coâng nôï
Toång hôïp
Chi tieát
6. Sô ñoà chöùc naêng
Quaûn lyù
Keá Toaùn Doanh Nghieäp
1. Quaûn lyù
Tieàn maët
2. Quaûn lyù
Haøng hoùa
3. Quaûn lyù
Coâng nôï
1.1 Caäp nhaät phieáu thu chi tieàn maët
1.2 Caäp nhaät danh muïc khaùch haøng vaø nhaø cung caáp
2.1 Caäp nhaät phieáu nhaäp xuaát haøng hoùa
2.2 Caäp nhaät danh muïc haøng hoùa
2.3 Baùo caùo haøng hoùa (Toång hôïp vaø chi tieát)
3.1 Caäp nhaät phieáu thu chi
3.2 Caäp nhaät danh muïc khaùch haøng vaø nhaø cung caáp
3.3 Baùo caùo coâng nôï (Toång hôïp vaø chi tieát)
1.3 Baùo caùo tình hình thu chi toàn quyõ tieàn maët
7. Sô ñoà luoàng döõ lieäu
Khaùch haøng
Phieáu nhaäp xuaát
Caäp nhaät danh muïc haøng hoùa
Danh muïc haøng hoùa
Phieáu
nhaäp xuaát
Caäp nhaät danh muïc khaùch haøng
Ban quaûn lyù
Baùo caùo danh muïc haøng hoùa
Ban quaûn lyù
Caäp nhaät phieáu thu chi
Löu phieáu thu chi
Danh muïc
khaùch haøng
Baùo caùo coâng nôï
c5
e2
a5
b1
f3
f3
f2
f2
f1
e2
d1
d2
c4
c3
c2
c1
a4
e3
e1
b2
a2
a1
a3
Caäp nhaät phieáu nhaäp xuaát haøng hoùa
a1 Khaùch haøng mua haøng hoaëc nhaø cung caáp giao haøng
a2 Löu phieáu nhaäp xuaát
a3 Yeâu caàu caäp nhaät danh muïc haøng hoùa (Neáu laø haøng hoùa môùi)
a4 Caäp nhaät danh muïc khaùch haøng (Neáu laø khaùch haøng môùi)
a5 Löu thoâng tin haøng hoùa môùi
Ñieàu chænh phieáu nhaäp xuaát
b1 Ban quaûn lyù yeâu caàu ñieàu chænh phieáu nhaäp xuaát (Do nhaäp vaø xuaát sai soùt)
b2 Laáy phieáu nhaäp xuaát caàn ñieàu chænh töø kho löu ra ñieàu chænh theo yeâu caàu vaø löu laïi
Baùo caùo toàn kho
e1 Ban quaûn lyù yeâu caàu baùo caùo toàn kho
e2 Laáy soá toàn töø danh muïc haøng hoùa vaø tình hình nhaäp xuaát töø kho döõ lieäu phieáu nhaäp xuaát ñeå xaùc ñònh soá toàn kho cuoái kyø
e3 Göûi ban quaûn lyù baùo caùo toàn kho
Caäp nhaät phieáu thu chi
c1 Ban quaûn lyù chi traû nôï cho nhaø cung caáp (Yeâu caàu laäp phieáu chi)
c2 Khaùch haøng traû nôï (Yeâu caàu laäp phieáu thu)
c3 Löu phieáu thu chi ñaõ laäp
c4 Yeâu caàu caäp nhaät danh muïc khaùch haøng (Neáu laø khaùch haøng môùi)
c5 Löu thoâng tin khaùch haøng môùi
Ñieàu chænh phieáu thu chi
d1 Ban quaûn lyù yeâu caàu ñieàu chænh phieáu thu chi (Do nhaäp sai soùt)
d2 Laáy phieáu thu chi caàn ñieàu chænh töø kho löu ra ñieàu chænh theo yeâu caàu vaø löu laïi
Baùo caùo coâng nôï
f1 Ban quaûn lyù yeâu caàu baùo caùo coâng nôï
f2 Laáy soá nôï ñaàu kyø töø danh muïc khaùch haøng vaø tình hình nhaäp xuaát töø kho döõ lieäu phieáu nhaäp xuaát, tình hình thu chi töø kho döõ lieäu phieáu thu chi ñeå xaùc ñònh taêng giaûm nôï trong kyø vaø nôï cuoái kyø.
f3 Göûi ban quaûn lyù baùo caùo coâng nôï.
8. Sô ñoà quan heä giöõa caùc thöïc theå
Danh muïc
khaùch haøng
Phieáu nhaäp, xuaát
Chi tieát danh muïc
haøng hoùa
Phieáu thu, chi
Danh muïc
taøi khoaûn
Danh muïc
haøng hoùa
Kyù hieäu quan heä 1 -> n :
PHAÀN III
CÔ SÔÛ DÖÕ LIEÄU CUÛA CHÖÔNG TRÌNH
1. Cô sôû döõ lieäu
Cô sôû döõ lieäu laø moät kho chöùa thoâng tin, coù nhieàu loaïi cô sôû döõ lieäu, trong ñoù phoå bieán nhaát hieän nay laø CSDL quan heä.
Moät CSDL quan heä
Chöùa döõ lieäu trong caùc baûng, ñöôïc caáu taïo bôûi caùc doøng (maãu tin), coät (tröôøng).
Cho pheùp laáy veà (hay truy vaán) caùc taäp hôïp döõ lieäu con töø baûng.
Cho pheùp noái caùc baûng vôùi nhau cho muïc ñích truy caäp caùc maãu tin lieân quan vôùi nhau chöùa trong caùc baûng khaùc nhau.
Boä maùy (Engine) cô sôû döõ lieäu
Chöùc naêng cô baûn cuûa moät CSDL ñöôïc cung caáp bôûi moät boä maùy CSDL, laø heä thoáng chöông trình quaûn lyù caùch thöùc chöùa vaø traû veà döõ lieäu.
Baûng vaø tröôøng
Caùc CSDL ñöôïc caáu taïo töø caùc baûng duøng theå hieän caùc phaân nhoùm döõ lieäu. Baûng chöùa caùc maãu tin laø caùc maãu döõ lieäu rieâng reõ beân trong phaân nhoùm döõ lieäu. Maãu tin chöùa caùc tröôøng, moãi tröôøng theå hieän moät boä phaän döõ lieäu trong moät maãu tin.
RecordSet
Khi taïo baûng caàn naém ñöôïc caùch thao taùc vôùi caùc baûng. Thao taùc vôùi caùc baûng lieân quan ñeán vieäc nhaäp vaø laáy veà döõ lieäu töø caùc baûng khaùc cuõng nhö vieäc kieåm tra vaø söõa ñoåi caáu truùc baûng. Thao taùc döõ lieäu trong moät baûng ta duøng Recordset.
RecordSet laø moät caáu truùc döõ lieäu theå hieän moät taäp hôïp con caùc maãu tin laáy veà töø CSDL.
Moái quan heä
Khoùa chính : moät tröôøng ñöôïc chæ ra laø khoùa chính cuûa baûng phuïc vuï cho vieäc xaùc ñònh duy nhaát maãu tin.
Khoùa ngoaïi : laø khoùa trong baûng lieân quan chöùa baûn sao cuûa khoùa chính cuûa baûn chính.
Moái quan heä : laø moät caùch ñònh nghóa chính thöùc hai baûng lieân heä vôùi nhau nhö theá naøo. Khi ñònh nghóa moät moái quan heä, töùc ñaõ thoâng baùo vôùi boä maùy CSDL raèng hai tröôøng trong hai baûng lieân quan ñöôïc noái vôùi nhau.
Hai tröôøng lieân quan vôùi nhau trong moät moái quan heä laø khoùa chính vaø khoùa ngoaïi.
Ngoaøi vieäc gheùp caùc maãu tin lieân quan trong nhöõng baûng rieâng bieät, moái quan heä coøn taän duïng theá maïnh cuûa tính toaøn veïn tham chieáu, moät thuoäc tính cuûa boä maùy CSDL duy trì caùc döõ lieäu trong moät CSDL nhieàu baûng luoân luoân nhaát quaùn. Khi tính toaøn veïn tham chieáu toàn taïi trong moät CSDL, boä maùy CSDL seõ ngaên caûn khi xoùa moät maãu tin khi coù caùc maãu tin khaùc tham chieáu ñeán noù trong CSDL.
2.. Söû duïng Microsoft Access ñeå taïo cô sôû döõ lieäu cho chöông trình
Microsoft Access coù giao dieän tinh xaûo vaø deã duøng ñeå taïo caùc ñoái töôïng CSDL.
a. Boä döõ lieäu goác cuûa chöông trình
Tbl_DMCT : Danh muïc chöùng töø
Field name
Data type
Size
Description
MA_CT (K)
Text
10
Maõ chöùng töø
TEN_CT
Text
50
Dieãn giaûi
Tbl_DMTK : Danh muïc taøi khoaûn
Field name
Data type
Size
Description
MA_TK(K)
Text
14
Maõ taøi khoaûn
DIENGIAI
Text
50
Dieãn giaûi
MA_QL
Text
5
Maõ quaûn lyù
NO_DK
Number
Double
Nôï ñaàu kyø
NO_CK
Number
Double
Nôï cuoái kyø
Tbl_DMTKDU : Danh muïc taøi khoaûn ñoái öùng
Field name
Data type
Size
Description
MA_CT
Text
10
Maõ chöùng töø
NO_CO
Text
1
Ghi nôï hay ghi coù
MA_TKDU
Text
10
Taøi khoaûn ñoái öùng
Tbl_DMKH : Danh muïc khaùch haøng
Field name
Data type
Size
Description
LOAI_KH
Text
1
Loaïi khaùch haøng
MA_KH(K)
Text
10
Maõ khaùch haøng
HO_KH
Text
30
Hoï khaùch haøng
TEN_KH
Text
10
Teân khaùch haøng
DIACHI
Text
255
Ñòa chæ
PHONE
Text
15
Ñieän thoaïi
FAX
Text
15
Fax
EMAIL
Text
50
Email
Loaïi khaùch haøng : Ñeå phaân bieät khaùch haøng coù coâng nôï hay khoâng coù coâng nôï.
Tbl_DMNCC : Danh muïc nhaø cung caáp
Field name
Data type
Size
Description
MA_NCC(K)
Text
10
Maõ nhaø cung caáp
TEN_NCC
Text
40
Hoï teân nhaø cung caáp
DIACHI
Text
255
Ñòa chæ
PHONE
Text
15
Ñieän thoaïi
FAX
Text
15
Fax
EMAIl
Text
50
Email
Tbl_DMNV : Danh muïc nhaân vieân
Field name
Data type
Size
Description
MA_NV(K)
Text
10
Maõ nhaân vieân
HO_NV
Text
30
Hoï nhaân vieân
TEN_NV
Text
10
Teân nhaân vieân
CHUCVU
Text
3
Chöùc vuï
DIACHI
Text
255
Ñòa chæ
PHONE
Text
15
Ñieän thoaïi
EMAIL
Text
50
Email
Tbl_DMNH : Danh muïc ngaân haøng
Field name
Data type
Size
Description
MA_NH(K)
Text
10
Maõ ngaân haøng
TEN_NH
Text
255
Teân ngaân haøng
Tbl_DMNT : Danh muïc ngoaïi teä
Field name
Data type
Size
Description
MA_NT(K)
Text
10
Maõ ngoaïi teä
DIENGIAI
Text
50
Dieãn giaûi
TYGIA
Number
Double(Standard)
Tyû giaù
Tbl_DMTHUE : Danh muïc thueá
Field name
Data type
Size
Description
MA_THUE(K)
Text
10
Maõ thueá
DIENGIAI
Text
255
Dieãn giaûi
MUC_THUE
Number
Double(Standard)
Möùc thueá
Tbl_DMNHOM : Danh muïc nhoùm haøng
Field name
Data type
Size
Description
MA_NHOM(K)
Text
10
Maõ nhoùm
TEN_NHOM
Text
50
Teân nhoùm
Tbl_DMHH : Danh muïc haøng hoùa
Field name
Data type
Size
Description
MA_HH(K)
Text
10
Maõ haøng hoùa
MA_NHOM
Text
10
Maõ nhoùm
TEN_HH
Text
255
Teân haøng
DVT
Text
10
Ñôn vò tính
QUYCACH
Text
255
Quy caùch
DGN_VND
Number
Double(Standard)
Ñôn giaù nhaäp VND
DGN_USD
Number
Double(Standard)
Ñôn giaù nhaäp USD
DGB_VND
Number
Double(Standard)
Ñôn giaù baùn VND
DGB_USD
Number
Double(Standard)
Ñôn giaù baùn USD
Tbl_DMKHO : Danh muïc kho
Field name
Data type
Size
Description
MA_KHO(K)
Text
10
Maõ kho
TEN_KHO
Text
50
Teân kho
DIACHI
Text
50
Ñòa chæ
PHONE
Text
15
Ñieän thoaïi
Tbl_DMHTNX : Danh muïc hình thöùc nhaäp xuaát
Field name
Data type
Size
Description
MA_NX(K)
Text
10
Maõ nhaäp xuaát
LYDO
Text
255
Lyù do nhaäp xuaát
Tbl_DMHTTT : Danh muïc hình thöùc thanh toaùn
Field name
Data type
Size
Description
MA_HTTT(K)
Text
5
Maõ hình thöùc thanh toaùn
TEN_HTTT
Text
50
Teân HTTT
Tbl_TNDAUKY : Baûng xaùc ñònh thaùng naêm ñaàu kyø keá toaùn
Field name
Data type
Size
Description
THANG
Number
Byte
Thaùng ñaàu kyø keá toaùn
NAM
Number
Integer
Naêm ñaàu kyø keá toaùn
Tbl_THTCTQ : Baûng xaùc ñònh tình hình thu chi toàn quyõ tieàn maët
Field name
Data type
Size
Description
MA_QL(K)
Text
10
Maõ quaûn lyù
TON_DK
Number
Double(Standard)
Toàn ñaàu kyø
SOTHU
Number
Double(Standard)
Soá thu
SOCHI
Number
Double(Standard)
Soá chi
TON_CK
Number
Double(Standard)
Toàn cuoái kyø
Tbl_SOQUYTM : Soå quyõ tieàn maët
Field name
Data type
Size
Description
SO_CT(K)
Text
12
Soá chöùng töø
NGAY_GS
Date/Time
Short Date
Ngaøy ghi soå
NGAY_CT
Date/Time
Short Date
Ngaøy chöùng töø
NOIDUNG
Text
255
Noäi dung
TIEN_TV
Number
Double(Standard)
Tieàn thu vaøo
TIEN_CR
Number
Double(Standard)
Tieàn chi ra
TON
Number
Double(Standard)
Toàn
Tbl_SODUTH
Field name
Data type
Size
Description
KEY_SDTH(K)
Text
30
Khoaù xaùc ñònh thaùng naêm vaø taøi khoaûn coù soá dö
MA_TK
Text
14
Maõ taøi khoaûn
SDNO_DK
Number
Double(Standard)
Soá dö nôï ñaàu kyø
SDCO_DK
Number
Double(Standard)
Soá dö coù ñaàu kyø
FSNO_TK
Number
Double(Standard)
Phaùt sinh nôï trong kyø
FSCO_TK
Number
Double(Standard)
Phaùt sinh coù trong kyø
SDNO_CK
Number
Double(Standard)
Soá dö nôï cuoái kyø
SDCO_CK
Number
Double(Standard)
Soá dö coù cuoái kyø
Tbl_HDNHAP : Hoùa ñôn nhaäp
Field name
Data type
Size
Description
SO_CT(K)
Text
12
Soá chöùng töø
SO_CTG
Text
20
Soá chöùng töø goác
DIENGIAI
Text
255
Dieãn giaûi
NGAYLAP_CT
Date/Time
Short Date
Ngaøy laäp chöùng töø
MA_NV
Text
10
Maõ nhaân vieân laäp
MA_NCC
Text
10
Maõ nhaø cung caáp
MA_KHO
Text
10
Maõ kho
TYGIA
Number
Double(Standard)
Tyû giaù nhaäp
MA_CT
Text
10
Maõ chöùng töø
TK_NO
Text
10
Taøi khoaûn nôï
TK_CO
Text
10
Taøi khoaûn coù
MA_NT
Text
15
Maõ ngoaïi teä
KT_THUE
Yes/No
Yes/No
Kieåm tra thueá
MA_HTTT
Text
5
Maõ hình thöùc thanh toaùn
Tbl_HDNHAPCT : Hoùa ñôn nhaäp chi tieát
Field name
Data type
Size
Description
SO_CT(K)
Text
12
Soá chöùng töø
MA_HH(K)
Text
10
Maõ haøng hoùa
MA_THUE
Text
10
Maõ thueá
DVT
Text
10
Ñôn vò tính
SL_NHAP
Number
Long Integer
Soá löôïng nhaäp
DG_USD
Number
Double(Standard)
Ñôn giaù USD
DG_VND
Number
Double(Standard)
Ñôn giaù VND
TIEN_USD
Number
Double(Standard)
Soá tieàn nguyeân teä
TIEN_VND
Number
Double(Standard)
Tieàn quy ñoåi ra VND
TONGCONG
Number
Double(Standard)
Toång coäng
Tbl_HDXUAT : Hoùa ñôn xuaát
Field name
Data type
Size
Description
SO_CT(K)
Text
12
Soá chöùng töø
SO_CTG
Text
20
Soá chöùng töø goác
DIENGIAI
Text
255
Dieãn giaûi
NGAYLAP_CT
Date/Time
Short Date
Ngaøy laäp chöùng töø
MA_NV
Text
10
Maõ nhaân vieân laäp
MA_KH
Text
10
Maõ khaùch haøng
MA_KHO
Text
10
Maõ kho
TYGIA
Number
Double(Standard)
Tyû giaù nhaäp
MA_CT
Text
10
Maõ chöùng töø
TK_NO
Text
10
Taøi khoaûn nôï
TK_CO
Text
10
Taøi khoaûn coù
MA_NT
Text
15
Maõ ngoaïi teä
KT_THUE
Yes/No
Yes/No
Kieåm tra thueá
MA_HTTT
Text
5
Maõ hình thöùc thanh toaùn
Tbl_HDXUATCT : Hoùa ñôn xuaát chi tieát
Field name
Data type
Size
Description
SO_CT(K)
Text
12
Soá chöùng töø
MA_HH(K)
Text
10
Maõ haøng hoùa
MA_THUE
Text
10
Maõ thueá
DVT
Text
10
Ñôn vò tính
SL_XUAT
Number
Long Integer
Soá löôïng xuaát
DG_USD
Number
Double(Standard)
Ñôn giaù USD
DG_VND
Number
Double(Standard)
Ñôn giaù VND
TIEN_USD
Number
Double(Standard)
Soá tieàn nguyeân teä
TIEN_VND
Number
Double(Standard)
Tieàn quy ñoåi ra VND
TONGCONG
Number
Double(Standard)
Toång coäng
Tbl_PHIEUTHU : Phieáu thu tieàn maët
Field name
Data type
Size
Description
SO_CT(K)
Text
12
Soá chöùng töø
NGAYLAP_CT
Date/Time
Short Date
Ngaøy laäp
MA_CT
Text
10
Maõ chöùng töø
MA_KH
Text
10
Maõ khaùch haøng
TK_NO
Text
10
Taøi khoaûn nôï
TK_CO
Text
10
Taøi khoaûn coù
TIEN_TT
Number
Double(Standard)
Tieàn thanh toaùn
TYGIA_TT
Number
Double(Standard)
Tyû giaù thöïc teá
DOIRA_VND
Number
Double(Standard)
Ñoåi ra tieàn VND
DIENGIAI
Text
255
Dieãn giaûi
MA_NT
Text
15
Maõ ngoaïi teä
MA_NH
Text
10
Maõ ngaân haøng
MA_THUE
Text
10
Maõ thueá
KT_THUE
Yes/No
Yes/No
Kieåm tra thueá
Tbl_PHIEUCHI : Phieáu chi tieàn maët
Field name
Data type
Size
Description
SO_CT(K)
Text
12
Soá chöùng töø
NGAYLAP_CT
Date/Time
Short Date
Ngaøy laäp
MA_CT
Text
10
Maõ chöùng töø
MA_NCC
Text
10
Maõ nhaø cung caáp
TK_NO
Text
10
Taøi khoaûn nôï
TK_CO
Text
10
Taøi khoaûn coù
TIEN_TT
Number
Double(Standard)
Tieàn thanh toaùn
TYGIA_TT
Number
Double(Standard)
Tyû giaù thöïc teá
DOIRA_VND
Number
Double(Standard)
Ñoåi ra tieàn VND
DIENGIAI
Text
255
Dieãn giaûi
MA_NT
Text
15
Maõ ngoaïi teä
MA_NH
Text
10
Maõ ngaân haøng
MA_THUE
Text
10
Maõ thueá
KT_THUE
Yes/No
Yes/No
Kieåm tra thueá
Tbl_PHIEUTHUCN : Phieáu thu 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_KH
Text
10
Maõ khaùch haøng
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_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
cmdsua.Enabled = False
cmdxoa.Enabled = False
cmdghi.Enabled = True
cmdkhong.Enabled = True
cmdthoat.Enabled = False
DataDMTK.Refresh
End Sub
Private Sub Khoa()
DataDMTK.AllowDelete = False
DataDMTK.AllowUpdate = False
cmdthem.Enabled = True
cmdsua.Enabled = True
cmdxoa.Enabled = True
cmdghi.Enabled = False
cmdkhong.Enabled = False
cmdthoat.Enabled = True
DataDMTK.Refresh
End Sub
Private Sub cmdthem_click()
On Error GoTo Loi_Them
Ado_DMTK.Refresh
Ado_DMTK.Recordset.AddNew
Mo_Khoa
DataDMTK.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_DMTK.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 tai khoan " + Ado_DMTK.Recordset.Fields("MA_TK") + " ?", 48 + 4, "Thong bao")
If traloi = 6 Then
Ado_DMTK.Recordset.Delete
Ado_DMTK.Recordset.Clone
Ado_DMTK.Recordset.Requery
Ado_DMTK.Recordset.MoveNext
If Ado_DMTK.Recordset.EOF Then
Ado_DMTK.Recordset.MoveLast
End If
End If
Ado_DMTK.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_DMTK.Recordset.UpdateBatch adAffectAll
Khoa
cmdthem.SetFocus
them = False
Thoat_Ghi:
DataDMTK.SetFocus
Exit Sub
Loi_Ghi:
MsgBox "Du lieu khong hop le !"
Resume Thoat_Ghi
End Sub
Private Sub cmdkhong_click()
If them Then
Ado_DMTK.Refresh
Ado_DMTK.Recordset.CancelUpdate
End If
Khoa
cmdthem.SetFocus
them = False
Ado_DMTK.Refresh
End Sub
Private Sub cmdthoat_click()
Ado_DMTK.Refresh
Unload Me
End Sub
Private Sub DataDMTK_click()
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
End Sub
'Thu tuc khi muon quay lai ban ghi truoc do
Private Sub cmdtruoc_click()
If Ado_DMTK.Recordset.BOF Then
MsgBox "Ban dang o ban ghi dau tien !", vbOKOnly, "Thong bao"
Else
Ado_DMTK.Recordset.MovePrevious
End If
End Sub
'Thu tuc khi muon di toi ban ghi ke tiep
Private Sub cmdsau_click()
If Ado_DMTK.Recordset.EOF Then
MsgBox "Ban dang o ban ghi cuoi cung !", vbOKOnly, "Thong bao"
Else
Ado_DMTK.Recordset.MoveNext
End If
End Sub
'Thu tuc khi muon quay lai ban ghi dau tien
Private Sub cmddau_click()
On Error GoTo Loi_Dau
If Ado_DMTK.Recordset.BOF Then
MsgBox "Ban dang o ban ghi dau tien !", vbOKOnly, "Thong bao"
Else
Ado_DMTK.Recordset.MoveFirst
End If
Thoat_Dau:
Exit Sub
Loi_Dau:
MsgBox Err.Description
Resume Thoat_Dau
End Sub
'Thu tuc khi di den ban ghi cuoi cung
Private Sub cmdcuoi_click()
On Error GoTo Loi_Cuoi
If Ado_DMTK.Recordset.EOF Then
MsgBox "Ban dang o ban ghi cuoi cung !", vbOKOnly, "Thong bao"
Else
Ado_DMTK.Recordset.MoveLast
End If
Thoat_Cuoi:
Exit Sub
Loi_Cuoi:
MsgBox Err.Description
Resume Thoat_Cuoi
End Sub
Giao dieän Form duøng ñeå baùo caùo danh muïc taøi khoaûn
Maõ nguoàn cuûa Form duøng ñeå baùo caùo danh muïc taøi khoaûn
Dim Report As New CrystalRepDMTK
Private Sub Form_Load()
Screen.MousePointer = vbHourglass
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub
Giao dieän Form cuûa chöùng töø nhaäp xuaát haøng hoùa
Maõ nguoàn cuûa Form caäp nhaät chöùng töø nhaäp haøng
Option Explicit
Dim them As Boolean
Dim sua As Boolean
Dim chuoi1 As String
Dim danhdau 'Dung danh dau ban ghi khi can sua doi
Dim gtthang
Dim gtnam
Private Sub form_load()
Dim so As Integer
Dim thang As Byte
Dim nam As Integer
gtthang = Me.VScrollTHANG.Value
gtnam = Me.VScrollNAM.Value
thang = Month(Now())
nam = Year(Now())
Me.txtTHANG.Text = thang
Me.txtNAM.Text = nam
chuoi1 = "Select * from Tbl_HDNHAP where month(NGAYLAP_CT)='" & Val(thang) & "'" & " and year(NGAYLAP_CT)='" & Val(nam) & "'"
Ado_HDNHAP.ConnectionString = "provider=Microsoft.Jet.OLEDB.3.51;Persist security info=false;data source='c:\QL_ktdn\ktdn.mdb'"
Ado_HDNHAP.RecordSource = chuoi1
Ado_HDNHAP.Refresh
Khoa
End Sub
Private Sub Khoa()
txtSCT.Locked = True
txtSCTG.Locked = True
txtDIENGIAI.Locked = True
txtNGAYCT.Locked = True
DCDMNV.Locked = True
txtHONV.Locked = True
txtTENNV.Locked = True
DCDMNCC.Locked = True
txtTENNCC.Locked = True
DCDMKHO.Locked = True
txtTENKHO.Locked = True
txtTYGIA.Locked = True
DCDMCT.Locked = True
txtTENCT.Locked = True
DCDMTK.Locked = True
txtDGTKN.Locked = True
DCDMTKDU.Locked = True
txtDGTKC.Locked = True
DCDMNT.Locked = True
txtTENNT.Locked = True
DCDMHTTT.Locked = True
txtTENHTTT.Locked = True
DataHDNHAP.AllowUpdate = False
DataHDNHAP.AllowDelete = False
DataHDNHAP.AllowAddNew = False
cmdthem.Enabled = True
cmdsua.Enabled = True
cmdxoa.Enabled = True
cmdghi.Enabled = False
cmdkhong.Enabled = False
cmdthoat.Enabled = True
cmdtruoc.Enabled = True
cmdsau.Enabled = True
cmddau.Enabled = True
cmdcuoi.Enabled = True
cmdchitiet.Enabled = True
End Sub
Private Sub Mo_Khoa()
DCDMCT.SetFocus
txtSCT.Locked = False
txtSCTG.Locked = False
txtDIENGIAI.Locked = False
txtNGAYCT.Locked = False
DCDMNV.Locked = False
txtHONV.Locked = False
txtTENNV.Locked = False
DCDMNCC.Locked = False
txtTENNCC.Locked = False
DCDMKHO.Locked = False
txtTENKHO.Locked = False
txtTYGIA.Locked = False
DCDMCT.Locked = False
txtTENCT.Locked = False
DCDMTK.Locked = False
txtDGTKN.Locked = False
DCDMTKDU.Locked = False
txtDGTKC.Locked = False
DCDMNT.Locked = False
txtTENNT.Locked = False
DCDMHTTT.Locked = False
txtTENHTTT.Locked = False
DataHDNHAP.AllowUpdate = True
DataHDNHAP.AllowDelete = True
DataHDNHAP.AllowAddNew = True
cmdthem.Enabled = False
cmdsua.Enabled = False
cmdxoa.Enabled = False
cmdghi.Enabled = True
cmdkhong.Enabled = True
cmdthoat.Enabled = True
cmdtruoc.Enabled = False
cmdsau.Enabled = False
cmddau.Enabled = False
cmdcuoi.Enabled = False
cmdchitiet.Enabled = False
End Sub
'------------------------------------------------------------------------------------
'Doan cac su kien danh cho cmddau, cmdcuoi, cmdtruoc, cmdsau
'Chuyen den ban ghi cuoi cung
Private Sub cmdcuoi_click()
On Error GoTo Loi_Cuoi
'Neu khong co loi thi
If Ado_HDNHAP.Recordset.EOF() = True Then
MsgBox "Ñang ôû baûn ghi cuoái cuøng !", vbOKOnly, "Thoâng baùo"
Else
Ado_HDNHAP.Recordset.MoveLast
End If
Thoat_Cuoi:
Exit Sub
Loi_Cuoi:
MsgBox Err.Description
Resume Thoat_Cuoi
End Sub
Private Sub cmdcuoi_mousemove(button As Integer, shift As Integer, x As Single, y As Single)
txtTT.Text = "Nhaûy ñeán baûn ghi cuoái cuøng"
End Sub
'Chuyen ve ban ghi dau tien
Private Sub cmddau_click()
On Error GoTo Loi_Dau
'Neu khong loi thi
If Ado_HDNHAP.Recordset.BOF() = True Then
MsgBox "Ñang ôû baûn ghi ñaàu tieân !", vbOKOnly, "Thoâng baùo"
Else
Ado_HDNHAP.Recordset.MoveFirst
End If
Thoat_Dau:
Exit Sub
Loi_Dau:
MsgBox Err.Description
Resume Thoat_Dau
End Sub
Private Sub cmddau_mousemove(button As Integer, shift As Integer, x As Single, y As Single)
txtTT.Text = "Veà baûn ghi ñaàu tieân"
End Sub
'Chuyen ve ban ghi ke tiep
Private Sub cmdsau_click()
If Ado_HDNHAP.Recordset.EOF Then
MsgBox "Ñang ôû baûn ghi cuoái cuøng !", vbOKOnly, "Thoâng baùo"
Else
Ado_HDNHAP.Recordset.MoveNext
End If
End Sub
Private Sub cmdsau_mousemove(button As Integer, shift As Integer, x As Single, y As Single)
txtTT.Text = "Ñeán baûn ghi tieáp theo"
End Sub
'Chuyen ve ban ghi truoc do
Private Sub cmdtruoc_click()
If Ado_HDNHAP.Recordset.BOF Then
MsgBox "Ñang ôû baûn ghi ñaàu tieân !", vbOKOnly, "Thoâng baùo"
Else
Ado_HDNHAP.Recordset.MovePrevious
End If
End Sub
Private Sub cmdtruoc_mousemove(button As Integer, shift As Integer, x As Single, y As Single)
txtTT.Text = "Veà baûn ghi tröôùc ñoù"
End Sub
'-----------------------------------------------------------------------------------------
' Doan danh cho cac su kien cmdthem, cmdsua, cmdxoa, cmdghi, cmdkhong, ‘cmdthoat
Private Sub cmdthem_click()
On Error GoTo Loi_Them
Ado_HDNHAP.Recordset.AddNew
Mo_Khoa
them = True
sua = False
Thoat_Them:
Exit Sub
Loi_Them:
MsgBox Err.Description
Resume Thoat_Them
End Sub
Private Sub cmdthem_mousemove(button As Integer, shift As Integer, x As Single, y As Single)
txtTT.Text = "Theâm baûn ghi môùi"
End Sub
Private Sub cmdsua_click()
On Error GoTo Loi_Sua
danhdau = Ado_HDNHAP.Recordset.Bookmark
Mo_Khoa
them = False
sua = True
Thoat_Sua:
Exit Sub
Loi_Sua:
MsgBox Err.Description
Resume Thoat_Sua
End Sub
Private Sub cmdsua_mousemove(button As Integer, shift As Integer, x As Single, y As Single)
txtTT.Text = "Caäp nhaät laïi baûn ghi"
End Sub
Private Sub cmdxoa_click()
On Error GoTo Loi_Xoa
Dim traloi
traloi = MsgBox("Xoùa baûn ghi " + Ado_HDNHAP.Recordset.Fields("SO_CT") + "?", 48 + 4, "Thoâng baùo")
If traloi = 6 Then
Ado_HDNHAP.Recordset.Delete
Ado_HDNHAP.Recordset.Clone
Ado_HDNHAP.Recordset.Requery
Ado_HDNHAP.Recordset.MoveNext
If Ado_HDNHAP.Recordset.EOF Then
Ado_HDNHAP.Recordset.MoveLast
End If
End If
Ado_HDNHAP.Refresh
Thoat_Xoa:
Exit Sub
Loi_Xoa:
MsgBox "Khoâng theå xoùa baûn ghi naøy !", vbOKOnly, "Thoâng baùo"
Resume Thoat_Xoa
End Sub
Private Sub cmdxoa_mousemove(button As Integer, shift As Integer, x As Single, y As Single)
txtTT.Text = "Xoùa baûn ghi"
End Sub
Private Sub cmdghi_click()
On Error GoTo Loi_Ghi
Ado_HDNHAP.Recordset.UpdateBatch adAffectAll
Khoa
them = False
sua = False
Thoat_Ghi:
DCDMCT.SetFocus
Exit Sub
Loi_Ghi:
MsgBox "Döõ lieäu khoâng hôïp leä", vbOKOnly, "Thoâng baùo"
Resume Thoat_Ghi
End Sub
Private Sub cmdghi_mousemove(button As Integer, shift As Integer, x As Single, y As Single)
txtTT.Text = "Löu baûn ghi"
End Sub
Private Sub cmdkhong_click()
Ado_HDNHAP.Refresh
Ado_HDNHAP.Recordset.CancelUpdate
Khoa
cmdthem.SetFocus
them = False
sua = False
End Sub
Private Sub cmdkhong_mousemove(button As Integer, shift As Integer, x As Single, y As Single)
If them = True Then
txtTT.Text = "Boû qua khoâng theâm baûn ghi"
Else
txtTT.Text = "Khoâng caäp nhaät laïi baûn ghi"
End If
End Sub
Private Sub cmdthoat_click()
Unload Me
End Sub
'Khi thay doi gia tri txtTHANG xu ly
Private Sub txtTHANG_change()
Dim thang
Dim nam
'Lay thang va nam cap nhat chung tu
thang = txtTHANG.Text
nam = txtNAM.Text
chuoi1 = "Select * from Tbl_HDNHAP where month(NGAYLAP_CT)='" & Val(thang) & "'" & " and year(NGAYLAP_CT)='" & Val(nam) & "'"
Ado_HDNHAP.ConnectionString = "provider=Microsoft.Jet.OLEDB.3.51;Persist security info=false;data source='c:\QL_ktdn\ktdn.mdb'"
Ado_HDNHAP.RecordSource = chuoi1
Ado_HDNHAP.Refresh
'Dem so ban ghi va cho biet ban ghi hien tai
Dim bght
Dim sobg
sobg = 0
bght = 0
sobg = Ado_HDNHAP.Recordset.RecordCount
If (Ado_HDNHAP.Recordset.EOF = False) And (Ado_HDNHAP.Recordset.BOF = False) Then
bght = Ado_HDNHAP.Recordset.Bookmark
End If
txtBGHH.Text = bght
txtSBG.Text = sobg
End Sub
Private Sub VScrollTHANG_change()
Dim thang As Byte
Dim so
thang = Val(txtTHANG)
so = VScrollTHANG.Value
If so > gtthang Then
txtTHANG = str(thang + 1)
gtthang = so
Else
txtTHANG = str(thang - 1)
gtthang = so
End If
End Sub
Private Sub txtNAM_change()
Dim thang
Dim nam
'Lay thang va nam cap nhat chung tu
thang = txtTHANG.Text
nam = txtNAM.Text
chuoi1 = "Select * from Tbl_HDNHAP where month(NGAYLAP_CT)='" & Val(thang) & "'" & " and year(NGAYLAP_CT)='" & Val(nam) & "'"
Ado_HDNHAP.ConnectionString = "provider=Microsoft.Jet.OLEDB.3.51;Persist security info=false;data source='c:\QL_ktdn\ktdn.mdb'"
Ado_HDNHAP.RecordSource = chuoi1
Ado_HDNHAP.Refresh
'Dem so ban ghi va cho biet ban ghi hien tai
Dim bght
Dim sobg
sobg = 0
bght = 0
sobg = Ado_HDNHAP.Recordset.RecordCount
If (Ado_HDNHAP.Recordset.EOF = False) And (Ado_HDNHAP.Recordset.BOF = False) Then
bght = Ado_HDNHAP.Recordset.Bookmark
End If
txtBGHH.Text = bght
txtSBG.Text = sobg
End Sub
Private Sub VScrollNAM_change()
Dim nam, so
nam = Val(txtNAM)
so = VScrollNAM.Value
If so > gtnam Then
txtNAM = str(nam + 1)
gtnam = so
Else
txtNAM = str(nam - 1)
gtnam = so
End If
End Sub
'Cac su kien khi chon ma chung tu
Private Sub DCDMCT_gotfocus()
Me.DCDMCT.BackColor = &HC0E0FF
End Sub
Private Sub DCDMCT_change()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim chuoi As String
If DCDMCT.Text "" Then
Set db = OpenDatabase("c:\QL_ktdn\ktdn.mdb")
chuoi = "select * from Tbl_DMCT where MA_CT='" & DCDMCT.Text & "'"
Set rs = db.OpenRecordset(chuoi)
If rs.RecordCount > 0 Then
txtTENCT.Text = rs.Fields("TEN_CT")
End If
rs.Close
db.Close
End If
End Sub
Private Sub DCDMCT_keypress(keyascii As Integer)
Dim str As String
Dim rs As New ADODB.Recordset
Select Case keyascii
Case 13:
str = "select MA_CT from Tbl_DMCT where MA_CT= '" & DCDMCT & "'"
rs.Open str, cn
If rs.EOF = False Then
DCDMCT = rs!MA_CT
txtNGAYCT.SetFocus
Else
Frm_CHONDMCTofHDNHAP.Show 1
End If
End Select
End Sub
Private Sub DCDMCT_lostfocus()
Me.DCDMCT.BackColor = &HFFFFFF
End Sub
'Khi ngay chung tu nhan focus
Private Sub txtNGAYCT_gotfocus()
txtNGAYCT.BackColor = &HC0E0FF
End Sub
Private Sub txtNGAYCT_keypress(keyascii As Integer)
Select Case keyascii
Case 13
txtSCTG.SetFocus
End Select
End Sub
Private Sub txtNGAYCT_lostfocus()
txtNGAYCT.BackColor = &HFFFFFF
End Sub
'Khi so chung tu goc nhan focus
Private Sub txtSCTG_gotfocus()
txtSCTG.BackColor = &HC0E0FF
End Sub
Private Sub txtSCTG_keypress(keyascii As Integer)
Select Case keyascii
Case 13
txtSCT.SetFocus
End Select
End Sub
Private Sub txtSCTG_lostfocus()
txtSCTG.BackColor = &HFFFFFF
End Sub
Private Sub txtSCT_gotfocus()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim rd As DAO.QueryDef
Dim max
Dim thang, nam
Dim so, so1
Dim chuoi1 As String
Dim chuoi2 As String
txtSCT.BackColor = &HC0E0FF
thang = txtTHANG.Text
nam = txtNAM.Text
chuoi1 = Trim(nam) & Right("0" & Trim(thang), 2)
chuoi2 = "Select * from Tbl_HDNHAP where month(NGAYLAP_CT)='" & Val(thang) & "'" & "and year(NGAYLAP_CT)='" & Val(nam) & "'"
Set db = OpenDatabase("c:\QL_ktdn\ktdn.mdb")
Set rs = db.OpenRecordset(chuoi2)
max = 0
If rs.RecordCount > 0 Then
rs.MoveFirst
Do Until rs.EOF
'Tang gia tri so chung tu len 1 phu thuoc vao thang va nam xu ly
If (Trim(Month(rs!NGAYLAP_CT)) = txtTHANG) And (Trim(Year(rs!NGAYLAP_CT)) = txtNAM) Then
so = Mid(Trim(rs!SO_CT), 7) 'Lay SO_CT tu vi tri thu 7
If (Len(so) 0) Then
so1 = Val(so)
If (max < so1) Then
max = so1
End If
End If
End If
rs.MoveNext
Loop
End If
'Tru truong hop SO_CT0 thi record hien hanh la record cu
If Me.txtSCT.Text = "" Then
Me.txtSCT.Text = Trim(chuoi1) & Right("0" & Trim(CStr(max + 1)), 2)
End If
End Sub
'Su kien khi thay doi so chung tu
Private Sub txtSCT_change()
Dim n
Dim n1
n = 0
n1 = 0
n = Ado_HDNHAP.Recordset.RecordCount
If (Ado_HDNHAP.Recordset.EOF = False) And (Ado_HDNHAP.Recordset.BOF = False) Then
n1 = Ado_HDNHAP.Recordset.Bookmark
End If
txtBGHH.Text = n1
txtSBG.Text = n
End Sub
'Su kien khi So chung tu nhan enter
Private Sub txtSCT_keypress(keyascii As Integer)
Select Case keyascii
Case 13
txtDIENGIAI.SetFocus
End Select
End Sub
Private Sub txtSCT_lostfocus()
txtSCT.BackColor = &HFFFFFF
End Sub
Private Sub txtDIENGIAI_gotfocus()
txtDIENGIAI.BackColor = &HC0E0FF
End Sub
Private Sub txtDIENGIAI_keypress(keyascii As Integer)
Select Case keyascii
Case 13
DCDMNCC.SetFocus
End Select
End Sub
Private Sub txtDIENGIAI_lostfocus()
txtDIENGIAI.BackColor = &HFFFFFF
End Sub
Private Sub DCDMNCC_gotfocus()
DCDMNCC.BackColor = &HC0E0FF
End Sub
Private Sub DCDMNCC_change()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim chuoi As String
If DCDMNCC.Text "" Then
Set db = OpenDatabase("c:\QL_ktdn\ktdn.mdb")
chuoi = "select * from Tbl_DMNCC where MA_NCC='" & DCDMNCC.Text & "'"
Set rs = db.OpenRecordset(chuoi)
If rs.RecordCount > 0 Then
txtTENNCC.Text = rs.Fields("TEN_NCC")
End If
rs.Close
db.Close
End If
End Sub
Private Sub DCDMNCC_keypress(keyascii As Integer)
Dim str As String
Dim rs As New ADODB.Recordset
Select Case keyascii
Case 13:
str = "select MA_NCC from Tbl_DMNCC where MA_NCC= '" & DCDMNCC & "'"
rs.Open str, cn
If rs.EOF = False Then
DCDMNCC = rs!MA_NCC
DCDMKHO.SetFocus
Else
Frm_CHONDMNCCofHDNHAP.Show 1
End If
End Select
End Sub
Private Sub DCDMNCC_lostfocus()
Me.DCDMNCC.BackColor = &HFFFFFF
End Sub
Private Sub DCDMKHO_gotfocus()
Me.DCDMKHO.BackColor = &HC0E0FF
End Sub
Private Sub DCDMKHO_change()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim chuoi As String
If DCDMKHO.Text "" Then
Set db = OpenDatabase("c:\QL_ktdn\ktdn.mdb")
chuoi = "select * from Tbl_DMKHO where MA_KHO='" & DCDMKHO.Text & "'"
Set rs = db.OpenRecordset(chuoi)
If rs.RecordCount > 0 Then
txtTENKHO.Text = rs.Fields("TEN_KHO")
End If
rs.Close
db.Close
End If
End Sub
Private Sub DCDMKHO_keypress(keyascii As Integer)
Dim str As String
Dim rs As New ADODB.Recordset
Select Case keyascii
Case 13:
str = "select MA_KHO from Tbl_DMKHO where MA_KHO= '" & DCDMKHO & "'"
rs.Open str, cn
If rs.EOF = False Then
DCDMKHO = rs!MA_KHO
DCDMTK.SetFocus
Else
Frm_CHONDMKHOofHDNHAP.Show 1
End If
End Select
End Sub
Private Sub DCDMKHO_lostfocus()
Me.DCDMKHO.BackColor = &HFFFFFF
End Sub
Private Sub DCDMTK_gotfocus()
Me.DCDMTK.BackColor = &HC0E0FF
End Sub
Private Sub DCDMTK_change()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim chuoi As String
If DCDMTK.Text "" Then
Set db = OpenDatabase("c:\QL_ktdn\ktdn.mdb")
chuoi = "select * from Tbl_DMTK where MA_TK='" & DCDMTK.Text & "'"
Set rs = db.OpenRecordset(chuoi)
If rs.RecordCount > 0 Then
txtDGTKN.Text = rs.Fields("DIENGIAI")
End If
rs.Close
db.Close
End If
End Sub
Private Sub DCDMTK_keypress(keyascii As Integer)
Dim str As String
Dim rs As New ADODB.Recordset
Select Case keyascii
Case 13:
str = "select MA_TK from Tbl_DMTK where MA_TK= '" & DCDMTK & "'"
rs.Open str, cn
If rs.EOF = False Then
DCDMTK = rs!MA_TK
DCDMTKDU.SetFocus
Else
Frm_CHONDMTKofHDNHAP.Show 1
End If
End Select
End Sub
Private Sub DCDMTK_lostfocus()
Me.DCDMTK.BackColor = &HFFFFFF
End Sub
Private Sub DCDMTKDU_gotfocus()
Me.DCDMTKDU.BackColor = &HC0E0FF
End Sub
Private Sub DCDMTKDU_change()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim chuoi As String
If DCDMTKDU.Text "" Then
Set db = OpenDatabase("c:\QL_ktdn\ktdn.mdb")
chuoi = "select * from Tbl_DMTK where MA_TK='" & DCDMTKDU.Text & "'"
Set rs = db.OpenRecordset(chuoi)
If rs.RecordCount > 0 Then
txtDGTKC.Text = rs.Fields("DIENGIAI")
End If
rs.Close
db.Close
End If
End Sub
Private Sub DCDMTKDU_keypress(keyascii As Integer)
Dim str As String
Dim rs As New ADODB.Recordset
Select Case keyascii
Case 13:
str = "select MA_TK from Tbl_DMTK where MA_TK= '" & DCDMTKDU & "'"
rs.Open str, cn
If rs.EOF = False Then
DCDMTKDU = rs!MA_TK
DCDMNT.SetFocus
Else
Frm_CHONDMTKDUofHDNHAP.Show 1
End If
End Select
End Sub
Private Sub DCDMTKDU_lostfocus()
Me.DCDMTKDU.BackColor = &HFFFFFF
End Sub
Private Sub DCDMNT_gotfocus()
Me.DCDMNT.BackColor = &HC0E0FF
End Sub
Private Sub DCDMNT_change()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim chuoi As String
If DCDMNT.Text "" Then
Set db = OpenDatabase("c:\QL_ktdn\ktdn.mdb")
chuoi = "select * from Tbl_DMNT where MA_NT='" & DCDMNT.Text & "'"
Set rs = db.OpenRecordset(chuoi)
If rs.RecordCount > 0 Then
txtTENNT.Text = rs.Fields("DIENGIAI")
End If
rs.Close
db.Close
End If
End Sub
Private Sub DCDMNT_keypress(keyascii As Integer)
Dim str As String
Dim rs As New ADODB.Recordset
Select Case keyascii
Case 13:
str = "select MA_NT from Tbl_DMNT where MA_NT= '" & DCDMNT & "'"
rs.Open str, cn
If rs.EOF = False Then
DCDMNT = rs!MA_NT
DCDMNV.SetFocus
Else
Frm_CHONDMNTofHDNHAP.Show 1
End If
End Select
End Sub
Private Sub DCDMNT_lostfocus()
Me.DCDMNT.BackColor = &HFFFFFF
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim chuoi As String
If DCDMNT.Text "" Then
Set db = OpenDatabase("c:\QL_ktdn\ktdn.mdb")
chuoi = "select * from Tbl_DMNT where MA_NT='" & DCDMNT.Text & "'"
Set rs = db.OpenRecordset(chuoi)
If rs.RecordCount > 0 Then
Me.txtTYGIA = rs.Fields("TYGIA")
End If
rs.Close
db.Close
End If
End Sub
Private Sub DCDMNV_gotfocus()
Me.DCDMNV.BackColor = &HC0E0FF
End Sub
Private Sub DCDMNV_change()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim chuoi As String
If DCDMNV.Text "" Then
Set db = OpenDatabase("c:\QL_ktdn\ktdn.mdb")
chuoi = "select * from Tbl_DMNV where MA_NV='" & DCDMNV.Text & "'"
Set rs = db.OpenRecordset(chuoi)
If rs.RecordCount > 0 Then
txtHONV.Text = rs.Fields("HO_NV")
txtTENNV.Text = rs.Fields("TEN_NV")
End If
rs.Close
db.Close
End If
End Sub
Private Sub DCDMNV_keypress(keyascii As Integer)
Dim str As String
Dim rs As New ADODB.Recordset
Select Case keyascii
Case 13:
str = "select MA_NV from Tbl_DMNV where MA_NV= '" & DCDMNV & "'"
rs.Open str, cn
If rs.EOF = False Then
DCDMNV = rs!MA_NV
txtTYGIA.SetFocus
Else
Frm_CHONDMNVofHDNHAP.Show 1
End If
End Select
End Sub
Private Sub DCDMNV_lostfocus()
Me.DCDMNV.BackColor = &HFFFFFF
End Sub
Private Sub txtTYGIA_gotfocus()
txtTYGIA.BackColor = &HC0E0FF
End Sub
Private Sub txtTYGIA_keypress(keyascii As Integer)
Select Case keyascii
Case 13
chkTHUE.SetFocus
End Select
End Sub
Private Sub txtTYGIA_lostfocus()
txtTYGIA.BackColor = &HFFFFFF
End Sub
Private Sub chkTHUE_gotfocus()
chkTHUE.BackColor = &HC0E0FF
End Sub
Private Sub chkTHUE_keypress(keyascii As Integer)
Select Case keyascii
Case 13
DCDMHTTT.SetFocus
End Select
End Sub
Private Sub chkTHUE_lostfocus()
chkTHUE.BackColor = &H8000000F
End Sub
Private Sub DCDMHTTT_gotfocus()
Me.DCDMHTTT.BackColor = &HC0E0FF
End Sub
Private Sub DCDMHTTT_change()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim chuoi As String
If DCDMHTTT.Text "" Then
Set db = OpenDatabase("c:\QL_ktdn\ktdn.mdb")
chuoi = "select * from Tbl_DMHTTT where MA_HTTT='" & DCDMHTTT.Text & "'"
Set rs = db.OpenRecordset(chuoi)
If rs.RecordCount > 0 Then
txtTENHTTT.Text = rs.Fields("TEN_HTTT")
End If
rs.Close
db.Close
End If
End Sub
Private Sub DCDMHTTT_keypress(keyascii As Integer)
Dim str As String
Dim rs As New ADODB.Recordset
Select Case keyascii
Case 13:
str = "select MA_HTTT from Tbl_DMHTTT where MA_HTTT= '" & DCDMHTTT & "'"
rs.Open str, cn
If rs.EOF = False Then
DCDMHTTT = rs!MA_HTTT
'Goi Form Frm_HDNHAPCT
cmdchitiet.SetFocus
Else
Frm_CHONDMHTTTofHDNHAP.Show 1
If (cmdchitiet.Enabled = True) Then
Me.cmdchitiet.SetFocus
Else
Me.cmdghi.SetFocus
End If
End If
End Select
End Sub
Private Sub DCDMHTTT_lostfocus()
Me.DCDMHTTT.BackColor = &HFFFFFF
End Sub
'Goi Form cap nhat chung tu nhap chi tiet
Private Sub cmdchitiet_click()
Frm_HDNHAPCT.Show 1
End Sub
PHAÀN VI
ÑOÙNG GOÙI - ÑAÙNH GIAÙ
VAØ HÖÔÙNG PHAÙT TRIEÅN ÑEÀ TAØI
Ñeå chöông trình mang moät phaàn tính chuyeân nghieäp, caàn ñoùng goùi chöông trình thaønh boä Setup ( Package & Deloyment Wizard ) vaø coù theå cung caáp cho ngöôøi söû duïng boä Setup naøy nhö coù theå sao cheùp, caøi ñaët vaø coù theå söû duïng treân baát kyø maùy tính naøo.
Moät chöông trình hoaøn haûo ñeå ñaûm baûo cho coâng vieäc keá toaùn thöïc thuï thì ñoøi hoûi tính chuyeân nghieäp raát cao, neân treân cô sôû nghieân cöùu vaø phaùt trieån, ñeà taøi chæ ñaùp öùng ñöôïc phaàn naøo cho ngöôøi söû duïng hieåu khaùi quaùt veà keá toaùn, cuõng nhö caùch nghieân cöùu veà cô sôû döõ lieäu cho keá toaùn doanh nghieäp. Ngoaøi ra, naém baét caùch söû duïng ngoân ngöõ laäp trình ñeå taïo vaø phaùt trieån caùc chöông trình öùng duïng. Ñoàng thôøi goùp phaàn laøm hoaøn haûo moät chöông trình keá toaùn coù theå ñaùp öùng roäng raõi cho nhieàu doanh nghieäp söû duïng.
Ñeà taøi caàn ñöôïc boå sung nhöõng thieáu soùt, haïn cheá nhö chöa tính toaùn ñöôïc toàn quyõ tieàn maët, toàn kho haøng hoùa vaø giaù voán haøng baùn….Vaø phaùt trieån theo höôùng môû roäng nhö tìm kieám caùc loaïi haøng toàn kho, khaùch haøng coù coâng nôï, tình hình thu chi toàn quyõ tieàn maët, tieàn löông ñeå traû cho coâng nhaân vieân chöùc cuûa doanh nghieäp trong thaùng, quyù hay trong töøng thôøi kyø saûn xuaát kinh doanh.
Cuoái cuøng toâi xin chaân thaønh caùm ôn ñeán thaày Ñoã Vaên Uy ñaõ taïo ñieàu kieän, giuùp ñôõ toâi trong quaù trình nghieân cöùu vaø phaùt trieån ñeà taøi. Maëc duø khoâng ñöôïc tröïc tieáp, haïn cheá veà khoaûng caùch vaø thôøi gian nhöng thaày ñaõ ñoùng goùp nhöõng yù kieán quyù baùo cho toâi hoaøn thaønh ñeà taøi.
Xin chaân thaønh caûm ôn !
NHAÄN XEÙT CUÛA GIAÙO VIEÂN HÖÔÙNG DAÃN
TAØI LIEÄU THAM KHAÛO
Lyù Thuyeá Keá Toaùn
Thaùi Ninh
Keá Toaùn Doanh Nghieäp I – II
Khoa Kinh Teá Tröôøng Ñaïi Hoïc Thuûy Saûn
Keá Toaùn Doanh Nghieäp Vôùi Visual Basic
KS. Ñinh Xuaân Laâm
Hoïc Visual Basic Qua Thöïc Hieän Chöông Trình
Vieän kinh teá Tp. HCM
Trung taâm öùng duïng kinh teá thaønh phoá
Microsoft Visual Basic & Laäp Trình Cô Sôû Döõ Lieäu 6.0
Nguyeãn Thò Ngoïc Mai
Nguyeãn Thò Kim Trang
Hoaøng Ñöùc Haûi
GSTS. Nguyeãn Höõu Anh
MUÏC LUÏC
LÔØI MÔÛ ÑAÀU
PHAÀN I
TIN HOÏC HOÙA QUAÛN LYÙ THOÂNG TIN
TRONG CAÙC DOANH NGHIEÄP
Keá toaùn
Vai troø cuûa keá toaùn
Vai troø tin hoïc trong quaûn lyù
Nhieäm vuï cuûa ñeà taøi
PHAÀN II
PHAÂN TÍCH VAØ THIEÁT KEÁ HEÄ THOÁNG CHO CHÖÔNG TRÌNH
QUAÛN LYÙ KEÁ TOAÙN DOANH NGHIEÄP
Caùc böôùc thöïc hieän cô baûn cuûa keá toaùn doanh nghieäp
Moâ taû yeâu caàu quaûn lyù cuûa chöông trình
Quaù trình phaân tích chöông trình
Döõ lieäu ñaàu vaøo vaø ñaàu ra cuûa chöông trình
Caáu truùc chöông trình
Sô ñoà chöùc naêng
Sô ñoà luoàng döõ lieäu
Sô ñoà quan heä giöõa caùc thöïc theå
PHAÀN III
CÔ SÔÛ DÖÕ LIEÄU CUÛA CHÖÔNG TRÌNH
Cô sôû döõ lieäu
Söû duïng Microsoft Access ñeå taïo cô sôû döõ lieäu
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
Caùc ñoái töôïng truy caäp döõ lieäu
Söû duïng caùc ñoái töôïng truy caäp döõ lieäu trong chöông trình
Caùc giao dieän ngöôøi söû duïng
Söû duïng caùc caâu truy vaán (SQL)
Thieát laäp baùo caùo vaø xuaát thoâng tin
Taïo boä giuùp ñôõ
Ñoùng goùi chöông trình
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
Heä thoáng Folder ñeå löu tröõ chöông trình
Giao dieän chính cuûa chöông trình
Moät soá thuû tuïc duøng ñeå môû keát noái döõ lieäu giöõa Access vôùi Visual Basic
Giao dieän vaø maõ nguoàn cuûa moät soá Form caäp nhaät vaø xuaát thoâng tin
PHAÀN VI
ÑOÙNG GOÙI – ÑAÙNH GIAÙ
VAØ HÖÔÙNG PHAÙT TRIEÅN ÑEÀ TAØI
NHAÄN XEÙT CUÛA GIAÙO VIEÂN HÖÔÙNG DAÃN
TAØI LIEÄU THAM KHAÛO
Các file đính kèm theo tài liệu này:
- BaocaoDTTN.doc