Đồ án Phân tích thiết kế hệ thống thông tin quản lý khách hàng cho tại công ty phần mềm quản lý doanh nghiệp Fast

Vấn đề quản lý khách hàng là vấn đề rất quan trọng đối với mỗi công ty nói chung và công ty phần mềm quản lý doanh nghiệp Fast nói riêng. Trong đợt thực tập tại công ty Fast, em đã lựa chọn đề tài “ Phân tích và thiết kế hệ thống thông tin quản lý khách hàng tại công ty phần mềm quản lý doanh nghiệp Fast” bởi thấy đây là đề tài có giá trị thực tế và khả năng ứng dụng cao. Qua quá trình tìm hiểu thực tế tại công ty, em đã xây dựng hệ thống thông tin và chương trình quản lý khách hàng phù hợp với những yêu cầu quản lý mà thực tế đặt ra. Chương trình cho phép cập nhật, lưu trữ thông tin khách hàng, hợp đồng, cho phép tìm kiếm thông tin khách hàng,hợp đồng và in báo cáo về khách hàng và hợp đồng. Tuy nhiên, do thời gian và trình độ có hạn nên chương trình của em còn nhiều hạn chế. Vì vậy, em mong nhận được sự đóng góp của các thầy cô để chương trình được hoàn thiện hơn. Hướng phát triển của chương trình trong tương lai là tiếp tục hoàn thiện hơn những chức năng đã có, khắc phục những sai sót phát sinh và xây dựng thêm một số chức năng cho phù hợp với yêu cầu quản lý mới của công ty. Cuối cùng, một lần nữa em xin cảm ơn các anh chị trong công ty Fast và cảm ơn thầy giáo hướng dẫn đã tạo điều kiện thuận lợi và nhiệt tình giúp đỡ em hoàn thành đề tài này.

