Luận văn Xây dựng phân hệ thông tin tính giá thành sản phẩm tại công ty trách nhiệm hữu hạn Mỹ Hưng

Sau thời gian thực tập và hoàn thiện luận văn tốt nghiệp, với sự giúp đỡ của giáo viên hướng dẫn, đơn vị thực tập cũng như đơn vị áp dụng chương trình, em đã hoàn thành đề tài “ Xây dựng phân hệ thông tin tính giá thành sản phẩm tại công ty Trách nhiệm hữu hạn Mỹ Hưng”. Chương trình đã đạt được những yêu cầu mà đơn vị áp dụng đề ra như tính được giá thành của sản phẩm dựa trên thông tin chi tiết về từng giai đoạn sản xuất, cập nhật được giá thành của các sản phẩm khi có sự thay đổi, đưa ra được các báo cáo có liên quan đến giá thành của các sản phẩm mà công ty cung cấp, màn hình cập nhật dữ liệu thuận tiện, các báo cáo bằng Crystal Report nên dễ dàng xuất sang các loại dữ liệu khác như Excel, Word. Tuy nhiên, do thời gian có hạn và kinh nghiệm làm chương trình chưa nhiều nên thực tế chương trình này vẫn chưa hoàn chỉnh. Nếu có thêm thời gian và điều kiện cho phép, em sẽ phát triển chương trình thêm một số chức năng như tài liệu hướng dẫn người sử dụng và hoàn thiện các màn hình cho thân thiện và dễ dàng sử dụng hơn. Một lần nữa em xin chân thành cảm ơn sự giúp đỡ của cô giáo TS Trần Thị Song Minh, đơn vị thực tập và đơn vị áp dụng chương trình đã giúp đỡ em hoàn thành luận văn tốt nghiệp này.