doc99 trang | Chia sẻ: oanh_nt | Lượt xem: 1512 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đồ án Phân tích thiết kế hệ thống thông tin quản lý khách hàng cho tại công ty phần mềm quản lý doanh nghiệp Fast, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
÷ liÖu, c¸c giao diÖn dµnh cho ng­êi sö dông. - VËn hµnh, ch¹y thö vµ b¶o tr× hÖ thèng. - H­íng dÉn, ®µo t¹o ng­êi sö dông trong hÖ thèng míi. 2.8. ThiÕt kÕ hÖ thèng th«ng tin Giai ®o¹n ph©n tÝch hÖ thèng. Trong giai ®o¹n nay chóng ta sö dông c¸c c«ng cô chñ yÕu sau : - S¬ ®å chøc n¨ng nghiÖp vô (Business Function Diagram). - S¬ ®å dßng d÷ liÖu (Data Flow Diagram). - M« h×nh d÷ liÖu ( Data Mode ). - M« h×nh quan hÖ ( Relation Mode). 2.8.1.1. S¬ ®å chøc n¨ng nghiÖp vô (BFD) Môc ®Ých cña BFD : T¨ng c­êng c¸ch tiÕp cËn l« gic tíi viÖc ph©n tÝch hÖ thèng vµ chØ ra miÒn kh¶o cøu hÖ thèng trong toµn bé hÖ thèng tæ chøc. Gióp x¸c ®Þnh ph¹m vi hÖ thèng cÇn ph©n tÝch. Mét BFD ®Çy ®ñ gåm : - Tªn chøc n¨ng. - M« t¶ cã tÝnh chÊt t­êng thuËt. - §Çu vµo cña chøc n¨ng. - §Çu ra cña chøc n¨ng. - C¸c sù kiÖn g©y ra sù thay ®æi. S¬ ®å BFD chØ cho ta biÕt cÇn ph¶i lµm g× chø kh«ng chØ ra lµ ph¶i lµm thÕ nµo, ë ®©y chóng ta kh«ng cÇn ph©n biÖt chøc n¨ng hµnh chÝnh víi chøc n¨ng qu¶n lý. TÊt c¶ c¸c chøc n¨ng ®ã ®Òu quan träng vµ cÇn ®­îc xö lý nh­ nhau nh­ mét phÇn cña cïng mét cÊu tróc. 2.8.1.2. S¬ ®å dßng d÷ liÖu ( DFD ) Môc ®Ých cña DFD lµ trî gióp cho 4 ho¹t ®éng chÝnh cña nhµ ph©n tÝch. - Liªn l¹c: DFD mang tÝnh ®¬n gi¶n, dÔ hiÓu ®èi víi ng­êi ph©n tÝch vµ ng­êi dïng. - Tµi liÖu: §Æc t¶ yªu cÇu h×nh thøc vµ yªu cÇu thiÕt kÕ hÖ thèng lµ nh©n tè lµ ®¬n gi¶n viÖc t¹o vµ chÊp nhËn tµi liÖu. - Ph©n tÝch DFD: §Ó x¸c ®Þnh yªu cÇu cña ng­êi sö dông. - ThiÕt kÕ: Phôc vô cho viÖc lËp kÕ ho¹ch vµ minh häa c¸c ph­¬ng ¸n cho nhµ ph©n tÝch vµ ng­êi dïng xem xÐt khi thiÕt kÕ hÖ thèng míi. Mét sè c¸c ký ph¸p th­êng dïng : H×nh trßn: Bªn trong h×nh trßn cã chøa c¸c tªn tiÕn tr×nh. Tªn cña mét tiÕn tr×nh cã d¹ng: ®éng tõ + bæ ng÷. Tªn tiÕn tr×nh xö lý Mçi tiÕn tr×nh trong DFD ®­îc bao trong mét vßng trßn vµ mçi tiÕn tr×nh ph¶i cã chøc n¨ng biÕn ®æi th«ng tin. NghÜa lµ cã chøc n¨ng biÕn ®æi th«ng tin ®Çu vµo theo mét c¸ch nµo ®ã nh­ tæ chøc l¹i, bæ sung t¹o th«ng tin míi. TiÕp nhËn ®¬n hµng VÝ dô: Tªn cña tiÕn tr×nh trong DFD ph¶i trïng víi tªn cña chøc n¨ng trong BFD t­¬ng øng v× gi÷a hai m« h×nh nµy cã mèi quan hÖ mËt thiÕt víi nhau, chóng kiÓm tra vµ bæ sung lÉn nhau. - Dßng d÷ liÖu : Lµ viÖc chuyÓn th«ng tin vµo hoÆc ra khái mét tiÕn tr×nh. Nã ®­îc chØ ra trªn s¬ ®å b»ng mét ®­êng kÎ cã mòi tªn ë Ýt nhÊt mét ®Çu. Mòi tªn chØ ra h­íng cña dßng th«ng tin. Tªn d÷ liÖu VÝ dô: Hãa ®¬n b¸n hµng - Kho d÷ liÖu: Kho d÷ liÖu ®­îc ký hiÖu: Bªn trong lµ tªn kho Kho d÷ liÖu trong s¬ ®å DFD biÓu diÔn cho th«ng tin cÇn ®­îc l­u tr÷ trong 1 kho¶ng thêi gian. Tõ mét kho d÷ liÖu cã thÓ cã nh÷ng dßng d÷ liÖu ®i ra, ta nãi r»ng ®ã lµ dßng d÷ liÖu th©m nhËp; hoÆc ®i vµo, ®ã lµ dßng d÷ liÖu cËp nhËt kho d÷ liÖu. - Nguån hoÆc ®Ých: Tªn ng­êi/ bé phËn ph¸t/ nhËn tin Nguån hoÆc ®Ých lµ nh÷ng bé phËn, tæ chøc bªn ngoµi lÜnh vùc ®ang nghiªn cøu nh­ng cã quan hÖ nhÊt ®Þnh víi hÖ thèng. C¸c t¸c nh©n ngoµi nµy cã thÓ lµ n¬i nhËn tin, s¶n phÈm cña hÖ thèng nh­ng còng cã thÓ lµ n¬i cung cÊp th«ng tin cho hÖ thèng. 2.8.1.3. M« h×nh d÷ liÖu Ph©n tÝch d÷ liÖu lµ mét ph­¬ng ph¸p x¸c ®Þnh c¸c ®¬n vÞ th«ng tin c¬ së cã Ých cho hÖ thèng (c¸c thùc thÓ), vµ x¸c ®Þnh râ mèi quan hÖ bªn trong hoÆc tham trá chÐo nhau gi÷a chóng. §iÒu nµy cã ý nghÜa lµ mäi phÇn d÷ liÖu sÏ chØ ®­îc l­u tr÷ mét lÇn trong toµn bé hÖ thèng cña tæ chøc vµ cã thÓ truy cËp tõ bÊt kú ch­¬ng tr×nh nµo bëi nhiÒu ng­êi sö dông kh¸c nhau. Môc ®Ých cña viÖc x©y dùng m« h×nh d÷ liÖu : - KiÓm tra chÆt chÏ c¸c yªu cÇu cña ng­êi dïng. - Cung cÊp c¸i nh×n l« gic vÒ th«ng tin cÇn cho hÖ thèng. C¸c thµnh phÇn cña m« h×nh d÷ liÖu bao gåm : - Thuéc tÝnh : lµ ®Æc tr­ng cña thùc thÓ. Thuéc tÝnh liªn quan ®Õn c¸c kiÓu thùc thÓ, cßn gi¸ trÞ thuéc tÝnh riªng biÖt th× thuéc vÒ riªng tõng thùc thÓ. Cã 3 lo¹i thuéc tÝnh nh­ : + Thuéc tÝnh ®Þnh danh ( thuéc tÝnh kho¸): lµ mét hay nhiÒu thuéc tÝnh cho phÐp x¸c ®Þnh duy nhÊt mét thùc thÓ. + Thuéc tÝnh m« t¶: hÇu hÕt c¸c thuéc tÝnh trong mét kiÓu thùc thÓ ®Òu lµ thuéc tÝnh m« t¶. Mçi thuéc tÝnh chØ xuÊt hiÖn trong mét b¶ng VÝ dô: Víi thùc thÓ DmHang ( Mahang, Tenhang, Dvtinh, Dongia ) th×: * Thuéc tÝnh Mahang lµ kho¸. * Thuéc tÝnh Tenhang, Dvtinh, Dongia lµ thuéc tÝnh m« t¶. + Thuéc tÝnh kÕt nèi : lµ thuéc tÝnh ®­îc dïng ®Ó chØ ra mèi quan hÖ gi÷a mét thùc thÓ nµy víi mét thùc thÓ kh¸c. Thùc thÓ : ®­îc hiÓu lµ tËp hîp c¸c ®èi t­îng cïng lo¹i d­íi gãc ®é quan t©m cña nhµ qu¶n lý. Cã hai lo¹i thùc thÓ: - Thùc thÓ tµi nguyªn: ChØ m« t¶ mµ kh«ng giao dÞch. VD: DmHang ( Mahang, Tenhang, Dvtinh, Dongia ) - B¶ng giao dÞch (Nhãm thùc thÓ giao dÞch): ThÓ hiÖn c¸c giao dÞch. VÝ dô: HoaDonBanHang(SoHD,MaKhachHang,DienGiai,NgayHD,NguoiBan) - KiÓu thùc thÓ: lµ mét nhãm tù nhiªn mét sè thùc thÓ l¹i, m« t¶ mét lo¹i th«ng tin chø kh«ng ph¶i b¶n th©n th«ng tin. - C¸c kiÓu liªn kÕt : 1@1 Liªn kÕt Mét - Mét Mét lÇn xuÊt hiÖn cña thùc thÓ A ®­îc liªn kÕt víi chØ mét lÇn xuÊt hiÖn cña thùc thÓ B vµ ng­îc l¹i. 1@N Liªn kÕt Mét - NhiÒu Lo¹i liªn kÕt nµy phæ biÕn trong thùc tÕ, mét lÇn xuÊt hiÖn cña thùc thÓ A liªn kÕt víi mét hay nhiÒu lÇn xuÊt hiÖn cña thùc thÓ B, nh­ng mçi lÇn xuÊt hiÖn cña B chØ liªn kÕt víi mét lÇn xuÊt hiÖn cña A. VÝ dô nh­ quan hÖ gi÷a kh¸ch hµng vµ hãa ®¬n b¸n hµng, mét kh¸ch hµng cã thÓ cã nhiÒu hãa ®¬n b¸n hµng, cßn mét hãa ®¬n b¸n hµng chØ thuéc vÒ mét kh¸ch hµng nµo ®ã. N@M Liªn kÕt NhiÒu - NhiÒu Mçi lÇn xuÊt cña A t­¬ng øng víi mét hay nhiÒu lÇn xuÊt cña B vµ ng­îc l¹i, nhiÒu mçi lÇn xuÊt cña B t­¬ng øng víi mét hay nhiÒu lÇn xuÊt cña B. C¸c giai ®o¹n trong qu¸ tr×nh x©y dùng m« h×nh d÷ liÖu : * X¸c ®Þnh c¸c thuéc tÝnh : Dùa trªn 3 nguån : - Tri thøc cña b¶n th©n vÒ c«ng viÖc ®ang nghiªn cøu. - Nh÷ng ng­êi sö dông hÖ thèng hiÖn t¹i. - Xem xÐt c¸c tµi liÖu sö dông th­êng xuyªn trong lÜnh vùc nghiªn cøu. * X¸c ®Þnh kiÓu thùc thÓ: §Ó cã ®­îc kiÓu thùc thÓ ng­êi ph©n tÝchph¶i chuÈn ho¸ nh»m môc ®Ých : - Tèi thiÓu viÖc lÆp l¹i. - Tr¸nh d­ thõa th«ng tin. * X¸c ®Þnh c¸c quan hÖ: ThiÕt lËp mèi liªn hÖ tù nhiªn gi÷a c¸c thùc thÓ vµ liªn kÕt nµy ph¶i ë d¹ng quan hÖ mét - nhiÒu. Qu¸ tr×nh chuÈn ho¸ m« h×nh d÷ liÖu. - Kh¸i niÖm chuÈn ho¸: ChuÈn ho¸ lµ viÖc chuyÓn ®æi tËp hîp cña ng­êi sö dông vµ d÷ liÖu ®­îc l­u tr÷ sang cÊu tróc d÷ liÖu nhá h¬n ®¬n gi¶n vµ æn ®Þnh h¬n. CÊu tróc d÷ liÖu ®­îc chuÈn ho¸ còng thuËn lîi h¬n trong viÖc b¶o qu¶n. - C¸c qui t¾c chuÈn ho¸: ChuÈn ho¸ møc 1 (1.NF): ChuÈn ho¸ møc mét quy ®Þnh r»ng, trong mçi danh s¸ch kh«ng ®­îc chøa c¸c thuéc tÝnh lÆp. NÕu cã c¸c thuéc tÝnh lÆp th× ph¶i t¸ch c¸c thuéc tÝnh ®ã thµnh c¸c danh s¸ch con, cã ý nghÜa d­íi gãc ®é qu¶n lý. ChuÈn ho¸ møc 2 (2.NF): ChuÈn ho¸ møc hai quy ®Þnh r»ng, trong mét danh s¸ch mçi thuéc tÝnh ph¶i phô thuéc hµm hoµn toµn vµo toµn bé kho¸ chøc kh«ng chØ phô thuéc vµo mét phÇn cña kho¸. NÕu cã sù phô thuéc nh­ vËy th× ph¶i t¸ch nh÷ng nh÷ng thuéc tÝnh phô thuéc hµm vµo bé phËn cña kho¸ thµnh mét danh s¸ch con míi. ChuÈn ho¸ møc 3 (3.NF): ChuÈn ho¸ møc 3 quy ®Þnh r»ng, trong mét danh s¸ch kh«ng ®­îc phÐp cã sù phô thuéc b¾c cÇu gi÷a c¸c thuéc tÝnh. NÕu thuéc tÝnh nµy phô thuéc hµm vµo thuéc tÝnh kia th× ph¶i t¸ch chóng ta thµnh c¸c thuéc tÝnh kh¸c nhau cã quan hÖ víi nhau. 2.8.1.4 M« h×nh quan hÖ. M« h×nh quan hÖ lµ danh s¸ch tÊt c¶ c¸c thuéc tÝnh thÝch hîp cho tõng thùc thÓcña mçi m« h×nh d÷ liÖu. Môc ®Ých x©y dùng m« h×nh quan hÖ : Nh»m kiÓm tra, c¶i tiÕn, më réng vµ tèi ­u ho¸ m« h×nh d÷ liÖu ®· x©y dùng. C¸c b­íc x©y dùng m« h×nh quan hÖ : - X¸c ®Þnh tÊt c¶ c¸c thuéc tÝnh cÇn dïng tíi trong hÖ thèng ®Þnh x©y dùng. - X¸c ®Þnh kiÓu thùc thÓ ®Ó ®Æt tõng thuéc tÝnh nh»m gi¶m thiÓu viÖc sao chÐp vµ tr¸nh d­ thõa. Víi c¸c thuéc tÝnh, kiÓu thùc thÓ vµ quan hÖ ®· biÕt cã thÓ x©y dùng mét s¬ ®å trùc gi¸c m« h×nh quan hÖ. Khi ®ã ta cã thÓ so s¸nh c¸c m« h×nh vµ trÝch ra ®­îc tõ viÖc so s¸nh ®ã mét m« h×nh duy nhÊt cã chøa ®Æc tr­ng tèt nhÊt cña c¶ hai. Ph©n tÝch chi tiÕt hÖ thèng th«ng tin. Mét hÖ thèng bao gåm nhiÒu phÇn tö kh¸c nhau nh­ng cã mèi quan hÖ chÆt chÏ víi nhau. ViÖc thay ®æi cña phÇn tö nµy sÏ kÐo theo sù thay ®æi cña c¸c phÇn tö kh¸c dÉn tíi sù thay ®æi cña c¶ hÖ thèng. Ch¼ng h¹n, ®èi víi hÖ thèng th«ng tin viÖc thay ®æi vÒ phÇn cøng kÐo theo nh÷ng thay ®æi vÒ ch­¬ng tr×nh còng nh­ viÖc ®­a vµo nh÷ng nguyªn t¾c qu¶n lÝ míi, yªu cÇu ph¶i hiÖn ®¹i ho¸ l¹i toµn bé øng dông. ChÝnh v× lÝ do ®ã, khi tiÕn hµnh ph©n tÝch thiÕt kÕ hÖ thèng, c¸c nhµ ph©n tÝch vµ thiÕt kÕ hÖ thèng th­êng ®­a ra ph­¬ng thøc tiÕp cËn hÖ thèng theo tõng møc. §ã còng chÝnh lµ néi dung cña ph­¬ng ph¸p ph©n tÝch, thiÕt kÕ hÖ thèng MERISE. Theo ph­¬ng ph¸p nµy, viÖc tiÕp cËn hÖ thèng theo tõng møc sÏ ph©n tÝch hÖ thèng ra 3 yÕu tè: - Xö lÝ (Treatment). - D÷ liÖu (Data). - TruyÒn tin (Communication). Vµ 4 møc tiÕp cËn: - Kh¸i niÖm (Conceptural): ë møc nµy,ho¹t ®éng cña tæ chøc sÏ ®­îc m« t¶ theo mét cÊu tróc kh¸i qu¸t nhÊt, c¸c chøc n¨ng cña hÖ thèng ®­îc m« t¶ ®éc lËp víi c¸c bé phËn (Ai?), vÞ trÝ (ë ®©u?), còng nh­ thêi ®iÓm (bao giê?). Møc nµy t­¬ng ®­¬ng víi viÖc x¸c ®Þnh môc ®Ých nh»m tr¶ lêi c©u hái: V× sao hÖ thèng ®ã tån t¹i? Vµ nã lµ c¸i g×? §©y lµ møc thÓ hiÖn tÝnh æn ®Þnh cña m« h×nh quan niÖm vµ môc tiªu rµng buéc cña hÖ thèng . - Tæ chøc (Organization): møc nµy thÓ hiÖn c¸c môc tiªu ®· ®­îc kh¸i niÖm ho¸ ë møc kh¸i niÖm lªn møc thùc tÕ tæ chøc, trong ®ã cã tÝnh ®Õn rµng buéc vÒ mÆt tæ chøc. Møc tæ chøc nh»m tr¶ lêi cho c©u hái: Ai? Bao giê? ë ®©u? Sau ®ã ®­a ra sù s¾p xÕp vÞ trÝ lµm viÖc cho c¸c ®èi t­îng trong hÖ thèng, cè g¾ng t×m ra c¸ch tæ chøc tèt nhÊt. - L« gÝc (Logic): møc nµy ®Ò cËp tíi nh÷ng c«ng cô tin häc mµ ng­êi sö dông sÏ dïng trong xö lÝ nh­: C¸c hÖ qu¶n trÞ c¬ së d÷ liÖu (FOXPRO, ACCESS, ORACLE, EXCEL, b¶ng tÝnh ®iÖn tö... ) - VËt lÝ (Physical): §Ò cËp tíi c¸c trang thiÕt bÞ tin häc cô thÓ ®­îc sö dông trong hÖ thèng. ViÖc ph©n tÝch vµ thiÕt kÕ hÖ thèng ®­îc tiÕn hµnh qua c¸c b­íc sau: - Nghiªn cøu thùc tÕ. - X©y dùng c¸c m« h×nh xö lý quan niÖm d÷ liÖu, m« h×nh tæ chøc xö lý. - X©y dùng m« h×nh d÷ liÖu l«gic. - X©y dùng m« h×nh vËt lý d÷ liÖu vµ m« h×nh t¸c nghiÖp vËt lý. - Hîp thøc ho¸. 2.10. Nội dung của bài toán quản lý khách hàng. 2.10.1. Các yêu cầu của bài toán quản lý khách hàng Hệ thống quản lý khách hàng cần đạt được một số yêu cầu sau: Lưu trữ và cập nhật các thông tin về khách hàng Lưu trữ và cập nhật các thông tin về hợp đồng Cho phép tìm kiếm thông tin về khách hàng theo một trong các tiêu chí nào đó về khách hàng như: mã khách, tên khách, địa chỉ… Cho phép tìm kiếm thông tin về hợp đồng theo một trong các tiêu chí nào đoa về hợp đồng như: tên khách, người liên hệ, ngày kí kết, giá trị hợp đồng, loại hợp đồng… In báo cáo danh sách khách hàng theo từng khu vực địa chỉ In báo cáo danh sách hợp đồng theo loại hợp đồng, thời gian kí kết, giá trị hợp đồng… 2.10.2. Các thông tin đầu vào và đầu ra của hệ thống thông tin quản lý khách hàng. Các dữ liệu vào Thông tin về khách hàng của công ty Thông tin về hợp đồng Thông tin về danh sách nhân viên Thông tin về các loại thuế, tỉ giá các đồng tiền Các dữ liệu ra Báo cáo tình hình khách hàng Báo cáo về tình hình kí kết, thực hiện hợp đồng. 2.10.3. Giải pháp phần mềm. Cùng với sự phát triển mạnh mẽ của ngành công nghệ thông tin thì các ngôn ngữ xây dựng chương trình phầm mềm cũng phát triển không ngừng. Hiện nay, có rất nhiều ngôn ngữ xây dựng chương trình phần mềm quản lý cũng như các chương trình phần mềm khác với nhiều hệ quản trị cơ sở dữ liệu như Access, Oracle, SQL Server….Mỗi một ngôn ngữ đều có những ưu nhược điểm riêng. Việc lựa chọn ngôn ngữ nào cho phù hợp và tối ưu nhất là phụ thuộc vào mục đích, yêu cầu của bài toán đặt ra. Dựa trên các yêu cầu của bài toán và quá trình phân tích, thiết kế chương trình sẽ tìm ra một giải pháp phần mềm tối ưu tức là phải đảm bảo thông tin chính xác, dễ sử dụng, giao diện đẹp, thân thiện với người sử dụng. Trên cơ sở phân tích bài toán,tìm hiểu ngôn ngữ em quyết định lựa chọn ngôn ngữ Visual Basic.Net để xây dựng chương trình. Hệ quản trị cơ sở dữ liệu được dùng là SQL Server 2000. Visual Basic.NET (VB.NET) là ngôn ngữ lập trình khuynh hướng đối tượng (Object Oriented Programming Language) do Microsoft thiết kế lại từ con số không. Visual Basic.NET (VB.NET) không kế thừa VB6 hay bổ sung, phát triển từ VB6 mà là một ngôn ngữ lập trình hoàn toàn mới trên nền Microsoft 's .NET Framework. Do đó, nó cũng không phải là VB phiên bản 7. Thật sự, đây là ngôn ngữ lập trình mới và rất lợi hại, không những lập nền tảng vững chắc theo kiểu mẫu đối tượng như các ngôn ngữ lập trình hùng mạnh khác đã vang danh C++, Java mà còn dễ học, dễ phát triển và còn tạo mọi cơ hội hoàn hảo để giúp ta giải đáp những vấn đề khúc mắc khi lập trình. Hơn nữa, dù không khó khăn gì khi cần tham khảo, học hỏi hay đào sâu những gì xảy ra bên trong ... hậu trường OS, Visual Basic.NET (VB.NET) giúp ta đối phó với các phức tạp khi lập trình trên nền Windows và do đó, ta chỉ tập trung công sức vào các vấn đề liên quan đến dự án, công việc hay doanh nghiệp mà thôi. Nếu ta để ý tên của Visual Basic.NET (VB.NET), ta thấy ngay ngôn ngữ lập trình này chuyên trị tạo ứng dụng (application) dùng trong mạng, liên mạng hay trong Internet.SQL Server 2000 là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS. SQL Server 2000 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user. SQL Server 2000 có thể kết hợp "ăn ý" với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server.... Cơ sở dữ liệu SQL Server là cơ sở dữ liệu thuần tuý không có các bộ phát triển ứng dụng như thiết kể form, báo cáo ( report) như các cơ sở dữ liệu có chức năng này. Chẳng hạn Oracle cũng là cơ sở dữ liệu thuần tuý nhưng SQL Server không bằng Oracle vì không có bộ phát triển ( developer), thay vào đó bạn có thể sử dụng các platform khác như Visual Basic, Visual C, Java, VB. NET, C#. NET để tương tác. Điều này có nghĩa là khác với cơ sở dữ liệu MS Access chẳng hạn. Nếu ta muốn thiết kế form nhập liệu hay giao tiếp với người sử dụng, báo cáo, …ta sử dụng các ngôn ngữ lập trình khác như VB, Visual C, VB. NET. SQL Server chỉ có các đối tượng như Tables ( bảng dữ liệu), Views ( bảng ảo, tương tự như khai báo Query trong Microsoft Access), Diagram ( sơ đồ quan hệ), Stored Procedures ( thủ tục), Users ( người dùng cơ sở dữ liệu), Rules: các quy tắc do người dùng định nghĩa, Roles: các vai trò áp dụng cho người dùng trên cơ sở dữ liệu, Default: khai báo các giá trị mặc định, Functions: cho phép người dùng khai báo hàm người dùng. Cơ sở dữ liệu SQL Server là cơ sở dữ liệu đa người dùng chạy trên hệ điều hành Windows. Điều này có nghĩa là bạn cài đặt cơ sở dữ liệu SQL Server trên hệ điều hành đa người dùng Windows NT, Windows 2000, Windows Server 2003. Chương 3. Phân tích và thiết kế hệ thống thông tin quản lý khách hàng tại công ty phần mềm quản lý doanh nghiệp Fast 3.1. Khảo sát hiện trạng 3.1.1. Cơ cấu hệ thống thông tin quản lý khách hàng tại công ty phần mềm quản lý doanh nghiệp Fast. Các bộ phận liên quan đến việc quản lý khách hàng bao gồm: Phòng kinh doanh có nhiệm vụ tìm kiếm khách hàng, chăm sóc khách hàng và kí kết hợp đồng, quản lý hợp đồng. Phòng tư vấn thiết kế có nhiệm vụ xác định yêu cầu của khách hàng, khảo sát bài toán, xác định khối lượng công việc để xác định giá bán, nhân sự thực hiện và thời gian thực hiện. Phòng triển khai có nhiệm vụ khảo sát thêm yêu cầu của khách hàng, tư vấn về xây dựng hệ thống thông tin.Phối hợp với phòng lập trình để sửa đổi, test và tiếp nhận chương trình sửa đổi theo yêu cầu đặc thù.Cài đặt và đào tạo.Hỗ trợ sử dụng trong thời gian đầu.Hỗ trợ sử dụng và bảo hành chương trình khi cần thiết. Phòng lập trình có nhiệm vụ tham gia vào xây dựng phương án thiết kế sơ bộ giải quyết bài toán của khách hàng trong giai đoạn khảo sát -bán hàng.Hỗ trợ phòng triển khai thực hiện hợp đồng trong việc lập trình sửa đổi theo yêu cầu đặc thù.Bảo hành chương trình sửa đổi. Phòng hỗ trợ và bảo hành có nhiệm vụ hỗ trợ khách hàng sử dụng chương trình, bảo hành sản phẩm. Phòng nghiệp vụ có nhiệm vụ đào tạo nghiệp vụ, đào tạo sử dụng phần mềm cho nhân viên công ty khách hàng. Phòng kế toán có nhiệm vụ theo dõi tình hình làm ăn, chi phí, doanh thu của công ty… Quy trình quản lý khách hàng tại công ty Fast. Phòng kinh doanh có nhiệm vụ tìm kiếm các khách hàng tiềm năng, thực hiện chăm sóc khách hàng. Khi khách hàng có nhu cầu đặt mua sản phẩm tại công ty thì phải gặp phòng kinh doanh. Các yêu cầu về phần mềm được khách hàng nêu ra với nhân viên kinh doanh. Hai bên khách hàng và nhân viên kinh doanh sẽ kí kết hợp đồng. Tất cả các yêu cầu về phần mềm mà khách hàng muốn đặt mua sẽ được viết cụ thể vào hợp đồng. Phòng tư vấn thiết kế sẽ tham gia vào việc xác định thêm yêu cầu của khách hàng, đề ra phương án sơ bộ giải quyết bài toán. Các yêu cầu này được chuyển tới phòng lập trình để phòng lập trình sẽ xây dựng chương trình theo yêu cầu của khách hàng. Sau đó chương trình được chuyển tới phòng triển khai hợp đồng. Phòng triển khai thực hiển cài đặt và hướng dẫn sử dụng chương trình. Công việc tiếp thep thuộc về phòng hỗ trợ và bảo hành.Phòng này sẽ hỗ trợ khách hàng sử dụng chương trình và bảo hành sản phẩm khi có sự cố trục trặc. Phòng kế toán theo dõi các thông tin hợp đồng để lên báo cáo về tình hình thu chi cuả công ty. 3.2. Phân tích hệ thống thông tin quản lý khách hàng. 3.2.1. Mô hình phân cấp chức năng(BFD) Quản lý khách hàng Quản lý hồ sơ khách hàng Quản lý hợp đồng Thống kế, báo cáo Cập nhật thông tin khách hàng Phân loại khách hàng Theo dõi thông tin khách hàng Theo dõi nhu cầu sản phẩm PM Cập nhật thông tin hợp đồng Lập phiếu theo dõi đề nghị triển khai Lập phiếu theo dõi thông tin hợp đồng Tìm kiếm dữ liệu Tổng hợp tính toán Lên báo cáo 3.2.2. Sơ đồ luồng dữ liệu(DFD) Sơ đồ ngữ cảnh(Context Diagram) Khách hàng Khách hàng Quản lý khách hàng Ban lãnh đạo Khách hàng Phòng triển khai Phòng kế toán Thông tin khách hàng Thông tin về giá trị, thanh toán HĐ Thông tin về yêu cầu cài đặt, đào tạo Hợp đồng cung cấp phần mềm Phiếu đề nghị triển khai Báo cáo Nhu cầu phần mềm Phiếu theo dõi thông tin hợp đồng - Sơ đồ luồng dữ liệu mức 0. 1.0.Quản lý hồ sơ KH 2.0.Quản lý HĐ Khách hàng 2.0.Quản lý HĐ 3.0.Thống kê, báo cáo Thông tin khách hàng Nhu cầu phần mềm Khách hàng Hợp đồng cung cấp phần mềm Thông tin về yêu cầu cài đặt, đào tạo 2.0.Quản lý HĐ Hồ sơ KH HĐ cung cấp PM Phòng triển khai Phòng kế toán Phiếu theo dõi thông tin hợp đồng Phiếu đề nghị triển khai Thông tin về giá trị,thanh toán HĐ Ban giám đốc BC Sơ đồ phân rã mức 1 của 1.0 Khách hàng 1.1. Thu thập thông tin về KH 1.2.Phân loại KH 1.3. Cập nhật thông tin KH 1.4. Cập nhật nhu cầu SPPM HS KH TT về KH Nhu cầu PM TT sau khi phân loại TT về KH Khách hàng Sơ đồ phân rã mức 1 của 2.0 Khách hàng 2.1 Cập nhật danh mục hợp đồng HĐ CC PM 2.2. Lập phiếu TT HĐ Phòng triển khai 2.3. Lập phiếu theo dõi đề nghị triển khai Phòng kế toán HĐ cung cấp PM TT yêu cầu cài đặt Phiếu đề nghị triển khai TT giá trị thanh toán HĐ Phiếu theo dõi TT HĐ - Sơ đồ phân rã mức 1 của 3.0 HS KH 3.1. Truy xuất DL 3.2. Tính toán tổng hợp 3.3. Lên BC HĐ Cung cấp PM Ban LĐ DL đã tính toán DL về n/vụ qlý KH BC 3.2.3. Sơ đồ luồng thông tin(IFD) Khách hàng Phòng kinh doanh Phòng triển khai Phòng kế toán Trưởng ph kd GĐ điều hành Thông tin về KH Quản lý hồ sơ KH Hố sơ KH HĐ cung cấp PM Quản lý hợp đồng Hồ sơ HĐ Yc cài đặt đào tạo Tổng hợp giá trị HĐ Yc cài đặt đào tạo Thông tin về KH Thông tin về KH Thông tin về KH Thông tin về KH Thông tin giá trị HĐ Thống kế, báo cáo Phiếu đềnghị triển khai Báo cáo tình hình KH Báo cáo kqkd Bc tình hình kí kết HĐ 3.3. Thiết kế chương trình 3.3.1. Thiết kế cơ sở dữ liệu bằng phương pháp mô hình hóa. 3.3.1.1. Các thực thể. - Thực thể(Entity). Thực thể trong mô hình logic dữ liệu được dùng để biểu diễn những đối tượng cụ thể hoặc trìu tượng trong thế giới thực mà ta muốn lưu trữ thông tin về chúng. Khái niệm thực thể cho một sự liên tưởng đến một tập hợp các đối tượng có cùng đặc trưng chứ không phải một đối tượng riêng biệt. Mỗi thực thể được biểu diễn bởi một hình chữ nhật có ghi tên thực thể bên trong và đặt các thuộc tính bên cạnh thực thể. Hệ thống quản lý khách hàng gồm các thực thể sau: Hợp đồng Khách hàng #Mã KH #Tên khách Tên KH Ngày kí Tên TM Giá trị HĐ Đối tác Loại ngoại tệ Địa chỉ Ngày kí Điện thoại Nhân viên KD Fax Nhân viên TK Email Loại HĐ Ghi chú Người liên hệ Nhân viên #Mã NV Loại thuế Tên NV Thanh toán Vị trí 3.3.1.2. Mô hình quan hệ thực thể ERD. #Mã KH Khách hàng Người liên hệ Đại diện Hợp đồng Nhân viên KD Nhân viên TK Kí kết Với Thực hiện Có 1 N N 1 1 N N 1 1 1 Tên KH Địa chỉ #Mã NLH Tên NLH Địa chỉ #Mã HĐ Tên KH Mã NLH Mã NVKD Mã NVTK #Mã NVKD Tên NV #Mã NVTK Tên NVTK 3.3.1.3. Sơ đồ cấu trúc dữ liệu DSD. Sau khi có được sơ đồ quan hệ thực thể ERD ta sẽ chuyển nó thành tập hợp các tệp và vẽ thành sơ đồ cấu trúc dữ liệu DSD. Việc chuyển đổi này tuân theo một số quy tắc sau: A. Chuyển đổi các quan hệ một chiều. Chuyển đổi quan hệ 1@1. Trong trường hợp này ta chỉ tạo 1 tệp chung duy nhất để biểu diễn thực thể đó. Khoá của tệp là định danh của thực thể. Các quan hệ tồn tại giữa các lần xuất được thể hiện bởi việc dùng lại thuộc tính khoá. Các quan hệ loại 1@N Từ một quan hệ kiểu 1@N ta tạo ra một tệp thể hiện kiểu thực thể đó. Khoá của bảng là thuộc tính định danh của thực thể đó. Quan hệ sẽ được thể hiện bằng cách nhắc lại khoá như là một thuộc tính không khoá. Các quan hệ loại N@M Một quan hệ một chiều loại N@M được chuyển thành hai tệp: một tệp thể hiện thực thể và một tệp thể hiện quan hệ. Khoá của tệp quan hệ được cấu thành từ hai định danh của hai thực thể. B. Chuyển đổi quan hệ hai chiều. Quan hệ hai chiều 1@1 Cần tạo ra hai tệp ứng với hai thực thể. Tuỳ theo sự lựa chọn của phân tích viên mà thuộc tính định danh của thực thể này là thuộc tính phi khoá của thực thể kia.Trong trường hợp sự tham gia của thực thể vào quan hệ là tuỳ chọn thì tốt nhất là đặt khoá vào thực thể bắt buộc trong quan hệ để tránh thuộc tính nhận giá trị rỗng. Quan hệ hai chiều loại 1@N Trong trường hợp này tạo ra hai tệp, mỗi tệp ứng với một thực thể. Khoá của tệp ứng với thực thể có số mức quan hệ 1 được dùng như khoá quan hệ trong tệp ứng với thực thể có số mức N. Khoá quan hệ có thể nhận giá trị rỗng nếu thực thể có số mức N là tuỳ chọn trong quan hệ. Quan hệ hai chiều loại N@M Trong trường hợp này phải tạo ra 3 tệp: hai tệp mô tả hai thực thể và một tệp mô tả quan hệ. Khoá của tệp mô tả quan hệ được tạo thành bởi việc ghép khoá của các thực thể tham gia vào quan hệ. C. Chuyển đổi thực thể khái quát. Trong trường hợp có sự phân cấp thực thể, ta tạo ra một tệp cho thực thể khái quát và mỗi thực thể con một tệp. Trong tệp khái quát ta thêm thuộc tính “loại” để tìm đến thực thể con. p dụng các nguyên tắc đó ta có sơ đồ cấu trúc dữ liệu sau: BẢNG NGƯỜI LIÊN HỆ BẢNG KHÁCH HÀNG BẢNG HĐ BẢNG NHÂN VIÊN #MãNLH TênNLH Địa chỉ ĐT Fax Email #Mã KH #MãHĐ TênKH #Đối tác Địa chỉ … #MãHĐ #MãNLH #MãNV Giá Trị HĐ Ngày kí … #Mã NV Tên NV Vị trí 3.3.1.4. Thiết kế CSDL trong SQL Server 2000. Cơ sở dữ liệu trong SQL Server 2000 bao gồm các bảng sau: Khách hàng, Người liên hệ, Nhân viên, Hợp đồng, Thanh toán hợp đồng, Loại hợp đồng, Thuế. BẢNG NHÂN VIÊN Field Name Data Type Field Size TT Int 5 Mã NV String 5 Tên NV String 25 Vị trí String 50 BẢNG THUẾ Field Name Data Type Field Size Mã thuế String 5 Tên thuế String 50 Tỉ suất Int 2 BẢNG KHÁCH HÀNG ield Name Data Type Field Size Mã khách String 5 Mã HĐ Int 5 Tên khách String 50 Tên TM String 50 Địa chỉ String 50 Đối tác String 25 SĐT Int 10 Fax Int 10 Email String 50 Ghi chú String 100 BẢNG NGƯỜI LIÊN HỆ Field Name Data Type Field Size TT Int 10 Mã NLH String 5 Mã khách String 50 Tên NLH String 25 Địa chỉ String 50 SĐT Int 10 Fax Int 10 Email String 50 Ghi chú String 100 BẢNG LOẠI HĐ Field Name Data Type Field Size TT Int 10 Mã loại HĐ String 5 Ghi chú String 100 BẢNG THANH TOÁN HĐ Field Name Data Type Field Size TT Int 10 Mã HĐ String 5 Giá trị Int 10 Tiền thuế Int 10 Tổng tiền Int 10 Thanh toán Int 10 BẢNG HĐ Field Name Data Type Field Size TT Int 10 Mã HĐ Int 5 Ngày kí Date time 50 Loại ngoại tệ String 10 Mã NVKD String 5 Mã NVTK String 5 SĐT Int 10 Ngày bắt đầu Date time 50 Ngày kết thúc Date time 50 Mã loại HĐ String 5 Mã NLH String 5 3.3.2. Thiết kế giao diện xử lý. Thiết kế giao diện xử lý là thiết kế cách trình bày thông tin của hệ thống thông tin khi người dùng sử dụng để nhập dữ liệu vào hay đưa dữ liệu ra. Thiết kế vào. Mục đích của thiết kế vào là thiết kế các thủ tục nhập dữ liệu sao cho giảm thiểu được các sai sót và có hiệu quả cao nhất. Một số nguyên tắc khi thiết kế màn hình nhập liệu: Khi nhập dữ liệu từ tài liệu gốc, khuôn dạng màn hình phải giống như tài liệu gốc. Không nhập các thông tin thứ sinh tức là các thông tin mà hệ thống thông tin có thể tìm được từ cơ sở dữ liệu hoặc tính toán được . Nên nhóm các trường trên màn hình theo một trật tự có ý nghĩa, chẳnh hạn theo trật tự tự nhiên, theo tần số sử dụng, theo tầm quan trọng hoặc theo chức năng. Đặt tên trường ở trên hoặc trước trường nhập Đặt các giá trị ngầm định cho phù hợp Dùng phím Tab để chuyển trường nhập Dựa trên các nguyên tắc trên ta thiết kế màn hình nhập liệu cho chương trình. Chương trình gồm có các form nhập sau: cập nhật danh sách khách hàng, cập nhật danh mục hợp đồng, cập nhật danh sách người liên hệ, cập nhật nhân viên, cập nhật ngoại tệ, cập nhật thuế. Trên mỗi form nhập liệu đều chứa các Textbox giúp người sử dụng có thể nhập các thông tin theo các tên trường ở bên phải.Việc nhập dữ liệu được tiến hành dễ dàng, nhanh chóng và ít nhầm lẫn vì có hướng dẫn tên trường cụ thể và có thể dùng phím Tab để chuyển trường nhập. Trên mỗi form nhập liệu cũng đều chứa các nút chức năng: Nót Thªm: Nút này có chức năng thêm một đối tượng mới vào bảng trong cơ sở dữ liệu. Khi người dùng nhập các thông tin của đối tượng này vào trong các ô nhập liệu rồi bấm nút thêm thì đối tượng này sẽ được thêm vào cơ sở dữ liệu. Nút Huỷ bỏ: Có chức năng huỷ bỏ các thông tin có trong các ô nhập liệu để cho ta có thể nhập các thông tin của đối tượng khác. Nút Cập nhật(sửa): Nút này có chức năng cập nhật các thông tin thay đổi của đối tượng đã nhập vào từ trước. Nút Xóa: Có chức năng xoá các tất cả các thông tin của một đối tượng nào đó có trong bảng từ trước. Nút Thoát: Cho phép thoát khỏi màn hình nhập liệu. Thiết kế ra. Một số nguyên tắc cơ bản cho việc trình bày thông tin ra màn hình: Chỉ dẫn rõ cách thoát khỏi màn hình. Đặt giữa các tiêu đề và xếp đặt thông tin theo các mục trung tâm. Đặt các thông tin gắn liền với một nhiệm vụ trên cùng một màn hình. Người sử dụng không phải nhớ thông tin từ màn hình này sang màn hình khác. Nếu đầu ra gồm nhiều trang màn hình thì mỗi trang phải được đánh số thứ tự rõ ràng. Việc này giúp người dùng biết mình đang ở đâu. Văn bản phải được viết theo đúng quy ước chung về chính tả, ngữ pháp, sử dụng chữ in hoa, in thường và ngắt câu ngắt dòng hợp lý. Mỗi cột phải được đặt tên đầu cột. Các phần tử của danh sách được tổ chức theo trật tự quen thuộc trong quản lý. Cân trái các cột văn bản và căn phải các cột số, đảm bảo vị trí dấu thập phân thẳng hàng. Chỉ đặt màu cho những thông tin quan trọng. Dựa trên các nguyên tắc này mà ta thiết kế các báo cáo là các thông tin ra tiêu biểu như: Báo cáo về danh sách khách hàng theo từng khu vực Báo cáo về tình hình kí kết hợp đồng theo loại hợp đồng. Báo cáo về tình hình kí kết hợp đồng theo giá trị hợp đồng Báo cáo tình hình kí kết hợp đồng theo khoảng thời gian kí kết … Các báo cáo này đều tuân thủ theo đúng các quy tắc thiết kế thông tin ra màn hình như đã nêu trên. 3.3.3. Một số giao diện màn hình chính trong VB.Net. 3.3.3.1. Màn hình giao diện chính 3.3.3.2. Hình ảnh Menu Công cụ 3.3.3.3. Hình ảnh Menu Khung nhìn 3.3.3.4. Giao diện form cập nhật danh mục khách hàng 3.3.3.5.Giao diện cập nhật danh mục người liên hệ 3.3.3.6. Giao diện cập nhật danh mục nhân viên 3.3.3.7. Giao diện cập nhật danh mục thuế 3.3.3.8. Giao diện cập nhật danh mục hợp đồng 3.3.3.9. Giao diện tìm kiếm đơn giản. 3.3.3.10. Giao diện tìm kiếm nâng cao. 3.3.4. Kết quả thử nghiệm chương trình Qua quá trình thử nghiệm, chương trình đã đạt được những kết qủa quan trọng sau: Quản lý các danh mục Danh mục khách hàng Danh mục người liên hệ Danh mục nhân viên Danh mục hợp đồng Danh mục thuế. 3.3.4.2. Tìm kiếm Tìm kiếm danh sách khách hàng theo thông tin nào đó Tìm kiếm danh sách hợp đồng theo thông tin nào đó trên hợp đồng. Việc tìm kiếm có thể là tìm kiếm giản đơn hoặc tìm kiếm nâng cao. Tìm kiếm giản đơn là tìm kiếm dựa vào một trường thông tin nào đó. Còn tìm kiếm nâng cao là tìm kiếm dựa vào tổ hợp các trường thông tin. Thống kê báo cáo Thống kê và in báo cáo về danh sách khách hàng thoả mãn điều kiện tìm kiếm nào đó Thống kê và in báo cáo về danh sách hợp đồng thoả mãn điều kiện tìm kiếm nào đó như theo loại hợp đồng, theo giá trị hợp đồng, theo thời gian kí kết, … 3.3.4.4. Sơ đồ phân rã chức năng của chương trình đã đạt được. Quản lý khách hàng Hệ thống Khung nhìn Cập nhật dữ liệu Tìm kiếm Báo cáo Đăng nhập Quản lý người dùng Thoát Giao diện XP Giao diện Office 2003 Giao diện Office 2005 Giao diện Flat Cập nhật NLH Cập nhật khách hàng Cập nhật hợp đồng Cập nhật nhân viên Cập nhật thuế Báo cáo KH theo địa chỉ DS HĐ theo loại HĐ Trợ giúp Về tác giả Về chương trình DS HĐ theo giátrị HĐ DS HĐ theo ngày kí DS HĐ theo ngày KT HĐ Tìm kiếm KH theo mã Tìm kiếm KH theo tên Tìm KH theo địa chỉ Tìm KH theo SĐT, Fax Tìm HĐ theo loại HĐ Tìm HĐ theo giá trị HĐ Tìm HĐ theo ngày kí HĐ Tìm HĐ theo ngày KT HĐ 3.3.5. Một số đoạn code cơ bản Cap nhat danh sach khach hang ,hop dong va nguoi lien he Sub executeSql(ByVal str As String) Try Dim cmd As New SqlClient.SqlCommand(str, SqlConn) If Me.SqlConn.State = ConnectionState.Closed Then SqlConn.Open() End If cmd.ExecuteNonQuery() Catch ex As Exception MsgBox(ex.ToString) End Try End Sub ' ' THỦ TỤC HIỂN THỊ DỮ LIỆU KHÁCH HÀNG TRÊN GRID ' Private Sub showKHẠCHHANG(ByVal str As String) Dim Sqlcmd As SqlCommandBuilder Dim sqlDataA As SqlDataAdapter sqlDataA = New SqlDataAdapter(str, SqlConn) Sqlcmd = New SqlCommandBuilder(sqlDataA) DsKhachHang = New dsKhachHang SqlDAKhachHang.Fill(Me.DsKhachHang, str) With Me.dgKhachHang1 .DataSource = Me.DsKhachHang .AllowSorting = True .SetDataBinding(DsKhachHang, str) End With End Sub ' ' NGƯỜI DÙNG CHỌN TAB CẬP NHẬT DANH MỤC KHÁCH HÀNG ' ' ' Xử lý thêm ' Private Sub SimpleButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SimpleButton1.Click Dim STRCONN As String = "workstation id=THAINGUYEN;packet size=4096;integrated security=SSPI;initial catalog=FastCompanySoft;persist security info=False" Dim sqlconn As SqlConnection = New SqlConnection(STRCONN) Dim strMAKHACH As String = "" Dim str As String = "" Dim strsql As String = "SELECT MAKHACH FROM TBLKHACHHANG" Dim strThem As String = "INSERT INTO TBLKHACHHANG(MAKHACH,TENKHACH,TENTM,DIACHI,DOITAC,DIENTHOAI,FAX,EMAIL,GHICHU) VALUES ('" & Me.txtMaKhach.Text & "',N'" & Me.txtTenKHach.Text & "',N'" & Me.txtTenTM.Text & "',N'" & Me.txtDiaChi.Text & "',N'" & Me.txtDoiTac.Text & "',N'" & Me.txtDienThoai.Text & "',N'" & Me.txtFax.Text & "',N'" & Me.txtMail.Text & "',N'" & Me.txtGhiChu.Text & "')" Dim cmdSqlCommand As SqlCommand = New SqlCommand(strsql, sqlconn) sqlconn.Open() Dim drReader As SqlDataReader = cmdSqlCommand.ExecuteReader Do While drReader.Read() strMAKHACH = drReader.GetString(0) If Me.txtMaKhach.Text = "" Or Me.txtTenKHach.Text = "" Or Me.txtMaKhach.Text = strMAKHACH Then str = "thong bao" End If Loop If str = "thong bao" Then MessageBox.Show("Bạn chưa nhập mã khách(hoặc mã khách đã tồn tại)", "Manager Customers Application System") Else Me.executeSql(strThem) End If DsThu = New dsThu Me.txtMaKhach.Text = "" Me.txtTenKHach.Text = "" Me.txtMaKhach.Focus() Dim strshowKH As String = "SELECT MAKHACH as 'Mã khách',TENKHACH,TENTM,DI_u67 ?HI,DOITAC,DIENTHOAI,FAX,EMAIL,GHICHU FROM TBLKHACHHANG " Me.showKHẠCHHANG(strshowKH) DsKhachHang = New dsKhachHang End Sub ' ' XÓA DỮ LIỆU TRONG CÁC TEXTBOX ' Private Sub SimpleButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SimpleButton2.Click Dim ctrl As New Control For Each ctrl In Controls If TypeOf ctrl Is TextEdit Then ctrl.Text = "" End If Next Me.txtTenTM.Text = "" Me.txtTenKHach.Text = "" Me.txtMail.Text = "" Me.txtMaKhach.Text = "" Me.txtGhiChu.Text = "" Me.txtFax.Text = "" Me.txtDoiTac.Text = "" Me.txtDienThoai.Text = "" Me.txtDiaChi.Text = "" End Sub Private Sub XtraTabPage1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles XtraTabPage1.Enter Dim strshowKH As String = "SELECT MAKHACH as 'Mã khách',TENKHACH,TENTM,DI_u67 ?HI,DOITAC,DIENTHOAI,FAX,EMAIL,GHICHU FROM TBLKHACHHANG " Me.showKHẠCHHANG(strshowKH) End Sub ' ' Lấy dữ liệu vào các Textbox ' Private Sub dgKhachHang1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgKhachHang1.CurrentCellChanged Me.txtMaKhach.Text = Me.dgKhachHang1.Item(Me.dgKhachHang1.CurrentCell.RowNumber, 0) Me.txtTenKHach.Text = Me.dgKhachHang1.Item(Me.dgKhachHang1.CurrentCell.RowNumber, 2) Me.txtTenTM.Text = Me.dgKhachHang1.Item(Me.dgKhachHang1.CurrentCell.RowNumber, 3) Me.txtDiaChi.Text = Me.dgKhachHang1.Item(Me.dgKhachHang1.CurrentCell.RowNumber, 4) Me.txtDoiTac.Text = Me.dgKhachHang1.Item(Me.dgKhachHang1.CurrentCell.RowNumber, 5) Me.txtDienThoai.Text = Me.dgKhachHang1.Item(Me.dgKhachHang1.CurrentCell.RowNumber, 6) Me.txtFax.Text = Me.dgKhachHang1.Item(Me.dgKhachHang1.CurrentCell.RowNumber, 7) Me.txtMail.Text = Me.dgKhachHang1.Item(Me.dgKhachHang1.CurrentCell.RowNumber, 8) Me.txtGhiChu.Text = Me.dgKhachHang1.Item(Me.dgKhachHang1.CurrentCell.RowNumber, 9) End Sub ' ' Cập nhật dữ liệu Khách hàng vào cơ sở dữ liệu ' Private Sub SimpleButton3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SimpleButton3.Click Dim strshowKH As String = "SELECT MAKHACH as 'Mã khách',TENKHACH,TENTM,DI_u67 ?HI,DOITAC,DIENTHOAI,FAX,EMAIL,GHICHU FROM TBLKHACHHANG " Dim strUpdateKH As String = "UPDATE TBLKHACHHANG SET TENKHACH=N'" & Me.txtTenKHach.Text & "',TENTM=N'" & Me.txtTenTM.Text & "',DIACHI=N'" & Me.txtDiaChi.Text & "',DOITAC=N'" & Me.txtDoiTac.Text & "',DIENTHOAI=N'" & Me.txtDienThoai.Text & "',FAX=N'" & Me.txtFax.Text & "',EMAIL=N'" & txtMail.Text & "',GHICHU=N'" & txtGhiChu.Text & "' WHERE MAKHACH='" & Me.txtMaKhach.Text & "'" Me.executeSql(strUpdateKH) DsKhachHang = New dsKhachHang Me.showKHẠCHHANG(strshowKH) End Sub ' ' Xóa dữ liệu khách hàng trong cơ sở dữ liệu ' Private Sub SimpleButton4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SimpleButton4.Click Dim STR As String = Me.dgKhachHang1.Item(Me.dgKhachHang1.CurrentCell.RowNumber, 1) Dim strXoaKH As String = "DELETE TBLKHACHHANG WHERE MAHD='" & CInt(STR) & "'" Dim strshowKH As String = "SELECT MAKHACH as 'Mã khách',TENKHACH,TENTM,DI_u67 ?HI,DOITAC,DIENTHOAI,FAX,EMAIL,GHICHU FROM TBLKHACHHANG " Me.executeSql(strXoaKH) DsKhachHang = New dsKhachHang Me.showKHẠCHHANG(strshowKH) End Sub Private Sub SimpleButton12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SimpleButton12.Click Me.Close() End Sub ' ' NGƯỜI DÙNG CHỌN TAB CẬP NHẬT DANH MỤC HỢP ĐỒNG ' ' ' THỦ TỤC HIỂN THỊ DỮ LIỆU KHÁCH HÀNG TRÊN GRID ' Private Sub showHopDong(ByVal str As String) Dim Sqlcmd As SqlCommandBuilder Dim sqlDataA As SqlDataAdapter sqlDataA = New SqlDataAdapter(str, SqlConn) Sqlcmd = New SqlCommandBuilder(sqlDataA) DsHopDong = New dsHopDong SqlDAHopDong.Fill(Me.DsHopDong, str) With Me.dgHopDong .DataSource = Me.DsHopDong .AllowSorting = True .SetDataBinding(DsHopDong, str) End With End Sub ' ' THÊM DANH MỤC HỢP ĐỒNG ' Private Sub btThemMoi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btThemMoi.Click Dim STRCONN As String = "workstation id=THAINGUYEN;packet size=4096;integrated security=SSPI;initial catalog=FastCompanySoft;persist security info=False" Dim sqlconn As SqlConnection = New SqlConnection(STRCONN) Dim strMaHD As String = "" Dim str As String = "" Dim strsql As String = "SELECT MAKHACH FROM TBLKHACHHANG" Dim strshowHD As String = "SELECT MAHOPDONG AS 'Mà HỢP ĐỒNG',NGAYKY AS 'NGÀY KÝ',LOAINGOAITE AS 'LOẠI NGOẠI TỆ',NGAYBATDAU AS 'NGÀY BẮT ĐẦU',NGAYKETTHUC AS 'NGÀY KẾT THÚC',M_u76 ?OAIHD AS 'LOẠI HỢP ĐỒNG',MANGUOILH AS 'Mà NGƯỜI LIÊN HỆ' FROM TBLHOPDONG" Dim strThemHD As String = "INSERT INTO TBLHOPDONG(MAHOPDONG,NGAYKY,LOAINGOAITE,MANVKD,MANVTK,NGAYBATDAU,NGAYKETTHUC,MALOAIHD,MANGUOILH) VALUES (N'" & Me.cbMaHD.SelectedValue & "',N'" & Me.deNgayKy.Text & "',N'" & Me.cbNgoaiTe.SelectedItem & "',N'" & Me.cdNVKD.SelectedValue & "',N'" & Me.cdNVTK.SelectedValue & "',N'" & Me.deNgayBD.Text & "',N'" & Me.deNgayKT.Text & "',N'" & Me.cbLoaiHD.SelectedValue & "',N'" & Me.cbNguoiDD.SelectedValue & "')" Dim cmdSqlCommand As SqlCommand = New SqlCommand(strsql, sqlconn) sqlconn.Open() Dim drReader As SqlDataReader = cmdSqlCommand.ExecuteReader Me.executeSql(strThemHD) Me.tinhtoan() Dim STRTHANHTOAN As String = "INSERT INTO TBLTHANHTOANHD(MAHD,GIATRI,TIENTHUE,TONGTIEN,THANHTOAN) VALUES('" & Me.cbMaHD.SelectedValue & "','" & (Me.txtGiaTriHD.Text) & "','" & (Me.txtTienThueVND.Text) & "','" & (Me.txtTongCongVND.Text) & "','" & (Me.txtThanhToanVND.Text) & "')" Me.executeSql(STRTHANHTOAN) DsHopDong = New dsHopDong Me.showHopDong(strshowHD) End Sub ' ' XÓA TRỐNG CÁC ĐIỀU KHIỂN ' Private Sub btHuyBo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btHuyBo.Click Me.cbMaHD.Text = "" Me.deNgayKy.ResetText() Me.deNgayKT.ResetText() Me.deNgayBD.ResetText() Me.cbNgoaiTe.ResetText() Me.cbLoaiHD.ResetText() Me.cbNguoiDD.ResetText() Me.cdNVKD.ResetText() Me.cdNVTK.ResetText() Me.txtGiaTriHD.Text = "" Me.txtTienThueNT.Text = "" Me.txtTongCongNT.Text = "" Me.txtTongCongVND.Text = "" Me.txtTienThueVND.Text = "" End Sub ' ' THỦ TỤC LẤY DỮ LIỆU VÀO CÁC ĐIỀU KHIỂN ' Private Sub dgHopDong_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgHopDong.CurrentCellChanged Dim STT As Integer = Me.dgHopDong.Item(dgHopDong.CurrentCell.RowNumber, 0) Me.cbMaHD.SelectedValue = Me.dgHopDong.Item(dgHopDong.CurrentCell.RowNumber, 1) Me.deNgayKy.DateTime = Me.dgHopDong.Item(dgHopDong.CurrentCell.RowNumber, 2) Me.cbNgoaiTe.SelectedItem = Me.dgHopDong.Item(dgHopDong.CurrentCell.RowNumber, 3) Me.cdNVKD.SelectedText = Me.dgHopDong.Item(dgHopDong.CurrentCell.RowNumber, 4) Me.cdNVTK.SelectedText = Me.dgHopDong.Item(dgHopDong.CurrentCell.RowNumber, 5) Me.deNgayBD.DateTime = Me.dgHopDong.Item(dgHopDong.CurrentCell.RowNumber, 6) Me.deNgayKT.DateTime = Me.dgHopDong.Item(dgHopDong.CurrentCell.RowNumber, 7) Me.cbLoaiHD.SelectedItem = Me.dgHopDong.Item(dgHopDong.CurrentCell.RowNumber, 8) 'Me.cbNguoiDD.SelectedItem = Me.dgHopDong.Item(dgHopDong.CurrentCell.RowNumber, 9) End Sub ' ' THỰC HIỆN CẬP NHẬT DỮ LIỆU ' Private Sub btCapNhat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btCapNhat.Click Dim STT As Integer = Me.dgHopDong.Item(dgHopDong.CurrentCell.RowNumber, 0) Dim strUpdateHD As String = "UPDATE TBLHOPDONG SET MAHOPDONG=N'" & Me.cbMaHD.SelectedValue & "',NGAYKY=N'" & Me.deNgayKy.Text & "',LOAINGOAITE=N'" & Me.cbNgoaiTe.SelectedItem & "',MANVKD=N'" & Me.cdNVKD.SelectedValue & "',MANVTK=N'" & Me.cdNVTK.Text & "',NGAYBATDAU=N'" & Me.deNgayBD.Text & "',NGAYKETTHUC=N'" & Me.deNgayKT.Text & "',MANGUOILH=N'" & Me.cbNguoiDD.SelectedValue & "' WHERE TT='" & STT & "'" Dim strshowHD As String = "SELECT MAHOPDONG AS 'Mà HỢP ĐỒNG',NGAYKY AS 'NGÀY KÝ',LOAINGOAITE AS 'LOẠI NGOẠI TỆ',NGAYBATDAU AS 'NGÀY BẮT ĐẦU',NGAYKETTHUC AS 'NGÀY KẾT THÚC',M_u76 ?OAIHD AS 'LOẠI HỢP ĐỒNG',MANGUOILH AS 'Mà NGƯỜI LIÊN HỆ' FROM TBLHOPDONG" Me.executeSql(strUpdateHD) Me.tinhtoan() Dim capnhatthanhtoanHD As String = "UPDATE TBLTHANHTOANHD SET MAHD='" & Me.cbMaHD.SelectedValue & "',GIATRI='" & Me.txtGiaTriHD.Text & "',TIENTHUE='" & Me.txtTienThueVND.Text & "',TONGTIEN= '" & Me.txtTongCongVND.Text & "',THANHTOAN='" & Me.txtThanhToanVND.Text & "' WHERE MAHD='" & Me.cbMaHD.SelectedValue & "'" Me.executeSql(capnhatthanhtoanHD) DsHopDong = New dsHopDong Me.showHopDong(strshowHD) End Sub ' ' THỰC HIỆN XÓA DỮ LIỆU ' Private Sub btXoa_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btXoa.Click Dim STT As Integer = Me.dgHopDong.Item(dgHopDong.CurrentCell.RowNumber, 0) Dim strXoaHD As String = "DELETE TBLHOPDONG WHERE TT='" & STT & "'" Dim strshowHD As String = "SELECT MAHOPDONG AS 'Mà HỢP ĐỒNG',NGAYKY AS 'NGÀY KÝ',LOAINGOAITE AS 'LOẠI NGOẠI TỆ',NGAYBATDAU AS 'NGÀY BẮT ĐẦU',NGAYKETTHUC AS 'NGÀY KẾT THÚC',MSLOAIHD AS 'LOẠI HỢP ĐỒNG',MANGUOILH AS 'Mà NGƯỜI LIÊN HỆ' FROM TBLHOPDONG" Me.executeSql(strXoaHD) Dim XOATHANHTOANHD As String = "DELETE TBLTHANHTOANHD WHERE MAHD='" & Me.cbMaHD.SelectedValue & "'" Me.executeSql(XOATHANHTOANHD) DsHopDong = New dsHopDong Me.showHopDong(strshowHD) End Sub ' ' THỰC HIỆN LOAD DỮ LIỆU CỦA BẢNG HỢP ĐỒNG VÀO Đ_u84 ?AGDRID ' Private Sub XtraTabPage2_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles XtraTabPage2.Enter Dim strshowHD As String = "SELECT MAHOPDONG AS 'Mà HỢP ĐỒNG',NGAYKY AS 'NGÀY KÝ',LOAINGOAITE AS 'LOẠI NGOẠI TỆ',NGAYBATDAU AS 'NGÀY BẮT ĐẦU',NGAYKETTHUC AS 'NGÀY KẾT THÚC',M_u76 ?OAIHD AS 'LOẠI HỢP ĐỒNG',MANGUOILH AS 'Mà NGƯỜI LIÊN HỆ' FROM TBLHOPDONG" Me.showHopDong(strshowHD) Try Me.SqlDatHUE.Fill(DsThue) Me.SqlDaLoaiHD.Fill(Me.DsLoaiHD1) Me.SqlDaNhanVienKD.Fill(DsNhanVienKD) Me.SqlDaNhanVienTK.Fill(DsNhanVienTK) Me.SqlDaThu.Fill(DsThu) Me.SqlDANguoiLH.Fill(DsNguoiLienHe) Catch ex As Exception MessageBox.Show(ex.ToString) End Try DsThu = New dsThu DsNguoiLienHe = New dsNguoiLienHe End Sub ' ' ĐÓNG CỬA SỔ ' Private Sub btDong_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btDong.Click Me.Close() End Sub ' ' THỦ TỤC HIỂN THỊ NGƯỜI LIÊN HỆ ' Private Sub showNguoiLienHe(ByVal str As String) Dim Sqlcmd As SqlCommandBuilder Dim sqlDataA As SqlDataAdapter sqlDataA = New SqlDataAdapter(str, SqlConn) Sqlcmd = New SqlCommandBuilder(sqlDataA) DsNguoiLienHe = New dsNguoiLienHe SqlDANguoiLH.Fill(Me.DsNguoiLienHe, str) With Me.dgNguoiLienHe .DataSource = Me.DsNguoiLienHe .AllowSorting = True .SetDataBinding(DsNguoiLienHe, str) End With End Sub ' ' NGƯỜI DÙNG CHỌN TAB CẬP NHẬT NGƯỜI LIÊN HỆ ' Private Sub XtraTabPage3_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles XtraTabPage3.Enter Dim strshowNguoiLH As String = "SELECT * FROM TBLNGUOILIENHE" Me.showNguoiLienHe(strshowNguoiLH) Me.SqlDaThu.Fill(DsThu) End Sub ' ' XỬ LÝ THÊM NGƯỜI LIÊN HỆ ' Private Sub cmdThemNguoiLH_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdThemNguoiLH.Click Dim strThemNLH As String = "INSERT INTO TBLNGUOILIENHE(MANGUOILIENHE,TENNGUOILIENHE,MAHD,DIACHI,DIENTHOAI,FAX,MAIL,GHICHU) VALUES (N'" & Me.txtMaNLH.Text & "',N'" & Me.txtTenNLH.Text & "',N'" & Me.cbMaHD.SelectedValue & "',N'" & Me.txtDiaChiNLH.Text & "',N'" & Me.txtDienThoaiNLH.Text & "',N'" & Me.txtFaxNLH.Text & "',N'" & Me.txtMailNLH.Text & "',N'" & Me.txtGhiChuNLH.Text & "')" Me.executeSql(strThemNLH) DsNguoiLienHe = New dsNguoiLienHe Dim strshowNguoiLH As String = "SELECT * FROM TBLNGUOILIENHE" Me.showNguoiLienHe(strshowNguoiLH) End Sub ' ' XÓA TRỐNG CÁC ĐIỀU KHIỂN ' Private Sub cmdHuyBoNLH_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHuyBoNLH.Click Me.cbTenHD.SelectedText = "" Me.txtMailNLH.Text = "" Me.txtTenNLH.Text = "" Me.txtDiaChiNLH.Text = "" Me.txtDienThoaiNLH.Text = "" Me.txtFaxNLH.Text = "" Me.txtMailNLH.Text = "" Me.txtGhiChuNLH.Text = "" End Sub ' ' LẤY DỮ LIỆU TỪ DATAG VÀO CAC CONTROL ' Private Sub dgNguoiLienHe_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgNguoiLienHe.CurrentCellChanged Me.txtMaNLH.Text = Me.dgNguoiLienHe.Item(Me.dgNguoiLienHe.CurrentCell.RowNumber, 0) Me.txtTenNLH.Text = Me.dgNguoiLienHe.Item(Me.dgNguoiLienHe.CurrentCell.RowNumber, 1) Me.cbMaHD.SelectedItem = Me.dgNguoiLienHe.Item(Me.dgNguoiLienHe.CurrentCell.RowNumber, 2) 'Me.txtDiaChiNLH.Text = Me.dgNguoiLienHe.Item(Me.dgNguoiLienHe.CurrentCell.RowNumber, 3) 'Me.txtDienThoaiNLH.Text = Me.dgNguoiLienHe.Item(Me.dgNguoiLienHe.CurrentCell.RowNumber, 4) 'IF Me.txtFaxNLH.Text = Me.dgNguoiLienHe.Item(Me.dgNguoiLienHe.CurrentCell.RowNumber, 5) 'Me.txtMailNLH.Text = Me.dgNguoiLienHe.Item(Me.dgNguoiLienHe.CurrentCell.RowNumber, 6) 'Me.txtGhiChuNLH.Text = Me.dgNguoiLienHe.Item(Me.dgNguoiLienHe.CurrentCell.RowNumber, 7) End Sub ' ' THỰC HIỆN CẬP NHẬT DỮ LIỆU ' Private Sub cmdCapNhatNLH_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCapNhatNLH.Click Dim STR As String = Me.dgNguoiLienHe.Item(Me.dgNguoiLienHe.CurrentCell.RowNumber, 0) Dim STRUPDATENGUOILH As String = "UPDATE TBLNGUOILIENHE SET MANGUOILIENHE='" & Me.txtMaNLH.Text & "',TENNGUOILIENHE='" & Me.txtTenNLH.Text & "',MAHD='" & Me.cbMaHD.SelectedValue & "',DIACHI='" & Me.txtDiaChiNLH.Text & "',DIENTHOAI='" & Me.txtDienThoaiNLH.Text & "',FAX='" & Me.txtFaxNLH.Text & "',MAIL='" & Me.txtMailNLH.Text & "',GHICHU='" & Me.txtGhiChuNLH.Text & "' WHERE MAHD= '" & STR & " '" Me.executeSql(STRUPDATENGUOILH) DsNguoiLienHe = New dsNguoiLienHe Dim strshowNguoiLH As String = "SELECT * FROM TBLNGUOILIENHE" Me.showNguoiLienHe(strshowNguoiLH) End Sub ' ' XÓA NGƯỜI LIÊN HỆ ' Private Sub cmdXoaNLH_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdXoaNLH.Click Dim STR As String = Me.dgNguoiLienHe.Item(Me.dgNguoiLienHe.CurrentCell.RowNumber, 0) Dim STRXOANLH As String = "DELETE TBLNGUOILIENHE WHERE MANGUOILIENHE= '" & STR & "'" Me.executeSql(STRXOANLH) DsNguoiLienHe = New dsNguoiLienHe Dim strshowNguoiLH As String = "SELECT * FROM TBLNGUOILIENHE" Me.showNguoiLienHe(strshowNguoiLH) End Sub ' ' ĐÓNG CUẲ SỔ ' Private Sub cmđongNLH_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmđongNLH.Click Me.Close() End Sub ' ' thủ tục tính toán thuế ' Private Sub tinhtoan() If Me.cbNgoaiTe.SelectedItem "VNĐ" Then Me.txtTienThueNT.Text = (CInt(Me.txtGiaTriHD.Text) * Me.cbThue.SelectedValue) / 100 Me.txtTienThueVND.Text = (CInt(Me.txtTienThueNT.Text) * CInt(Me.txtNgoaiTe.Text)) / 100 Me.txtTongCongNT.Text = CInt(Me.txtGiaTriHD.Text) + CInt(Me.txtTienThueNT.Text) Me.txtTongCongVND.Text = CInt(Me.txtTienThueVND.Text) + CInt(Me.txtGiaTriHD.Text) Else Me.txtTienThueVND.Text = (CInt(txtGiaTriHD.Text) * (Me.cbThue.SelectedValue)) / 100 Me.txtTongCongVND.Text = CInt(Me.txtTienThueVND.Text) + CInt(Me.txtGiaTriHD.Text) End If End Sub Private Sub frmCapNhatKH_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.mnHeThong.Enabled = False End Sub End Class KẾT LUẬN Vấn đề quản lý khách hàng là vấn đề rất quan trọng đối với mỗi công ty nói chung và công ty phần mềm quản lý doanh nghiệp Fast nói riêng. Trong đợt thực tập tại công ty Fast, em đã lựa chọn đề tài “ Phân tích và thiết kế hệ thống thông tin quản lý khách hàng tại công ty phần mềm quản lý doanh nghiệp Fast” bởi thấy đây là đề tài có giá trị thực tế và khả năng ứng dụng cao. Qua quá trình tìm hiểu thực tế tại công ty, em đã xây dựng hệ thống thông tin và chương trình quản lý khách hàng phù hợp với những yêu cầu quản lý mà thực tế đặt ra. Chương trình cho phép cập nhật, lưu trữ thông tin khách hàng, hợp đồng, cho phép tìm kiếm thông tin khách hàng,hợp đồng và in báo cáo về khách hàng và hợp đồng. Tuy nhiên, do thời gian và trình độ có hạn nên chương trình của em còn nhiều hạn chế. Vì vậy, em mong nhận được sự đóng góp của các thầy cô để chương trình được hoàn thiện hơn. Hướng phát triển của chương trình trong tương lai là tiếp tục hoàn thiện hơn những chức năng đã có, khắc phục những sai sót phát sinh và xây dựng thêm một số chức năng cho phù hợp với yêu cầu quản lý mới của công ty. Cuối cùng, một lần nữa em xin cảm ơn các anh chị trong công ty Fast và cảm ơn thầy giáo hướng dẫn đã tạo điều kiện thuận lợi và nhiệt tình giúp đỡ em hoàn thành đề tài này. Danh môc tµi liÖu tham kh¶o Giáo trình Hệ thống thông tin quản lý. TS Trương Văn Tú_TS Trần Thị Song Minh, NXB Thống Kê HN-2000. Giáo trình Phân tích thiết kế hệ thống thông tin. Tác giả Nguyễn Văn Vỵ_ Đại học quốc gia TP. Hồ Chí Minh. Giáo trình Cấu trúc dữ liệu và giải thuật. PTS Hàn Viết Thuận, NXB Thống kê Hà Nội 2005. Giáo trình Phân tích thiết kế hệ thống thông tin quản lý. ThS Đinh Thế Hiển, NXB Thống kê. Giáo trình SQL Server 2000 của Đại học khoa học Huế biên soạn. Hướng dẫn lập trình VB.net.

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

  • docP0087.doc