doc114 trang | Chia sẻ: oanh_nt | Lượt xem: 1190 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận văn Xây dựng phân hệ thông tin tính giá thành sản phẩm tại công ty trách nhiệm hữu hạn Mỹ Hưng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ChuÈn hãa d÷ liÖu: Thùc hiÖn qu¸ tr×nh chuÈn hãa d÷ liÖu theo c¸c møc chuÈn hãa 1.NF, 2.NF, 3.NF. Danh s¸ch thuéc tÝnh ChuÈn hãa 1.NF ChuÈn hãa 2.NF ChuÈn hãa 3.NF M· s¶n phÈm Tªn s¶n phÈm M« t¶ Ngµy tÝnh gi¸ M· kh¸ch hµng Tªn kh¸ch hµng §Þa chØ Sè ®iÖn tho¹i M· c«ng ®o¹n Tªn c«ng ®o¹n Chi phÝ vËn chuyÓn Chi phÝ thiÕt kÕ Chi phÝ tiÕp thÞ vµ b¸n s¶n phÈm Chi phÝ qu¶n lý M· nguyªn vËt liÖu Tªn nguyªn vËt liÖu §¬n vÞ tÝnh §¬n gi¸ Khèi l­îng M· nh©n c«ng Tªn nh©n c«ng Bé phËn TiÒn l­¬ng theo giê Thêi gian lµm viÖc M· m¸y mãc Tªn m¸y mãc Bé phËn qu¶n lý Chi phÝ vËn hµnh theo giê Thêi gian sö dông S¶n phÈm M· s¶n phÈm Tªn s¶n phÈm M« t¶ Ngµy tÝnh gi¸ M· kh¸ch hµng Tªn kh¸ch hµng §Þa chØ Sè ®iÖn tho¹i Chi phÝ vËn chuyÓn Chi phÝ thiÕt kÕ Chi phÝ tiÕp thÞ vµ b¸n s¶n phÈm Chi phÝ qu¶n lý C«ng ®o¹n cho s¶n phÈm ID c«ng ®o¹n M· s¶n phÈm M· c«ng ®o¹n Tªn c«ng ®o¹n Nguyªn vËt liÖu cho c«ng ®o¹n M· nguyªn vËt liÖu ID c«ng ®o¹n Tªn nguyªn vËt liÖu §¬n vÞ tÝnh §¬n gi¸ Khèi l­îng Nh©n c«ng cho c«ng ®o¹n M· nh©n c«ng ID c«ng ®o¹n Tªn nh©n c«ng Bé phËn TiÒn l­¬ng theo giê Thêi gian lµm viÖc M¸y mãc cho c«ng ®o¹n M· m¸y mãc ID c«ng ®o¹n Tªn m¸y mãc Bé phËn qu¶n lý Chi phÝ vËn hµnh theo giê Thêi gian sö dông S¶n phÈm M· s¶n phÈm Tªn s¶n phÈm M« t¶ Ngµy tÝnh gi¸ M· kh¸ch hµng Tªn kh¸ch hµng §Þa chØ Sè ®iÖn tho¹i Chi phÝ vËn chuyÓn Chi phÝ thiÕt kÕ Chi phÝ tiÕp thÞ vµ b¸n s¶n phÈm Chi phÝ qu¶n lý Danh môc c«ng ®o¹n M· c«ng ®o¹n Tªn c«ng ®o¹n C«ng ®o¹n cho s¶n phÈm ID c«ng ®o¹n M· s¶n phÈm M· c«ng ®o¹n Nguyªn vËt liÖu cho c«ng ®o¹n M· nguyªn vËt liÖu ID c«ng ®o¹n Tªn nguyªn vËt liÖu §¬n vÞ tÝnh §¬n gi¸ Khèi l­îng Nh©n c«ng cho c«ng ®o¹n M· nh©n c«ng ID c«ng ®o¹n Tªn nh©n c«ng Bé phËn TiÒn l­¬ng theo giê Thêi gian lµm viÖc M¸y mãc cho c«ng ®o¹n M· m¸y mãc ID c«ng ®o¹n Tªn m¸y mãc Bé phËn qu¶n lý Chi phÝ vËn hµnh theo giê Thêi gian sö dông S¶n phÈm M· s¶n phÈm Tªn s¶n phÈm M« t¶ Ngµy tÝnh gi¸ M· kh¸ch hµng Chi phÝ vËn chuyÓn Chi phÝ thiÕt kÕ Chi phÝ tiÕp thÞ vµ b¸n s¶n phÈm Chi phÝ qu¶n lý Danh môc kh¸ch hµng M· kh¸ch hµng Tªn kh¸ch hµng §Þa chØ Sè ®iÖn tho¹i Danh môc c«ng ®o¹n M· c«ng ®o¹n Tªn c«ng ®o¹n C«ng ®o¹n cho s¶n phÈm ID c«ng ®o¹n M· s¶n phÈm M· c«ng ®o¹n Danh môc nguyªn vËt liÖu M· nguyªn vËt liÖu Tªn nguyªn vËt liÖu §¬n gi¸ §¬n vÞ tÝnh Nguyªn vËt liÖu cho c«ng ®o¹n M· nguyªn vËt liÖu ID c«ng ®o¹n Khèi l­îng Danh môc nh©n c«ng M· nh©n c«ng Tªn nh©n c«ng Bé phËn TiÒn l­¬ng theo giê Nh©n c«ng cho c«ng ®o¹n M· nh©n c«ng ID c«ng ®o¹n Thêi gian lµm viÖc Danh môc m¸y mãc M· m¸y mãc Tªn m¸y mãc Bé phËn qu¶n lý Chi phÝ vËn hµnh theo giê M¸y mãc cho c«ng ®o¹n M· m¸y mãc ID c«ng ®o¹n Tªn m¸y mãc Bé phËn qu¶n lý Chi phÝ vËn hµnh theo giê Thêi gian sö dông 3.3.1.2. C¸c b¶ng vµ mèi quan hÖ gi÷a c¸c b¶ng trong c¬ së d÷ liÖu CÊu tróc cña c¸c b¶ng trong c¬ së d÷ liÖu: Danh môc kh¸ch hµng Tªn tr­êng KiÓu §é réng M« t¶ Makh Text 10 M· kh¸ch hµng Tenkh Text 50 Tªn kh¸ch hµng Diachi Text 50 §Þa chØ Sodienthoai Text 10 Sè ®iÖn tho¹i B¶ng “Danh môc kh¸ch hµng” dïng ®Ó qu¶n lý c¸c th«ng tin c¬ b¶n nh­ tªn kh¸ch hµng, ®Þa chØ, sè ®iÖn tho¹i cña tÊt c¶ c¸c kh¸ch hµng cña c«ng ty. Sè l­îng b¶n ghi cña b¶ng nµy dù kiÕn lµ kh¸ lín, hiÖn nay c«ng ty cã kho¶ng 100 kh¸ch hµng. Danh môc nguyªn vËt liÖu Tªn tr­êng KiÓu §é réng M« t¶ MaNVL Text 10 M· nguyªn vËt liÖu TenNVL Text 50 Tªn nguyªn vËt liÖu Donvitinh Text 20 §¬n vÞ tÝnh §ongia Number Decimal §¬n gi¸ B¶ng nµy dïng ®Ó qu¶n lý tÊt c¶ c¸c lo¹i nguyªn vËt liÖu dïng cho c¸c qu¸ tr×nh cña s¶n xuÊt s¶n phÈm. Sè l­îng b¶n ghi cña b¶ng nµy ®­îc dù ®o¸n lµ kh¸ æn ®Þnh do Ýt khi cã sù thay ®æi vÒ nguyªn vËt liÖu t¹i c«ng ty. Danh môc c«ng ®o¹n Tªn tr­êng KiÓu §é réng M« t¶ Macd Text 10 M· c«ng ®o¹n Tencd Text 50 Tªn c«ng ®o¹n B¶ng “Danh môc c«ng ®o¹n” qu¶n lý tÊt c¶ c¸c c«ng ®o¹n s¶n xuÊt s¶n phÈm t¹i c«ng ty TNHH Mü H­ng. Sè l­îng b¶n ghi nhá vµ d÷ liÖu Ýt thay ®æi. Danh môc nh©n c«ng Tªn tr­êng KiÓu §é réng M« t¶ Manc Text 10 M· nh©n c«ng Tennc Text 50 Tªn nh©n c«ng Bophan Text 50 Bé phËn Tienluongtheogio Number Decimal TiÒn l­¬ng theo giê B¶ng “Danh môc nh©n c«ng” qu¶n lý c¸c th«ng tin vÒ nh©n c«ng phôc vô cho c¸c qu¸ tr×nh s¶n xuÊt vµ sè l­îng b¶n ghi Ýt thay ®æi. Danh môc m¸y mãc Tªn tr­êng KiÓu §é réng M« t¶ Mamm Text 10 M· m¸y Tenmm Text 50 Tªn m¸y Bophanquanly Text 50 Bé phËn qu¶n lý Chiphitheogio Number Decimal Chi phÝ theo giê B¶ng nµy qu¶n lý c¸c th«ng tin vÒ m¸y mãc dµnh cho s¶n xuÊt cña c«ng ty TNHH Mü H­ng. Sè l­îng c¸c m¸y mãc hoÆc c¸c th«ng tin liªn quan còng Ýt khi thay ®æi nªn sè l­îng c¸c b¶n ghi còng nh­ néi dung còng Ýt khi thay ®æi. S¶n phÈm Tªn tr­êng KiÓu §é réng M« t¶ MaSP Text 10 M· s¶n phÈm TenSP Text 50 Tªn s¶n phÈm Mota Text 100 M« t¶ s¶n phÈm Ngaytinhgia Date/Time Ngµy tÝnh gi¸ Makh Text 10 M· kh¸ch hµng Chiphithietke Number Decimal Chi phÝ thiÕt kÕ ChiphibanSP Number Decimal Chi phÝ b¸n s¶n phÈm Chiphivanchuyen Number Decimal Chi phÝ vËn chuyÓn Chiphiquanly Number Decimal ChÝ phÝ qu¶n lý B¶ng “S¶n phÈm” lµ b¶ng chÝnh trong c¬ së d÷ liÖu, qu¶n lý c¸c th«ng tin chung vÒ s¶n phÈm cã trong hÖ thèng. Do hÖ thèng s¶n phÈm cña c«ng ty rÊt phong phó nªn dù ®o¸n sè l­îng b¶n ghi sÏ lín. C«ng ®o¹n cho s¶n phÈm Tªn tr­êng KiÓu §é réng M« t¶ ID Text 10 ID c«ng ®o¹n Macd Text 10 M· c«ng ®o¹n MaSP Text 10 M· s¶n phÈm B¶ng “C«ng ®o¹n cho s¶n phÈm” l­u tr÷ tÊt c¶ c¸c th«ng tin vÒ c¸c c«ng ®o¹n cña c¸c s¶n phÈm, trung b×nh mçi s¶n phÈm ph¶i tr¶i qua n¨m c«ng ®o¹n vµ víi sè l­îng s¶n phÈm mµ c«ng ty thùc hÞªn kh¸ lín nªn ch¾c ch¾n sè l­îng b¶n ghi cña b¶ng nµy sÏ lín. Nguyªn vËt liÖu cho c«ng ®o¹n Tªn tr­êng KiÓu §é réng M« t¶ ID Text 10 ID c«ng ®o¹n MaNVL Text 10 M· nguyªn vËt liÖu Khoiluong Number Decimal Khèi l­îng NVL sö dông “Nguyªn vËt liÖu cho c«ng ®o¹n” qu¶n lý th«ng tin vÒ nguyªn vËt liÖu ®­îc sö dông cho tõng c«ng ®o¹n cña tõng s¶n phÈm. Sè l­îng b¶n ghi cña b¶n ®­îc dù ®o¸n lµ rÊt lín. Nh©n c«ng cho c«ng ®o¹n Tªn tr­êng KiÓu §é réng M« t¶ ID Text 10 ID c«ng ®o¹n Manc Text 10 M· nh©n c«ng Thoigianlamviec Number Decimal Thêi gian lµm viÖc B¶ng “Nh©n c«ng cho c«ng ®o¹n ” qu¶n lý c¸c th«ng tin liªn qu©n ®Õn nh©n c«ng cña tõng s¶n phÈm trong tõng giai ®o¹n. T­¬ng tù víi b¶ng “Nguyªn vËt liÖu cho c«ng ®o¹n”, b¶ng “Nh©n c«ng cho c«ng ®o¹n” còng cã sè l­îng b¶n ghi lín. M¸y mãc cho c«ng ®o¹n Tªn tr­êng KiÓu §é réng M« t¶ ID Text 10 ID c«ng ®o¹n Mamm Text 10 M· m¸y Thoigiansudung Number Decimal Thêi gian sö dông m¸y T­¬ng tù víi hai b¶ng “Nguyªn vËt liÖu cho c«ng ®o¹n” vµ “Nh©n c«ng cho c«ng ®o¹n”, b¶ng “M¸y mãc cho c«ng ®o¹n” qu¶n lý th«ng tin sö dông m¸y mãc cho tõng c«ng ®o¹n cña tõng s¶n phÈm trong hÖ thèng vµ cã sè l­îng b¶n ghi lín. Mèi quan hÖ gi÷a c¸c b¶ng H×nh 3.8- Mèi quan hÖ gi÷a c¸c b¶ng 3.3.2. ThiÕt kÕ gi¶i thuËt Sai §óng NhËp tªn ®¨ng nhËp, mËt khÈu Tªn, mËt khÈu ®óng HiÖn mµn h×nh lµm viÖc chÝnh cña ch­¬ng tr×nh B¾t ®Çu KÕt thóc ThuËt to¸n ®¨ng nhËp ch­¬ng tr×nh H×nh 3.9- Gi¶i thuËt ®¨ng nhËp ch­¬ng tr×nh Sai §óng D÷ liÖu ®óng? TiÕn hµnh tÝnh gi¸ thµnh cña s¶n phÈm Th«ng b¸o d÷ liÖu sai Më form tÝnh gi¸ s¶n phÈm NhËp th«ng tin tÝnh gi¸ §ãng c¸c tÖp d÷ liÖu, quay l¹i mµn h×nh chÝnh B¾t ®Çu KÕt thóc §­a ra kªt qu¶ tÝnh gi¸ thµnh s¶n phÈm L­u d÷ liÖu vµo c¸c tÖp CSDL ThuËt to¸n tÝnh gi¸ thµnh s¶n phÈm H×nh 3.10- Gi¶i thuËt tÝnh gi¸ thµnh s¶n phÈm ThuËt to¸n thªm míi cho c¸c danh môc tõ ®iÓn Sai §óng M· trèng? Th«ng b¸o m· trèng Më form danh môc NhËp th«ng tin M· ®· tån t¹i? Sai §ãng c¸c tÖp d÷ liÖu KÕt thóc Th«ng b¸o m· ®· tån t¹i B¾t ®Çu L­u th«ng tin vµo CSDL §óng H×nh 3.11.- Gi¶i thuËt thªm míi cho c¸c danh môc tõ ®iÓn §óng Sai §óng D÷ liÖu t×m thÊy? HiÓn thÞ d÷ liÖu t×m thÊy Më form t×m kiÕm NhËp kho¸ t×m kiÕm Cã söa th«ng tin? Sai §ãng c¸c tÖp d÷ liÖu Söa ®æi d÷ liÖu D÷ liÖu söa ®óng? L­u d÷ liÖu ®· söa B¾t ®Çu KÕt thóc Th«ng b¸o kh«ng cã DL §óng Sai H×nh 3.12- ThuËt to¸n t×m kiÕm vµ söa th«ng tin Sai §óng In b¸o c¸o? Chän lo¹i b¸o c¸o NhËp th«ng tin cho b¸o c¸o §ãng c¸c tÖp d÷ liÖu Lªn b¸o c¸o T×m vµ xö lý d÷ liÖu In b¸o c¸o KÕt thóc B¾t ®Çu ThuËt to¸n lËp b¸o c¸o H×nh 3.13- Gi¶i thuËt lËp b¸o c¸o 3.3.3. ThiÕt kÕ giao diÖn Mét phÇn c«ng viÖc cña giai ®o¹n thiÕt kÕ vËt lý ngoµi lµ thiÕt kÕ chi tiÕt c¸c giao diÖn vµo/ra lµ thiÕt kÕ c¸c kh«n d¹ng tr×nh bµy cña c¸c ®Çu ra vµ thÓ thøc nhËp tin cho ng­êi sö dông. Khu«n d¹ng vµo/ ra kh«ng nh÷ng ®Ñp, hîp lý mµ cßn ph¶i gióp ng­êi sö dông thùc hiÖn tèt h¬n, dÔ dµng h¬n c«ng viÖc cña hä. Trong ch­¬ng tr×nh tÝnh gi¸ thµnh s¶n phÈm chØ sö dông mµn h×nh ®Ó nhËp liÖu vµ khu«n d¹ng ra cã thÓ lµ mµn h×nh hoÆc lµ giÊy. 3.3.3.1. ThiÕt kÕ vµo trªn mµn h×nh nhËp liÖu Mét sè quy t¾c gióp cho viÖc thiÕt kÕ mµn h×nh nhËp liÖu hiÖu qu¶ h¬n: Khi nhËp d÷ liÖu tõ mét tµi liÖu gèc, khu«ng d¹ng mµn h×nh ph¶i gièng tµi liÖu gèc. Nhãm c¸c tr­êng trªn mµn h×nh theo mét trËt tù cã ý nghÜa. Kh«ng nhËp c¸c th«ng tin mµ hÖ thèng th«ng tin cã thÓ truy xuÊt ®­îc hoÆc tÝnh to¸n ®­îc. §Æt tªn tr­êng ë tr­íc hoÆc trªn tr­êng nhËp. §Æt c¸c gi¸ trÞ ngÇm ®Þnh cho phï hîp. Sö dông phÝm Tab ®Ó chuyÓn tr­êng nhËp. KÕt hîp c¸c quy t¾c trªn víi nh÷ng yªu cÇu vµ ®iÒu kiÖn thùc tÕ ®Ó thiÕt kÕ c¸c mµn h×nh nhËp liÖu cho ch­¬ng tr×nh tÝnh gi¸ thµnh s¶n phÈm t¹i c«ng ty TNHH Mü H­ng. 3.3.3.2. ThiÕt kÕ ra trªn mµn h×nh vµ trang in ra ThiÕt kÕ trang in ra: ThiÕt kÕ trang in ra chÝnh lµ t×m c¸ch tèt nhÊt s¾p xÕp c¸c th«ng tin cÇn ®­a ra trªn trang giÊy. TÊt c¶ c¸c trang in ra ®Òu cã nh÷ng th«ng tin c¬ së, cè ®Þnh, kh«ng thay ®æi vµ nh÷ng th«ng tin thay ®æi tõ trang nµy sang trang kh¸c. Th«ng th­êng th«ng tin ®­îc tr×nh bµy trªn giÊy theo 3 khu«ng d¹ng lµ theo cét, theo cét trong tõng nhãm, theo dßng cho c¸c phÇn tö th«ng tin. ThiÕt kÕ ra trªn mµn h×nh: ThiÕt kÕ ra trªn mµn h×nh nªn tu©n theo mét sè quy t¾c sau: - §Æt mäi th«ng tin vÒ mét nhiÖm vô trªn cïng mét mµn h×nh - ChØ dÉn râ rµng c¸ch tho¸t khái mµn h×nh - §Æt gi÷a c¸c tiªu ®Ò vµ xÕp th«ng tin theo trôc chÝnh. - §¸nh sè thø tù c¸c trang mµn h×nh - §Æt tªn ®Çu cét cho mçi cét - Tæ chøc c¸c phÇn tö 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è - ChØ ®Æt mµu cho nh÷ng th«ng tin quan träng. Trong ch­¬ng tr×nh tÝnh gi¸ thµnh s¶n phÈm t¹i c«ng ty TNHH Mü H­ng c¸c form Danh môc tõ ®iÓn ®­îc thiÕt kÕ võa lµ trang th«ng tin ra trªn mµn h×nh võa lµ mµn h×nh nhËp liÖu. 3.3.3.3. Mét sè giao diÖn mµn h×nh cña ch­¬ng tr×nh H×nh 3.14- S¬ ®å giao diÖn ch­¬ng tr×nh tÝnh gi¸ thµnh s¶n phÈm cña c«ng ty TNHH Mü H­ng TÝnh gi¸ s¶n phÈm HÖ thèng TÝnh gi¸ thµnh s¶n phÈm Qu¶n lý ng­êi sö dông §¨ng nhËp víi tªn kh¸c Sao l­u d÷ liÖu Dän dÑp d÷ liÖu TÝnh gi¸ thµnh mét s¶n phÈm CËp nhËt gi¸ thµnh tÊt c¶ s¶n phÈm B¸o c¸o B¸o c¸o gi¸ thµnh cña tÊt c¶ s¶n phÈm B¸o c¸o gi¸ thµnh s¶n phÈm theo kh¸ch hµng B¸o c¸o gi¸ thµnh chi tiÕt cña mét s¶n phÈm Danh môc tõ ®iÓn Danh môc m¸y mãc Danh môc nh©n c«ng Danh môc c«ng ®o¹n Danh môc nguyªn vËt liÖu Danh môc kh¸ch hµng Tho¸t khái ch­¬ng tr×nh Trî gióp Trî gióp Giíi thiÖu Form ®¨ng nhËp vµo ch­¬ng tr×nh H×nh 3.15-Mµn h×nh ®¨ng nhËp vµo ch­¬ng tr×nh Sau khi khëi ®éng ch­¬ng tr×nh, xuÊt hiÖn mµn h×nh ®¨ng nhËp vµo ch­¬ng tr×nh. Trong ®ã, yªu cÇu ng­êi sö dông ph¶i nhËp chÝnh x¸c tªn d¨ng nhËp vµ mËt khÈu th× míi ®­îc sö dông ch­¬ng tr×nh. - Nót §ång ý: ®ång ý ®¨ng nhËp vµo ch­¬ng tr×nh víi tªn ®¨ng nhËp vµ mËt khÈu ®· nhËp nÕu ®óng. - Nót Tho¸t: Tho¸t khái mµn h×nh ®¨ng nhËp, tho¸t khái ch­¬ng tr×nh. Mµn h×nh giao diÖn chÝnh cña ch­¬ng tr×nh H×nh 3.16- Mµn h×nh giao diÖn chÝnh cña ch­¬ng tr×nh Mµn h×nh giíi thiÖu H×nh 3.17: Mµn h×nh giíi thiÖu Mµn h×nh qu¶n lý ng­êi sö dông H×nh 3.18- Mµn h×nh qu¶n lý ng­êi sö dông Mµn h×nh qu¶n lý ng­êi sö dông dïng ®Ó qu¶n lý th«ng tin cña nh÷ng ng­êi sö dông ch­¬ng tr×nh t¹i c«ng ty, chän c«ng viÖc Qu¶n lý ng­êi sö dông trong thùc ®¬n HÖ thèng cña ch­¬ng tr×nh. C¸c phÝm chøc n¨ng: Thªm : thªm míi ng­êi sö dông ch­¬ng tr×nh nh­ng chØ cã admin míi ®­îc sö dông phÝm chøc n¨ng nµy. Söa: Söa th«ng tin cña ng­êi sö dông, nÕu ng­êi sö dông lµ admin thÝ cã thÓ thay ®æi th«ng tin cña tÊt c¶ c¸c thµnh viªn, nÕu kh«ng lµ admin th× chØ cã thÓ thay ®æi th«ng tin cña chÝnh ng­ßi sö dông ®ã. Xo¸: xo¸ ng­êi sö dông, chØ cã admin míi ®­îc sö dông phÝm chøc n¨ng nµy. Tho¸t: tho¸t khái mµn h×nh qu¶n lý ng­êi sö dông, quay trë l¹i mµn h×nh chÝnh. Mµn h×nh thùc ®¬n chän c«ng viÖc TÝnh gi¸ thµnh s¶n phÈm H×nh 3.19- Mµn h×nh thùc ®¬n chän c«ng viÖc TÝnh gi¸ thµnh s¶n phÈm Mµn h×nh giao diÖn TÝnh/ CËp nhËt gi¸ thµnh mét s¶n phÈm H×nh 3.20-Mµn h×nh giao diÖn TÝnht gi¸ thµnh mét s¶n phÈm Sau khi chän c«ng viÖc TÝnh gi¸ thµnh mét s¶n phÈm trªn thùc ®¬n cña ch­¬ng tr×nh trªn mµn h×nh chÝnh, xuÊt hiÖn mµn h×nh TÝnh gi¸ thµnh mét s¶n phÈm. TÝnh gi¸ thµnh mét s¶n phÈm míi: Khi xuÊt hiÖn mµn h×nh TÝnh gi¸ thµnh mét s¶n phÈm, ng­êi sö dông sÏ nhËp c¸c th«ng tin ®Ó tÝnh gi¸ thµnh mét s¶n phÈm míi. Ng­êi sö dông nhËp c¸c th«ng tin chung, th«ng tin chi tiÕt vÒ c¸c giai ®o¹n s¶n xuÊt vµ th«ng tin thªm. - M· s¶n phÈm, tªn s¶n phÈm, m« t¶: ng­êi sö dông b¾t buéc ph¶i nhËp - Ngµy tÝnh gi¸: mÆc ®Þnh lµ ngµy hiÖn thêi cña hÖ thèng - M· kh¸ch hµng, tªn kh¸ch hµng ®­îc lÊy tõ form danh s¸ch kh¸ch hµng sÏ hiÖn ra khi chän nót … bªn c¹nh « tªn kh¸ch hµng. NÕu kh¸ch hµng ch­a tån t¹i, tõ mµn h×nh danh s¸ch kh¸ch hµng sÏ më ra danh môc kh¸ch hµng ®Ó ng­êi dïng thªm vµo. T­¬ng tù víi M· c«ng ®o¹n, tªn c«ng ®o¹n; m· nguyªn vËt liÖu, tªn nguyªn vËt liÖu, ®¬n vÞ tÝnh; m· nh©n c«ng, tªn nh©n c«ng; m· m¸y mãc, tªn m¸y mãc còng ®­îc lÊy tõ c¸c Danh s¸ch c«ng ®o¹n, Danh s¸ch nguyªn vËt liÖu, Danh s¸ch nh©n c«ng, Danh s¸ch m¸y mãc. Cßn l¹i c¸c th«ng tin vÒ khèi l­îng nguyªn vËt liÖu, thêi gian lµm viÖc cña nh©n c«ng, thêi gian sö dông m¸y mãc, c¸c th«ng tin thªm ng­êi sö dông nhËp vµo tõ bµn phÝm. TÝnh l¹i gi¸ thµnh mét s¶n phÈm: Khi muèn tÝnh l¹i gi¸ thµnh mét s¶n phÈm ®· cã trong hÖ thèng, ng­êi dïng chän nót T×m, sÏ hiÖn ra danh s¸ch c¸c s¶n phÈm trong hÖ thèng ®Ó lùa chän s¶n phÈm cÇn cËp nhËt. Sau ®ã c¸c th«ng tin vÒ s¶n phÈm sÏ ®­îc ®­a ra mµn h×nh TÝnh gi¸ thµnh mét s¶n phÈm cho ng­êi dïng cã thÓ thay ®æi. C¸c phÝm chøc n¨ng: §èi víi c«ng ®o¹n 1- thÎ nguyªn vËt liÖu cã 3 nót chøc n¨ng: Thªm míi, Söa, Xo¸. Click chuét vµo « trong cét M· nguyªn vËt liÖu ®Ó chän nguyªn vËt liÖu cÇn Söa hoÆc Xo¸. Thªm míi: thªm mét lo¹i nguyªn vËt liÖu vµo danh s¸ch cÇn nguyªn vËt liÖu sö dông cho giai ®o¹n ®ã. Söa: söa l¹i th«ng tin vÒ khèi l­îng cña nguyªn vËt liÖu ®· chän. Xo¸: xo¸ nguyªn vËt liÖu ®· chän khái danh s¸ch nguyªn vËt liÖu cÇn dïng cho c«ng ®o¹n ®ã. T­¬ng tù víi c¸c yÕu tè nh©n c«ng, m¸y mãc, nguyªn vËt liÖu ë c¸c c«ng ®o¹n kh¸c. C¸c phÝm chøc n¨ng chung cña form: Xem b¸o c¸o: xem b¸o c¸o gi¸ chi tiÕt cña s¶n phÈm hiÖn thêi trªn mµn h×nh T×m: hiÖn mµn h×nh Danh s¸ch s¶n phÈm - hiÖn danh s¸ch c¸c s¶n phÈm trong hÖ thèng Söa: khi muèn söa th«ng tin mét s¶n phÈm ®· cã trong hÖ thèng- sau khi chän nót T×m. Ghi: Ghi l¹i th«ng tin vÒ s¶n phÈm hiÖn thêi trªn mµn h×nh. Xo¸: Xo¸ th«ng tin vÒ s¶n phÈm hiÖn thêi trªn mµn h×nh. Tho¸t: tho¸t khái mµn h×nh TÝnh gi¸ thµnh mét s¶n phÈm, quay vÒ mµn h×nh chÝnh cña ch­¬ng tr×nh. Mµn h×nh chän kh¸ch hµng (trong TÝnh gi¸ thµnh mét s¶n phÈm) H×nh 3.21- Mµn h×nh chän kh¸ch hµng Sau khi nh¸y chuét vµo nót ... c¹nh « tªn kh¸ch hµng sÏ hiÖn ra danh s¸ch kh¸ch hµng cho ng­êi dïng chän. Nh¸y chuét vµo « trong cét m· kh¸ch hµng ®Ó chän. C¸c phÝm chøc n¨ng: Chän: ®ång ý chän kh¸ch hµng ®· chän trªn form Thªm míi: më form danh môc kh¸ch hµng ®Ó thªm míi khi kh¸ch hµng ch­a tån t¹i. Tho¸t: tho¸t khái form chän kh¸ch hµng quay l¹i mµn h×nh TÝnh/cËp nhËt gi¸ mét s¶n phÈm. T­¬ng tù víi c¸c mµn h×nh chän c«ng ®o¹n, nguyªn vËt liÖu, nh©n c«ng, m¸y mãc, kh¸ch hµng, s¶n phÈm ë trong mµn h×nh TÝnh gi¸ thµnh mét s¶n phÈm, TÝnh l¹i gi¸ toµn bé s¶n phÈm, chän b¸o c¸o gi¸ thµnh chi tiÕt cña mét s¶n phÈm hay chän b¸o c¸o gi¸ thµnh s¶n phÈm theo kh¸ch hµng. Mµn h×nh tÝnh l¹i gi¸ thµnh toµn bé s¶n phÈm: H×nh 3.22- Mµn h×nh tÝnh l¹i gi¸ thµnh toµn bé s¶n phÈm TÝnh l¹i gi¸ thµnh toµn bé s¶n phÈm trong hÖ thèng lµ cÇn thiÕt khi cã sù thay ®æi vÒ ®¬n gi¸ cña nguyªn vËt liÖu, tiÒn l­¬ng theo giê cho nh©n c«ng hay chi phÝ theo giê khi sö dông m¸y mãc. Nh¸y chuét vµo c¸c « trong c¸c cét M· nguyªn vËt liÖu, m· nh©n c«ng, m· m¸y mãc ®Ó chän ®èi t­îng cÇn thay ®æi. Th«ng tin cÇn thay ®æi hiÖn ra trong c¸c « bªn c¹nh, thay ®æi th«ng tin ®ã råi Ên phÝm Enter ®Ó cËp nhËt sù thay ®æi. C¸c phÝm chøc n¨ng: §ång ý: ®ång ý víi c¸c thay ®æi vµ xem b¸o c¸o gi¸ míi cña tÊt c¶ c¸c s¶n phÈm. Tho¸t: tho¸t khái mµn h×nh TÝnh l¹i gi¸ toµn bé c¸c s¶n phÈm, quay l¹i mµn h×nh chÝnh. Mµn h×nh Danh môc nguyªn vËt liÖu H×nh 3.23- Mµn h×nh danh môc nguyªn vËt liÖu Mµn h×nh danh môc nguyªn vËt liÖu võa lµ mµn h×nh ®­a th«ng tin ra võa lµ mµn h×nh nhËp d÷ liÖu vµo. Nh¸y chuét vµo « trong cét m· nguyªn vËt liÖu, th«ng tin vÒ nguyªn vËt liÖu ®ã sÏ hiÖn ra trong c¸c « bªn d­íi ®Ó ng­êi dïng cã thÓ thùc hiÖn Söa hoÆc Xo¸. C¸c phÝm chøc n¨ng: Thªm: thªm míi mét nguyªn vËt liÖu Söa: söa th«ng tin nguyªn vËt liÖu ®· chän trong hÖ thèng Xo¸: xo¸ th«ng tin vÒ nguyªn vËt liÖu ®· chän Ghi: ghi/cËp nhËt l¹i th«ng tin vÒ nguyªn vËt liÖu hiÖn thêi trªn mµn h×nh vµo hÖ thèng. In: thùc hiÖn in danh môc tõ ®iÓn Tho¸t: tho¸t khái mµn h×nh danh môc nguyªn vËt liÖu T­¬ng tù víi danh môc c«ng ®o¹n, danh môc nh©n c«ng, danh môc m¸y mãc, danh môc kh¸ch hµng. Mµn h×nh gäi b¸o c¸o s¶n phÈm theo kh¸ch hµng H×nh 3.24- Mµn h×nh gäi b¸o c¸o theo kh¸ch hµng Mµn h×nh xuÊt hiÖn khi chän c«ng viÖc b¸o c¸o gi¸ thµnh cña c¸c s¶n phÈm theo kh¸ch hµng. Ng­êi dïng ph¶i chän kh¸ch hµng cÇn b¸o c¸o b»ng c¸ch chän nót ... c¹nh « hiÖn tªn kh¸ch hµng. Khi ®ã mµn h×nh danh s¸ch kh¸ch hµng hiÖn ra cho ng­êi dïng chän. C¸c phÝm chøc n¨ng: - §ång ý: xem b¸o c¸o víi kh¸ch hµng ®· chän - Tho¸t: Tho¸t khái mµn h×nh gäi b¸o c¸o gi¸ thµnh s¶n phÈm theo kh¸ch hµng. T­¬ng tù víi b¸o c¸o gi¸ thµnh chi tiÕt mét s¶n phÈm. 3.4. TriÓn khai ph©n hÖ th«ng tin tÝnh gi¸ thµnh s¶n phÈm 3.4.1. Lùa chän m«i tr­êng phÇn mÒm Ph©n hÖ thèng tin tÝnh gi¸ thµnh s¶n phÈm t¹i c«ng ty TNHH Mü H­ng lµ mét ch­¬ng tr×nh hoµn thiÖn. Ch­¬ng tr×nh cã dung l­îng nhá, hoµn toµn t­¬ng thÝch víi hÖ thèng m¸y tÝnh, m¸y in hiÖn nay cña bé phËn kinh doanh t¹i c«ng ty mµ kh«ng cÇn cµi ®Æt thªm ch­¬ng tr×nh kh¸c. C¸c yªu cÇu tèi thiÓu cña m¸y tÝnh khi cµi ®Æt ch­¬ng tr×nh lµ: Ram 64M CPU 1.2Ghz HDD Space 30Mb VGA Card 32Mb Cµi ®Æt hÖ ®iÒu hµnh Window 2000- MS Access 2000 3.4.2. ChiÕn l­îc x©y dùng phÇn mÒm ChiÕn l­îc x©y dùng phÇn mÒm sö dông ®èi víi phÇn mÒm nµy lµ chiÕn l­îc x©y dùng tõ d­íi lªn. ChiÕn l­îc nµy tiÕn hµnh x©y dùng phÇn mÒm víi c¸c chøc n¨ng c¬ b¶n, sau ®ã trªn c¬ së ®¸nh gi¸ gép c¸c chøc n¨ng t­¬ng tù thµnh c¸c nhãm chøc n¨ng tõ d­íi lªn trªn cho ®Õn module chÝnh. Sau ®ã thiÕt kÕ thªm c¸c chøc n¨ng kh¸c lµm ch­¬ng tr×nh ®Çy ®ñ h¬n. Cuèi cïng, x©y dùng mét ch­¬ng tr×nh tËp hîp c¸c m«®un thµnh mét ch­¬ng tr×nh thèng nhÊt. Theo nh­ chiÕn l­îc nµy, tr­íc tiªn tiÕn hµnh x©y dùng mµ h×nh c¬ b¶n nhÊt cña ch­¬ng tr×nh lµ mµn h×nh TÝnh gi¸ thµnh mét s¶n phÈm, kÌm theo ®ã lµ tÊt c¶ nh÷ng mµn h×nh phôc vô cho qu¸ tr×nh thùc hiÖn cña nã trªn nh­ c¸c danh môc tõ ®iÓn, c¸c form lùa chän kh¸ch hµng, lùa chän nhuyªn vËt liÖu, nh©n c«ng hay m¸y mãc. Sau ®ã lµ CËp nhËt gi¸ tÊt c¶ s¶n phÈm trong hÖ thèng. Gép c¸c Danh môc tõ ®iÓn vµo mét m«®un lµ Danh môc tõ ®iÓn. TiÕp theo, tiÕn hµnh x©y dùng c¸c b¸o c¸o dùa trªn nh÷ng th«ng tin nhËp vµo vµ tÝnh to¸n ®­îc vµ gép vµo m«®un B¸o c¸o. Sau ®ã, em tiÕp tôc bæ xung c¸c chøc n¨ng nh­ ®¨ng nhËp vµo hÖ thèng, qu¶n lý ng­êi dïng, ®¨ng nhËp víi tªn kh¸c, tho¸t khái ch­¬ng tr×nh vµ gép vµo mét m«®un lµ HÖ thèng lµm ch­¬ng tr×nh ®Çy ®ñ h¬n. Vµ mµn h×nh chÝnh cña ch­¬ng tr×nh ®­îc x©y dùng cuèi cïng, kÕt nèi c¸c m«®un l¹i víi nhau thµnh mét ch­¬ng tr×nh thèng nhÊt. 3.4.3. ViÕt phÇn mÒm tÝnh gi¸ thµnh s¶n phÈm Ch­¬ng tr×nh tÝnh gi¸ thµnh s¶n phÈm t¹i c«ng ty TNHH Mü H­ng ®­îc viÕt trªn c¬ së lµ ng«n ng÷ lËp tr×nh Visual Basic vµ hÖ qu¶n trÞ c¬ së d÷ liÖu Microsoft Access 2000. Qu¸ tr×nh viÕt phÇn mÒm ph¶i ®¶m b¶o ch­¬ng tr×nh phï hîp hoµn toµn víi c¸c ®Æc t¶ thiÕt kÕ. §èi víi ch­¬ng tr×nh nµy, em tiÕn hµnh song song hai qu¸ tr×nh lËp tr×nh vµ thö nghiÖm. Mçi mét m«®un hoµn thµnh ®Òu tiÕn hµnh thö nghiÖm ngay nh­ lµ mét phÇn cña hÖ thèng lín, tõng b­íc cho ®Õn khi hoµn chØnh toµn bé ch­¬ng tr×nh. 3.4.3. Thö nghiÖm phÇn mÒm tÝnh gi¸ thµnh s¶n phÈm Thö nghiÖm ch­¬ng tr×nh lµ mét qu¸ tr×nh t×m lçi nh»m ®¶m b¶o ch­¬ng tr×nh ®­îc thiÕt kÕ vµ triÓn khai ®óng víi yªu cÇu ®Ò ra. Cã 2 kiÓu lçi ®Æc tr­ng: Ch­¬ng tr×nh kh«ng lµm nh÷ng ®iÒu cÇn ph¶i lµm vµ ch­¬ng tr×nh lµm nh÷ng ®iÒu kh«ng cÇn lµm. §èi víi ch­¬ng tr×nh nµy em kÕt hîp c¶ hai kü thuËt thö nghiÖm lµ thö nghiÖm tÜnh vµ thö nghiÖm ®éng. Thö nghiÖm tÜnh chñ yÕu dïng ®Ó t×m nh÷ng lçi hay gÆp trong lËp tr×nh trong khi thö nghiÖm ®éng gióp kiÓm tra logic cña ch­¬ng tr×nh vµ kiÓm tra viÖc thùc hiÖn cña ch­¬ng tr×nh. Mét sè kü thuËt thö nghiÖm ®­îc sö dông trong ch­¬ng tr×nh nh­ kü thuËt rµ so¸t lçi ®Æc tr­ng (Inspections), kü thuËt thö nghiÖm m«®un (unit test), kü thuËt tÝch hîp (Intergration Test) vµ kü thuËt thö nghiÖm hÖ thèng (System test). ChiÕn l­îc thö nghiÖm sö dông víi ch­¬ng tr×nh nµy lµ chiÕn l­îc "Tõ d­íi lªn " do phÇn mÒm nµy ®­îc tiÕn hµnh x©y dùng tõng m«®un mét, cho nªn mçi mét m«®un cÇn ph¶i ®­îc kiÓm tra riªng rÏ, tr­íc khi tÝch hîp l¹i víi nhau. Qu¸ tr×nh thö nghiÖm ®­îc tiÕn hµnh ngay trong qu¸ tr×nh viÕt ch­¬ng tr×nh vµ hoµn thiÖn víi giai ®o¹n thö nghiÖm phÇn mÒm. 3.4.5. Cµi ®Æt ph©n hÖ th«ng tin tÝnh gi¸ thµnh s¶n phÈm Cµi ®Æt lµ qu¸ tr×nh chuyÓn ®æi tõ hÖ thèng cò sang hÖ thèng míi. Tr­íc ®©y c«ng ty TNHH Mü H­ng ch­a ¸p dông bÊt cø phÇn mÒm tÝnh gi¸ thµnh s¶n phÈm nµo phôc vô cho bé phËn s¶n xuÊt kinh doanh vµ ch­¬ng tr×nh nµy còng lµ mét ch­¬ng tr×nh nhá nªn hoµn toµn cã thÓ sö dông ph­¬ng ph¸p cµi ®Æt trùc tiÕp. Theo ph­¬ng ph¸p nµy th× hÖ thèng míi ngay lËp tøc ®­îc ®­a vµo sö dông. Ngoµi ra, hÖ thèng c¸c tÖp vµ c¬ së d÷ liÖu cña chu¬ng tr×nh ch­a tån t¹i nªn ph¶i t¹o ra. KÕt luËn Sau thêi gian thùc tËp vµ hoµn thiÖn luËn v¨n tèt nghiÖp, víi sù gióp ®ì cña gi¸o viªn h­íng dÉn, ®¬n vÞ thùc tËp còng nh­ ®¬n vÞ ¸p dông ch­¬ng tr×nh, em ®· hoµn thµnh ®Ò tµi “ X©y dùng ph©n hÖ th«ng tin tÝnh gi¸ thµnh s¶n phÈm t¹i c«ng ty Tr¸ch nhiÖm h÷u h¹n Mü H­ng”. Ch­¬ng tr×nh ®· ®¹t ®­îc nh÷ng yªu cÇu mµ ®¬n vÞ ¸p dông ®Ò ra nh­ tÝnh ®­îc gi¸ thµnh cña s¶n phÈm dùa trªn th«ng tin chi tiÕt vÒ tõng giai ®o¹n s¶n xuÊt, cËp nhËt ®­îc gi¸ thµnh cña c¸c s¶n phÈm khi cã sù thay ®æi, ®­a ra ®­îc c¸c b¸o c¸o cã liªn quan ®Õn gi¸ thµnh cña c¸c s¶n phÈm mµ c«ng ty cung cÊp, mµn h×nh cËp nhËt d÷ liÖu thuËn tiÖn, c¸c b¸o c¸o b»ng Crystal Report nªn dÔ dµng xuÊt sang c¸c lo¹i d÷ liÖu kh¸c nh­ Excel, Word. Tuy nhiªn, do thêi gian cã h¹n vµ kinh nghiÖm lµm ch­¬ng tr×nh ch­a nhiÒu nªn thùc tÕ ch­¬ng tr×nh nµy vÉn ch­a hoµn chØnh. NÕu cã thªm thêi gian vµ ®iÒu kiÖn cho phÐp, em sÏ ph¸t triÓn ch­¬ng tr×nh thªm mét sè chøc n¨ng nh­ tµi liÖu h­íng dÉn ng­êi sö dông vµ hoµn thiÖn c¸c mµn h×nh cho th©n thiÖn vµ dÔ dµng sö dông h¬n. Mét lÇn n÷a em xin ch©n thµnh c¶m ¬n sù gióp ®ì cña c« gi¸o TS TrÇn ThÞ Song Minh, ®¬n vÞ thùc tËp vµ ®¬n vÞ ¸p dông ch­¬ng tr×nh ®· gióp ®ì em hoµn thµnh luËn v¨n tèt nghiÖp nµy. Sinh viªn thùc hiÖn NguyÔn Thuú Ninh 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ª- 2000 Gi¸o tr×nh cÊu tróc d÷ liÖu vµ gi¶i thuËt – PGS.TS Hµn ViÕt ThuËn- NXB Thèng kª- 2005 Nh÷ng bµi thùc hµnh c¬ së d÷ liÖu Visual Basic c¨n b¶n, KS §inh Xu©n L©m- NXB Thèng kª- 2006 Gi¸o tr×nh c¬ së d÷ liÖu SQL, Access, Th.S TrÇn C«ng Uèn- NXB Thèng kª- 2000 Microsoft Visual Basic 6.0 help file Crystal Report 10.0 help file Phô lôc Mµn h×nh chÝnh cña ch­ong tr×nh Private Sub hethong_Click(Index As Integer) Select Case Index Case 0: frmdanhsachnguoidung.Show 1 Case 1: frmthemnguoidung.Show 1 Case 2: frmdoimatkhau.Show 1 Case 3: End End Select End Sub Private Sub tinhgia_click(Index As Integer) Select Case Index Case 0: frmtinhgiasanpham.Show 1 Case 1: frmtinhlaigiatoanbosanpham.Show 1 End Select End Sub Private Sub baocao_click(Index As Integer) Select Case Index Case 0: frmbaocaotatca.Show 1 Case 1: frmreport_kh.Show 1 Case 2: frmreport_sp.Show 1 End Select End Sub Private Sub dm_click(Index As Integer) Select Case Index Case 0: frmdanhmuccongdoan.Show 1 Case 1: frmdanhmucnguyenvatlieu.Show 1 Case 2: frmdanhmucnhancong.Show 1 Case 3: frmdanhmucmaymoc.Show 1 Case 4: frmdanhmuckhachhang.Show 1 End Select End Sub Private Sub gioithieu_Click() frmgioithieu.Show 1 End Sub Mµn h×nh TÝnh gi¸ thµnh mét s¶n phÈm Option Explicit Private Flag As String ' chon cong doan cho cac cong doan Private Sub cmdchoncongdoan1_Click() frmchoncongdoan1.Show 1 End Sub Private Sub cmdchoncongdoan2_Click() frmchoncongdoan2.Show 1 End Sub Private Sub cmdchoncongdoan3_Click() frmchoncongdoan3.Show 1 End Sub Private Sub cmdchoncongdoan4_Click() frmchoncongdoan4.Show 1 End Sub Private Sub cmdchoncongdoan5_Click() frmchoncongdoan5.Show 1 End Sub ' chon khach hang Private Sub cmdchonkhachhang_Click() frmchonkhachhang.Show 1 End Sub ' chon may moc cho cac cong doan Private Sub cmdchonmaymoc1_Click() frmchonmaymoc1.Show 1 End Sub Private Sub cmdchonmaymoc2_Click() frmchonmaymoc2.Show 1 End Sub Private Sub cmdchonmaymoc3_Click() frmchonmaymoc3.Show 1 End Sub Private Sub cmdchonmaymoc4_Click() frmchonmaymoc4.Show 1 End Sub Private Sub cmdchonmaymoc5_Click() frmchonmaymoc5.Show 1 End Sub ' chon nhan cong cho cac cong doan Private Sub cmdchonnhancong1_Click() frmchonnhancong1.Show 1 End Sub Private Sub cmdchonnhancong2_Click() frmchonnhancong2.Show 1 End Sub Private Sub cmdchonnhancong3_Click() frmchonnhancong3.Show 1 End Sub Private Sub cmdchonnhancong4_Click() frmchonnhancong4.Show 1 End Sub Private Sub cmdchonnhancong5_Click() frmchonnhancong5.Show 1 End Sub ' chon nguyen vat lieu cho cac cong doan Private Sub cmdchonnvl1_Click() frmchonnvl1.Show 1 End Sub Private Sub cmdchonnvl2_Click() frmchonnvl2.Show 1 End Sub Private Sub cmdchonnvl3_Click() frmchonnvl3.Show 1 End Sub Private Sub cmdchonnvl4_Click() frmchonnvl4.Show 1 End Sub Private Sub cmdchonnvl5_Click() frmchonnvl5.Show 1 End Sub ' form load Private Sub Form_Load() open_mdb cmdsua.Enabled = False Set_Null End Sub ' Cac command button cua form chinh Private Sub cmdghi_Click() Dim rs As New ADODB.Recordset Dim str If Flag "update" Then Flag = "save" End If str = "update sanpham set tensp= '" & Trim(txttensp) & "', mota= '" & Trim(txtmota) & "', ngaytinhgia= '" & Format(Trim(txtngaytinhgia), "dd/mm/yyyy") & "', cpthietke= '" & Trim(txtcpthietke) & "', cpvanchuyen= '" & Trim(txtcpvanchuyen) & "', cpquanly= '" & Trim(txtcpquanly) & "', cpbansp= '" & Trim(txtcpbansp) & "' where masp= '" & Trim(txtmasp) & "'" cn.Execute (str) cmdsua.Enabled = False End Sub Private Sub cmdsua_Click() Dim response response = MsgBox(" Ban co muon ghi vao ban ghi moi khong?", vbYesNo + vbQuestion, "Thong bao") If response = vbYes Then MsgBox "Ban hay thay doi ma san pham", vbOKOnly + vbExclamation, "Thong bao" txtmasp.Enabled = True txtmasp.SetFocus Flag = "save" Else txtmasp.Enabled = False txttensp.SetFocus Flag = "update" End If End Sub Private Sub cmdthoat_Click() Unload Me End Sub Private Sub cmdtim_Click() frmchonsanpham.Show 1 cmdsua.Enabled = True End Sub Private Sub cmdxoa_Click() Dim response Dim str If Trim(txtmasp) = "" Then Me.MousePointer = 0 Exit Sub End If MsgBox "Ban co chac chan xoa san pham nay khong?", vbYesNo + vbQuestion, "Thong bao" If response = vbNo Then Exit Sub Else str = "delete from nguyenvatlieuchocongdoan where masp= '" & Trim(txtmasp) & "'" cn.Execute (str) str = "delete from nhancongchocongdoan where masp= '" & Trim(txtmasp) & "'" cn.Execute (str) str = "delete from maymocchocongdoan where masp= '" & Trim(txtmasp) & "'" cn.Execute (str) str = "delete from congdoanchosanpham where masp= '" & Trim(txtmasp) & "'" cn.Execute (str) str = "delete from sanpham where masp= '" & Trim(txtmasp) & "'" cn.Execute (str) End If Set_Null End Sub Private Sub cmdxembaocao_Click() ' hien report cua mot san pham Set_Null End Sub Private Sub txtmakh_change() Dim rs As New ADODB.Recordset Dim str If (txtmasp = "") Then MsgBox " Chu y phai nhap ma san pham", vbOKOnly + vbExclamation, "Thong bao" txtmasp.SetFocus Else str = "select* from sanpham where (masp='" & Trim(txtmasp) & "')" rs.Open str, cn If rs.EOF = True Then str = "insert into sanpham(masp) values('" & Trim(txtmasp) & "')" cn.Execute (str) End If End If End Sub ' NGUYEN VAT LIEU CHO GIAI DOAN 1 ' tu dong ghi lai cac gia tri vao bang congdoanchosanpham giai doan 1 vao he thong Private Sub txtmacd1_change() Dim rs As New ADODB.Recordset Dim str str = "select* from congdoanchosanpham, sanpham where congdoanchosanpham.ID='1' and congdoanchosanpham.masp= '" & Trim(txtmasp) & "' and congdoanchosanpham.masp= sanpham.masp" rs.Open str, cn If rs.EOF = True Then str = "insert into congdoanchosanpham(ID,masp,macd) values('1','" & Trim(txtmasp) & "', '" & Trim(txtmacd1) & "')" cn.Execute (str) End If rs.Close str = "select stt from congdoanchosanpham where (ID= '1' and masp= '" & Trim(txtmasp) & "' and macd= '" & Trim(txtmacd1) & "')" rs.Open str, cn txtstt11.Text = rs!stt End Sub ' hien thi listview cua NVL giai doan 1 Private Sub hienthinvl1() Dim rs As New ADODB.Recordset Dim mitem As ListItem Dim str ivitem11.ListItems.Clear str = "select nguyenvatlieuchocongdoan.manvl,danhmucnguyenvatlieu.tennvl,nguyenvatlieuchocongdoan.khoiluong,danhmucnguyenvatlieu.donvitinh from danhmucnguyenvatlieu, nguyenvatlieuchocongdoan, congdoanchosanpham, sanpham where danhmucnguyenvatlieu.manvl=nguyenvatlieuchocongdoan.manvl and nguyenvatlieuchocongdoan.stt= congdoanchosanpham.stt and congdoanchosanpham.masp=sanpham.masp and sanpham.masp= '" & Trim(txtmasp) & "'and congdoanchosanpham.ID= '1'" rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText If (rs.EOF = False) Then While Not (rs.EOF) Set mitem = ivitem11.ListItems.Add(, , rs!manvl) mitem.SubItems(1) = rs!tennvl mitem.SubItems(2) = rs!khoiluong mitem.SubItems(3) = rs!donvitinh rs.MoveNext Wend End If End Sub ' Listview NVL cua giai doan 1- Thuoc tinh Itemclick Private Sub ivitem11_ItemClick(ByVal item As MSComctlLib.ListItem) Dim rs As New ADODB.Recordset Dim str Dim mitem As ListItem txtmanvl1 = item.Text str = "select tennvl,donvitinh from danhmucnguyenvatlieu where manvl='" & Trim(txtmanvl1) & "'" rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText txttennvl1 = rs!tennvl txtkhoiluong1 = item.SubItems(2) txtdonvitinh1 = rs!donvitinh ' Lock cac text txtmanvl1.Enabled = False txttennvl1.Enabled = False txtkhoiluong1.Enabled = False txtdonvitinh1.Enabled = False End Sub ' cmd THEM NVL giai doan 1- ghi lai cac gia tri vao bang nguyenvatlieuchocongdoan Private Sub cmdthem11_Click() If Flag "update" Then Flag = "save" End If Dim rs As New ADODB.Recordset Dim str If Trim(txtmanvl1) = "" Or Trim(txtkhoiluong1) = "" Then MsgBox "Chu y: Phai nhap du lieu day du truoc khi luu.", vbOKOnly + vbExclamation, "Thong bao" Exit Sub End If str = "select* from nguyenvatlieuchocongdoan where (nguyenvatlieuchocongdoan.manvl='" & Trim(txtmanvl1) & "' and nguyenvatlieuchocongdoan.masp= '" & Trim(txtmasp) & "' and nguyenvatlieuchocongdoan.ID='1' )" rs.Open str, cn If rs.EOF = True Then str = "insert into nguyenvatlieuchocongdoan values ('" & Trim(txtmanvl1) & "', '" & CInt(txtstt11) & "','1', '" & (txtkhoiluong1) & "', '" & Trim(txtmasp) & "')" cn.Execute (str) Else If Flag = "save" Then MsgBox " Nguyen vat lieu cho cong doan ton tai. Xin vui long kiem tra lai.", vbOKOnly + vbExclamation, "Thong bao" Me.MousePointer = 0 txtmanvl1 = "" txttennvl1 = "" txtkhoiluong1 = "" txtdonvitinh1 = "" Exit Sub End If str = "update nguyenvatlieuchocongdoan set khoiluong='" & Trim(txtkhoiluong1) & "' where (manvl='" & Trim(txtmanvl1) & "' and ID='1' and masp= '" & Trim(txtmasp) & "')" cn.Execute (str) End If ' display listview hienthinvl1 ' set cac text box null txtmanvl1 = "" txttennvl1 = "" txtkhoiluong1 = "" txtdonvitinh1 = "" ' Un_lock cac text box txtmanvl1.Enabled = True txttennvl1.Enabled = True txtkhoiluong1.Enabled = True txtdonvitinh1.Enabled = True End Sub ' cmd Sua nguyenvat lieu giai doan 1 Private Sub cmdsua11_Click() Flag = "update" txtmanvl1.Enabled = True txttennvl1.Enabled = True txtkhoiluong1.Enabled = True txtdonvitinh1.Enabled = True txtmanvl1.SetFocus End Sub ' cmd Xoa nguyen vat lieu giai doan 1 Private Sub cmdxoa11_Click() Dim str Dim response If Trim(txtmanvl1) = "" Then Exit Sub End If MsgBox "Ban co chac chan xoa khong?", vbYesNo + vbQuestion, "Thong bao" If response = vbNo Then Exit Sub Else str = " delete from nguyenvatlieuchocongdoan where (manvl='" & Trim(txtmanvl1) & "' and ID='1' and masp='" & Trim(txtmasp) & "')" cn.Execute (str) End If hienthinvl1 ' set cac text box null txtmanvl1 = "" txttennvl1 = "" txtkhoiluong1 = "" txtdonvitinh1 = "" End Sub ' NHAN CONG CHO GIAI DOAN 1 ' hien thi listview cua NHANCONG giai doan 1 Private Sub hienthinhancong1() Dim rs As New ADODB.Recordset Dim mitem As ListItem Dim str ivitem12.ListItems.Clear str = "select nhancongchocongdoan.manc,danhmucnhancong.tennc,nhancongchocongdoan.thoigianlamviec from danhmucnhancong, nhancongchocongdoan, congdoanchosanpham, sanpham where danhmucnhancong.manc=nhancongchocongdoan.manc and nhancongchocongdoan.stt= congdoanchosanpham.stt and congdoanchosanpham.masp=sanpham.masp and sanpham.masp= '" & Trim(txtmasp) & "'and congdoanchosanpham.ID= '1'" rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText If (rs.EOF = False) Then While Not (rs.EOF) Set mitem = ivitem12.ListItems.Add(, , rs!manc) mitem.SubItems(1) = rs!tennc mitem.SubItems(2) = rs!thoigianlamviec rs.MoveNext Wend End If End Sub ' Listview NHANCONG cua giai doan 1- Thuoc tinh Itemclick Private Sub ivitem12_itemclick(ByVal item As MSComctlLib.ListItem) Dim rs As New ADODB.Recordset Dim str Dim mitem As ListItem txtmanc1 = item.Text str = "select tennc from danhmucnhancong where manc='" & Trim(txtmanc1) & "'" rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText txttennc1 = rs!tennc txtthoigianlamviec1 = item.SubItems(2) ' Lock cac text txtmanc1.Enabled = False txttennc1.Enabled = False txtthoigianlamviec1.Enabled = False End Sub ' cmd THEM Nhancong giai doan 1- ghi lai cac gia tri vao bang nguyenvatlieuchocongdoan Private Sub cmdthem12_Click() If Flag "update" Then Flag = "save" End If Dim rs As New ADODB.Recordset Dim str If Trim(txtmanc1) = "" Or Trim(txtthoigianlamviec1) = "" Then MsgBox "Chu y: Phai nhap du lieu day du truoc khi luu.", vbOKOnly + vbExclamation, "Thong bao" Exit Sub End If str = "select* from nhancongchocongdoan where (nhancongchocongdoan.manc='" & Trim(txtmanc1) & "' and nhancongchocongdoan.masp= '" & Trim(txtmasp) & "' and nhancongchocongdoan.ID='1' )" rs.Open str, cn If rs.EOF = True Then str = "insert into nhancongchocongdoan values ('" & Trim(txtmanc1) & "', '" & CInt(txtstt11) & "','1', '" & (txtthoigianlamviec1) & "', '" & Trim(txtmasp) & "')" cn.Execute (str) Else If Flag = "save" Then MsgBox " Nhan cong cho cong doan ton tai. Xin vui long kiem tra lai.", vbOKOnly + vbExclamation, "Thong bao" Me.MousePointer = 0 txtmanc1 = "" txttennc1 = "" txtthoigianlamviec1 = "" Exit Sub End If str = "update nhancongchocongdoan set thoigianlamviec='" & Trim(txtthoigianlamviec1) & "' where (manc='" & Trim(txtmanc1) & "' and ID='1' and masp= '" & Trim(txtmasp) & "')" cn.Execute (str) End If ' display listview hienthinhancong1 ' set cac text box null txtmanc1 = "" txttennc1 = "" txtthoigianlamviec1 = "" ' Un_lock cac text box txtmanc1.Enabled = True txttennc1.Enabled = True txtthoigianlamviec1.Enabled = True End Sub ' cmd Sua nhancong giai doan 1 Private Sub cmdsua12_Click() Flag = "update" txtmanc1.Enabled = True txttennc1.Enabled = True txtthoigianlamviec1.Enabled = True txtmanc1.SetFocus End Sub ' cmd Xoa nhan cong giai doan 1 Private Sub cmdxoa12_Click() Dim str Dim response If Trim(txtmanc1) = "" Then Exit Sub End If MsgBox "Ban co chac chan xoa khong?", vbYesNo + vbQuestion, "Thong bao" If response = vbNo Then Exit Sub Else str = " delete from nhancongchocongdoan where (manc='" & Trim(txtmanc1) & "' and ID='1' and masp='" & Trim(txtmasp) & "')" cn.Execute (str) End If hienthinhancong1 ' set cac text box null txtmanc1 = "" txttennc1 = "" txtthoigianlamviec1 = "" End Sub ' MAY MOC CHO GIAI DOAN 1 ' hien thi listview cua MAYMOC giai doan 1 Private Sub hienthimaymoc1() Dim rs As New ADODB.Recordset Dim mitem As ListItem Dim str ivitem13.ListItems.Clear str = "select maymocchocongdoan.mamm,danhmucmaymoc.tenmm,maymocchocongdoan.thoigiansudung from danhmucmaymoc, maymocchocongdoan, congdoanchosanpham, sanpham where danhmucmaymoc.mamm=maymocchocongdoan.mamm and maymocchocongdoan.stt= congdoanchosanpham.stt and congdoanchosanpham.masp=sanpham.masp and sanpham.masp= '" & Trim(txtmasp) & "'and congdoanchosanpham.ID= '1'" rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText If (rs.EOF = False) Then While Not (rs.EOF) Set mitem = ivitem13.ListItems.Add(, , rs!mamm) mitem.SubItems(1) = rs!tenmm mitem.SubItems(2) = rs!thoigiansudung rs.MoveNext Wend End If End Sub ' Listview MAYMOC cua giai doan 1- Thuoc tinh Itemclick Private Sub ivitem13_itemclick(ByVal item As MSComctlLib.ListItem) Dim rs As New ADODB.Recordset Dim str Dim mitem As ListItem txtmamm1 = item.Text str = "select tenmm from danhmucmaymoc where mamm='" & Trim(txtmamm1) & "'" rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText txttenmm1 = rs!tenmm txtthoigiansudung1 = item.SubItems(2) ' Lock cac text txtmamm1.Enabled = False txttenmm1.Enabled = False txtthoigiansudung1.Enabled = False End Sub ' cmd THEM MAYMOC giai doan 1- ghi lai cac gia tri vao bang maymocchocongdoan Private Sub cmdthem13_Click() If Flag "update" Then Flag = "save" End If Dim rs As New ADODB.Recordset Dim str If Trim(txtmamm1) = "" Or Trim(txtthoigiansudung1) = "" Then MsgBox "Chu y: Phai nhap du lieu day du truoc khi luu.", vbOKOnly + vbExclamation, "Thong bao" Exit Sub End If str = "select* from maymocchocongdoan where (maymocchocongdoan.mamm='" & Trim(txtmamm1) & "' and maymocchocongdoan.masp= '" & Trim(txtmasp) & "' and maymocchocongdoan.ID='1' )" rs.Open str, cn If rs.EOF = True Then str = "insert into maymocchocongdoan values ('" & Trim(txtmamm1) & "', '" & CInt(txtstt11) & "','1', '" & (txtthoigiansudung1) & "', '" & Trim(txtmasp) & "')" cn.Execute (str) Else If Flag = "save" Then MsgBox " May moc cho cong doan nay ton tai. Xin vui long kiem tra lai.", vbOKOnly + vbExclamation, "Thong bao" Me.MousePointer = 0 txtmamm1 = "" txttenmm1 = "" txtthoigiansudung1 = "" Exit Sub End If str = "update maymocchocongdoan set thoigiansudung='" & Trim(txtthoigiansudung1) & "' where (mamm='" & Trim(txtmamm1) & "' and ID='1' and masp= '" & Trim(txtmasp) & "')" cn.Execute (str) End If ' display listview hienthimaymoc1 ' set cac text box null txtmamm1 = "" txttenmm1 = "" txtthoigiansudung1 = "" ' Un_lock cac text box txtmamm1.Enabled = True txttenmm1.Enabled = True txtthoigiansudung1.Enabled = True End Sub ' cmd Sua maymoc giai doan 1 Private Sub cmdsua13_click() Flag = "update" txtmamm1.Enabled = True txttenmm1.Enabled = True txtthoigiansudung1.Enabled = True txtmamm1.SetFocus End Sub ' cmd Xoa maymoc giai doan 1 Private Sub cmdxoa13_Click() Dim str Dim response If Trim(txtmamm1) = "" Then Exit Sub End If MsgBox "Ban co chac chan xoa khong?", vbYesNo + vbQuestion, "Thong bao" If response = vbNo Then Exit Sub Else str = " delete from maymocchocongdoan where (mamm='" & Trim(txtmamm1) & "' and ID='1' and masp='" & Trim(txtmasp) & "')" cn.Execute (str) End If hienthimaymoc1 ' set cac text box null txtmamm1 = "" txttenmm1 = "" txtthoigiansudung1 = "" End Sub Danh môc nguyªn vËt liÖu Option Explicit Private Flag As String Private Sub cmdghi_Click() If Flag "update" Then Flag = "save" End If Luu_Du_Lieu End Sub Private Sub cmdin_Click() If DE1.rsdanhmucnguyenvatlieu.State = 0 Then DE1.rsdanhmucnguyenvatlieu.Open End If DE1.rsdanhmucnguyenvatlieu.Requery Report_danhmucnguyenvatlieu.Show End Sub Private Sub cmdsua_Click() Flag = "update" Sua_Du_Lieu End Sub Private Sub cmdthem_Click() Un_Lock_Text Set_Null End Sub Private Sub cmdthoat_Click() Unload Me End Sub Private Sub cmdxoa_Click() Xoa_Du_Lieu End Sub Private Sub Form_Load() 'open_mdb Lock_Text Display_Listview End Sub Private Sub lvitem_itemclick(ByVal item As MSComctlLib.ListItem) Dim rs As New ADODB.Recordset Dim str txtmanvl = item.Text txttennvl = item.SubItems(1) txtdonvitinh = item.SubItems(2) txtdongia = item.SubItems(3) End Sub Private Sub txtmanvl_Gotfocus() txtmanvl.BackColor = &HC0E0FF End Sub Private Sub txtmanvl_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txttennvl.SetFocus End Select End Sub Private Sub txtmanvl_LostFocus() txtmanvl.BackColor = &HFFFFFF End Sub Private Sub txttennvl_Gotfocus() txttennvl.BackColor = &HC0E0FF End Sub Private Sub txttennvl_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txtdonvitinh.SetFocus End Select End Sub Private Sub txttennvl_LostFocus() txttennvl.BackColor = &HFFFFFF End Sub Private Sub txtdonvitinh_Gotfocus() txtdonvitinh.BackColor = &HC0E0FF End Sub Private Sub txtdonvitinh_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txtdongia.SetFocus End Select End Sub Private Sub txtdonvitinh_LostFocus() txtdonvitinh.BackColor = &HFFFFFF End Sub Private Sub txtdongia_Gotfocus() txtdongia.BackColor = &HC0E0FF End Sub Private Sub txtdongia_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 cmdghi.SetFocus End Select End Sub Private Sub txtdongia_LostFocus() txtdongia.BackColor = &HFFFFFF End Sub Private Sub Xoa_Du_Lieu() Dim str Dim response If Trim(txtmanvl) = "" Then Exit Sub End If MsgBox "Ban co chac chan xoa khong?", vbYesNo + vbQuestion, "Th«ng b¸o" If response = vbNo Then Exit Sub Else str = " delete from danhmucnguyenvatlieu where manvl='" & Trim(txtmanvl) & '" cn.Execute (str) End If Set_Null Lock_Text Display_Listview End Sub Private Sub Luu_Du_Lieu() Dim rs As New ADODB.Recordset Dim str If Trim(txtmanvl) = "" Or Trim(txttennvl) = "" Then MsgBox "Chu y: Phai nhap du lieu day du truoc khi luu.", vbOKOnly + vbExclamation, "Thong bao" Exit Sub End If str = "select* from danhmucnguyenvatlieu where manvl='" & Trim(txtmanvl) & "'" rs.Open str, cn If rs.EOF = True Then str = "insert into danhmucnguyenvatlieu values ('" & Trim(txtmanvl) & "','" & Trim(txttennvl) & "', '" & Trim(txtdonvitinh) & "', '" & Trim(txtdongia) & "')" cn.Execute (str) Else If Flag = "save" Then MsgBox " Ma nguyen vat lieu da ton tai. Xin vui long kiem tra lai.", vbOKOnly + vbExclamation, "Thong bao" Me.MousePointer = 0 Exit Sub End If str = "update danhmucnguyenvatlieu set tennvl='" & Trim(txttennvl) & "',donvitinh='" & Trim(txtdonvitinh) & "',dongia='" & Trim(txtdongia) & "'where manvl='" & Trim(txtmanvl) & "'" cn.Execute (str) End If Lock_Text Display_Listview cmdthem.SetFocus Me.MousePointer = 0 End Sub Private Sub Set_Null() txtmanvl = "" txttennvl = "" txtdonvitinh = "" txtdongia = "" End Sub Private Sub Lock_Text() txtmanvl.Enabled = False txttennvl.Enabled = False txtdonvitinh.Enabled = False txtdongia.Enabled = False cmdthem.Enabled = True cmdsua.Enabled = True cmdxoa.Enabled = True Flag = "" End Sub Private Sub Un_Lock_Text() txtmanvl.Enabled = True txttennvl.Enabled = True txtdonvitinh.Enabled = True txtdongia.Enabled = True txtmanvl.SetFocus cmdghi.Enabled = True cmdthem.Enabled = False cmdsua.Enabled = False cmdxoa.Enabled = False End Sub Private Sub Display_Listview() Dim rs As New ADODB.Recordset Dim str Dim mitem As ListItem lvitem.ListItems.Clear str = "select * from danhmucnguyenvatlieu order by manvl asc" rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText If rs.EOF = False Then While Not rs.EOF Set mitem = lvitem.ListItems.Add(, , rs!manvl) mitem.SubItems(1) = rs!tennvl mitem.SubItems(2) = rs!donvitinh mitem.SubItems(3) = rs!dongia rs.MoveNext Wend End If End Sub Private Sub Sua_Du_Lieu() Un_Lock_Text txtmanvl.Enabled = False txttennvl.SetFocus End Sub Option Explicit Private Flag As String Private Sub cmdghi_Click() If Flag "update" Then Flag = "save" End If Luu_Du_Lieu End Sub Private Sub cmdin_Click() If DE1.rsdanhmucnguyenvatlieu.State = 0 Then DE1.rsdanhmucnguyenvatlieu.Open End If DE1.rsdanhmucnguyenvatlieu.Requery Report_danhmucnguyenvatlieu.Show End Sub Private Sub cmdsua_Click() Flag = "update" Sua_Du_Lieu End Sub Private Sub cmdthem_Click() Un_Lock_Text Set_Null End Sub Private Sub cmdthoat_Click() Unload Me End Sub Private Sub cmdxoa_Click() Xoa_Du_Lieu End Sub Private Sub Form_Load() 'open_mdb Lock_Text Display_Listview End Sub Private Sub lvitem_itemclick(ByVal item As MSComctlLib.ListItem) Dim rs As New ADODB.Recordset Dim str txtmanvl = item.Text txttennvl = item.SubItems(1) txtdonvitinh = item.SubItems(2) txtdongia = item.SubItems(3) End Sub Private Sub txtmanvl_Gotfocus() txtmanvl.BackColor = &HC0E0FF End Sub Private Sub txtmanvl_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txttennvl.SetFocus End Select End Sub Private Sub txtmanvl_LostFocus() txtmanvl.BackColor = &HFFFFFF End Sub Private Sub txttennvl_Gotfocus() txttennvl.BackColor = &HC0E0FF End Sub Private Sub txttennvl_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txtdonvitinh.SetFocus End Select End Sub Private Sub txttennvl_LostFocus() txttennvl.BackColor = &HFFFFFF End Sub Private Sub txtdonvitinh_Gotfocus() txtdonvitinh.BackColor = &HC0E0FF End Sub Private Sub txtdonvitinh_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txtdongia.SetFocus End Select End Sub Private Sub txtdonvitinh_LostFocus() txtdonvitinh.BackColor = &HFFFFFF End Sub Private Sub txtdongia_Gotfocus() txtdongia.BackColor = &HC0E0FF End Sub Private Sub txtdongia_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 cmdghi.SetFocus End Select End Sub Private Sub txtdongia_LostFocus() txtdongia.BackColor = &HFFFFFF End Sub Private Sub Xoa_Du_Lieu() Dim str Dim response If Trim(txtmanvl) = "" Then Exit Sub End If If MsgBox("Baïn coù chaéc chaén xoaù khoâng?", vbYesNo + vbQuestion, "Th«ng b¸o") = vbYes Then str = " delete from danhmucnguyenvatlieu where manvl='" & Trim(txtmanvl) & "'" cn.Execute (str) Else Exit Sub End If Set_Null Lock_Text Display_Listview End Sub Private Sub Luu_Du_Lieu() Dim rs As New ADODB.Recordset Dim str If Trim(txtmanvl) = "" Or Trim(txttennvl) = "" Then MsgBox "Chu y: Phai nhap du lieu day du truoc khi luu.", vbOKOnly + vbExclamation, "Thong bao" Exit Sub End If str = "select* from danhmucnguyenvatlieu where manvl='" & Trim(txtmanvl) & "'" rs.Open str, cn If rs.EOF = True Then str = "insert into danhmucnguyenvatlieu values ('" & Trim(txtmanvl) & "','" & Trim(txttennvl) & "', '" & Trim(txtdonvitinh) & "', '" & Trim(txtdongia) & "')" cn.Execute (str) Else If Flag = "save" Then MsgBox " Ma nguyen vat lieu da ton tai. Xin vui long kiem tra lai.", vbOKOnly + vbExclamation, "Thong bao" Me.MousePointer = 0 Exit Sub End If str = "update danhmucnguyenvatlieu set tennvl='" & Trim(txttennvl) & "',donvitinh='" & Trim(txtdonvitinh) & "',dongia='" & Trim(txtdongia) & "'where manvl='" & Trim(txtmanvl) & "'" cn.Execute (str) End If Set_Null Lock_Text Display_Listview cmdthem.SetFocus Me.MousePointer = 0 End Sub Private Sub Set_Null() txtmanvl = "" txttennvl = "" txtdonvitinh = "" txtdongia = "" End Sub Private Sub Lock_Text() txtmanvl.Enabled = False txttennvl.Enabled = False txtdonvitinh.Enabled = False txtdongia.Enabled = False cmdthem.Enabled = True cmdsua.Enabled = True cmdxoa.Enabled = True Flag = "" End Sub Private Sub Un_Lock_Text() txtmanvl.Enabled = True txttennvl.Enabled = True txtdonvitinh.Enabled = True txtdongia.Enabled = True txtmanvl.SetFocus cmdghi.Enabled = True cmdthem.Enabled = False cmdsua.Enabled = False cmdxoa.Enabled = False End Sub Private Sub Display_Listview() Dim rs As New ADODB.Recordset Dim str Dim mitem As ListItem lvitem.ListItems.Clear str = "select * from danhmucnguyenvatlieu order by manvl asc" rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText If rs.EOF = False Then While Not rs.EOF Set mitem = lvitem.ListItems.Add(, , rs!manvl) mitem.SubItems(1) = rs!tennvl mitem.SubItems(2) = rs!donvitinh mitem.SubItems(3) = rs!dongia rs.MoveNext Wend End If End Sub Private Sub Sua_Du_Lieu() Un_Lock_Text txtmanvl.Enabled = False txttennvl.SetFocus End Sub

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

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