




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目 錄摘要2Abstract21、引言31.1系統(tǒng)開發(fā)的背景和目的31.2 MIS與手工管理的對(duì)比32、需求分析32.1 系統(tǒng)功能分析32.2 系統(tǒng)結(jié)構(gòu)及各模塊點(diǎn)功能43、概念結(jié)構(gòu)設(shè)計(jì)54、邏輯結(jié)構(gòu)設(shè)計(jì)55、功能設(shè)計(jì)66、小結(jié)9致 謝9參考文獻(xiàn)10附錄11超市管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要:盡管許多大型超市實(shí)現(xiàn)了用計(jì)算機(jī)來(lái)管理信息系統(tǒng),但對(duì)于數(shù)以萬(wàn)計(jì)的仍以手工管理的小型超市而言,用計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)和數(shù)據(jù)庫(kù)技術(shù)開發(fā)一套超市管理信息系統(tǒng)仍具有誘人的市場(chǎng)前景。本系統(tǒng)以Visual Basic為開發(fā)平臺(tái)設(shè)計(jì)系統(tǒng)所有界面,以SQL Server為數(shù)據(jù)源,通過(guò)Visual Basic與SQL Server的聯(lián)
2、合編程,使Visual Basic與SQL Server進(jìn)行連接,從而實(shí)現(xiàn)了在界面上對(duì)超市的資料管理、采購(gòu)管理、庫(kù)存管理以及銷售管理等進(jìn)行操作,可大大提高超市管理的效率。關(guān)鍵詞:超市管理信息系統(tǒng); Visual Basic;SQL ServerDesign and Implementation of a Supermarket Management Information SystemAbstract: Although many large-scale supermarket have realizad useing computer manage information system, b
3、ut tens of thousands of small supermarkets still using hand to manage, so use computer network systems and database technology to develop a management information system supermarket still has an attractive market prospects. The Visual Basic development platform is based all the interface of this sys
4、tem design,and SQL Server was used as a data source.Make Visual Basic and SQL Server connection by useing Visual Basic join SQL Server programming, and realiza the management of supermarket information management, purchasing management, inventory management and sales management on the interface, and
5、 the efficiency of the supermarket can greatly improved.Key words: supermarket management information system; Visual Basic ; SQL Server1、引言1.1系統(tǒng)開發(fā)的背景和目的 21世紀(jì),超市的競(jìng)爭(zhēng)也進(jìn)入到了一個(gè)全新的領(lǐng)域,競(jìng)爭(zhēng)已不僅僅是規(guī)模的競(jìng)爭(zhēng),同時(shí)也是技術(shù)的競(jìng)爭(zhēng)、管理的競(jìng)爭(zhēng)、人才的競(jìng)爭(zhēng)。完善進(jìn)、銷、存、人、財(cái)、物等管理,是現(xiàn)代商場(chǎng)提高效率和競(jìng)爭(zhēng)力,實(shí)現(xiàn)利潤(rùn)最大化的關(guān)鍵。盡管許多大型超市實(shí)現(xiàn)了用計(jì)算機(jī)來(lái)管理信息系統(tǒng),但對(duì)于數(shù)以萬(wàn)計(jì)的仍以手工管理的小型超市而言,用計(jì)
6、算機(jī)網(wǎng)絡(luò)系統(tǒng)和數(shù)據(jù)庫(kù)技術(shù)開發(fā)一套超市管理信息系統(tǒng)仍具有誘人的市場(chǎng)前景。本系統(tǒng)擬以民大超市管理為對(duì)象,用計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)和數(shù)據(jù)庫(kù)技術(shù),以Visual Basic與SQL Server為平臺(tái)開發(fā)一套通用的超市MIS軟件,提升超市的管理水平,為降低經(jīng)營(yíng)成本, 提高效益,增強(qiáng)超市擴(kuò)張力, 提供有效的技術(shù)保障。1.2 MIS與手工管理的對(duì)比所謂MIS(管理信息系統(tǒng)-Management Information System)系統(tǒng),主要指的是進(jìn)行日常事物操作的系統(tǒng)。這種系統(tǒng)主要用于管理需要的記錄,并對(duì)記錄數(shù)據(jù)進(jìn)行相關(guān)處理。MIS系統(tǒng)通常用于系統(tǒng)決策,例如,可以利用MIS系統(tǒng)找出目前迫切需要解決的問(wèn)題,并將信
7、息及時(shí)反饋給上層管理人員,使他們了解當(dāng)前工作發(fā)展的進(jìn)展或不足。換句話說(shuō),MIS系統(tǒng)的最終目的是使管理人員及時(shí)了解公司現(xiàn)狀,把握將來(lái)的發(fā)展路徑。在現(xiàn)代化管理中,計(jì)算機(jī)管理信息系統(tǒng)已經(jīng)成為企業(yè)管理不可缺少的幫手,它的廣泛應(yīng)用已經(jīng)成為管理現(xiàn)代化的重要標(biāo)志。隨著科學(xué)技術(shù)的發(fā)展,尤其是信息技術(shù)和通訊技術(shù)的發(fā)展,使計(jì)算機(jī)和網(wǎng)絡(luò)逐漸應(yīng)用于現(xiàn)代管理之中。面對(duì)越來(lái)越多的信息資源和越來(lái)越復(fù)雜的企業(yè)內(nèi)外部環(huán)境,企業(yè)有必要建立高效、實(shí)用的管理信息系統(tǒng),為企業(yè)管理決策和控制提供保障,這是實(shí)現(xiàn)管理現(xiàn)代化的必然趨勢(shì)1。過(guò)去傳統(tǒng)的管理方式是以人為主體的人工操作,雖然管理人員投入了大量的時(shí)間、精力,然而個(gè)人的能力是有限的,所以
8、管理工作難免會(huì)出現(xiàn)局限性,或帶有個(gè)人的主觀性和片面性。而管理信息系統(tǒng)使用系統(tǒng)思想建立起來(lái)的,以計(jì)算機(jī)為信息處理手段,以現(xiàn)代化通信設(shè)備為基本傳輸工具,能為管理決策者提供信息服務(wù)的人機(jī)系統(tǒng),這無(wú)疑是將管理與現(xiàn)代化接軌,以科技提高管理質(zhì)量的重大舉措2。2、需求分析2.1 系統(tǒng)功能分析 根據(jù)實(shí)際需要,本系統(tǒng)應(yīng)該具有以下功能: (1)供應(yīng)商資料管理:根據(jù)超市業(yè)務(wù)需要,通過(guò)供應(yīng)商唯一的編號(hào)來(lái)實(shí)現(xiàn)供應(yīng)商資料的查找、添加和修改。 (2)商品資料管理:根據(jù)超市業(yè)務(wù)特點(diǎn),可以通過(guò)商品唯一的編號(hào),實(shí)現(xiàn)商品資料的查找、添加和修改。 (3)用戶管理:不同的用戶擁有不同的權(quán)限,對(duì)系統(tǒng)進(jìn)行的操作不同。其中員工的權(quán)限是:通過(guò)
9、商品編號(hào)獲得商品信息,打印銷售單;管理人員的權(quán)限是:操作軟件對(duì)供應(yīng)商、商品、人員等資料進(jìn)行錄入和修改;根據(jù)庫(kù)存狀態(tài),制定進(jìn)貨單,對(duì)進(jìn)貨入庫(kù)進(jìn)行審核;對(duì)銷售進(jìn)行分析統(tǒng)計(jì)。(4)采購(gòu)管理:根據(jù)實(shí)際情況制定進(jìn)貨計(jì)劃,按照計(jì)劃單進(jìn)行商品的入庫(kù)操作。(5)銷售管理:根據(jù)銷售情況打印銷售單,通過(guò)銷售單唯一的編號(hào),實(shí)現(xiàn)銷售查詢、統(tǒng)計(jì)。(6)庫(kù)存管理:包括庫(kù)存盤點(diǎn)和庫(kù)存維護(hù),通過(guò)商品編號(hào)來(lái)查找商品的庫(kù)存狀態(tài),并根據(jù)實(shí)際需要設(shè)置商品的最低儲(chǔ)備、正常儲(chǔ)備和最高儲(chǔ)備。2.2 系統(tǒng)結(jié)構(gòu)及各模塊點(diǎn)功能超市管理信息系統(tǒng)供應(yīng)商資料管理商品資料管理采購(gòu)管理銷售管理庫(kù)存管理系統(tǒng)管理數(shù)據(jù)統(tǒng)計(jì)供應(yīng)商資料管理模塊:對(duì)供應(yīng)商信息進(jìn)行查
10、找、添加、修改和刪除;商品資料管理模塊:對(duì)商品進(jìn)行查找,并對(duì)商品名稱,計(jì)量單位,供應(yīng)商等基本信息進(jìn)行操作;采購(gòu)管理:制定進(jìn)貨單,實(shí)現(xiàn)進(jìn)貨入庫(kù);銷售管理:打印銷售單,查詢銷售詳情;庫(kù)存管理:盤點(diǎn)商品庫(kù)存,對(duì)商品庫(kù)存進(jìn)行維護(hù);數(shù)據(jù)統(tǒng)計(jì):對(duì)進(jìn)貨與銷售進(jìn)行分析,獲得銷售利潤(rùn);系統(tǒng)管理:對(duì)超市所有用戶的資料,包括用戶的基本資料,用戶的權(quán)限等進(jìn)行統(tǒng)一管理。3、概念結(jié)構(gòu)設(shè)計(jì)系統(tǒng)的ER圖如圖一所示:供貨商編號(hào)提供商品供貨商名稱n銷售日期供貨商電話供貨商地址供貨商銷售銷售單號(hào)商品編號(hào)商品名稱供應(yīng)商編號(hào)供貨商品銷售員計(jì)量單位供應(yīng)商地址mn員工用戶ID用戶密碼用戶類別用戶名稱電話權(quán)限住址銷售員圖一 系統(tǒng)的總體ER圖
11、4、邏輯結(jié)構(gòu)設(shè)計(jì)系統(tǒng)的關(guān)系模型如下3-6:(1)供應(yīng)商資料表:(供應(yīng)商編號(hào)、供應(yīng)商名稱、地址、電話、郵編、提供商品)(2)商品資料表:(商品編號(hào)、商品名稱、計(jì)量單位、供應(yīng)商編號(hào)、供應(yīng)商地址)(3)商品庫(kù)存表:(商品編號(hào)、商品狀態(tài)、成本價(jià)、銷售價(jià)、庫(kù)存數(shù)量、最低儲(chǔ)備、正常儲(chǔ)備、最高儲(chǔ)備、最近操作日期、操作人員)(4)盤點(diǎn)明細(xì)表:(編號(hào)ID、商品編號(hào)、調(diào)整數(shù)量、成本價(jià)、調(diào)整總金額、操作日期、操作人員、標(biāo)志)(5)采購(gòu)單明細(xì)表:(采購(gòu)編號(hào)ID、采購(gòu)單號(hào)、商品編號(hào)、采購(gòu)數(shù)量、采購(gòu)單價(jià)、總共金額)(6)采購(gòu)單表:(采購(gòu)單號(hào)、供應(yīng)商編號(hào)、采購(gòu)日期、采購(gòu)員、是否審核、操作人員、總共金額)(7)銷售單明細(xì)表:
12、(銷售編號(hào)ID、銷售單號(hào)、商品編號(hào)、銷售數(shù)量、成本單價(jià)、銷售單價(jià)、總金額)(8)銷售單表:(銷售單號(hào)、銷售日期、銷售員、是否審核、操作人員、總共金額)(9)用戶信息表:(用戶ID、用戶名稱、用戶密碼、用戶類別、地址、電話、權(quán)限)其中畫有黑粗下畫線的屬性為主碼,細(xì)下畫線的為外碼。5、功能設(shè)計(jì):系統(tǒng)的登陸界面如圖5.1所示7-11: 圖5.1 系統(tǒng)的登陸界面這部分主要的作用是:將輸入的信息與數(shù)據(jù)庫(kù)中用戶的信息進(jìn)行核對(duì),只有核對(duì)正確的才能進(jìn)入到系統(tǒng)中。系統(tǒng)的主界面如圖5.2所示: 圖5.2 超市管理系統(tǒng)主界面這部分的主要功能是:通過(guò)登陸時(shí)的用戶信息,獲得用戶的權(quán)限,使其對(duì)系統(tǒng)有不同的操作權(quán)限。如管理
13、員擁有所有的權(quán)限,而員工只擁有資料管理和銷售管理的權(quán)限。供應(yīng)商資料管理界面如圖5.3所示(商品資料管理界面類似):這部分主要的作用是:通過(guò)供應(yīng)商唯一的編號(hào),對(duì)供應(yīng)商的資料進(jìn)行相關(guān)查詢,并可對(duì)供應(yīng)商資料進(jìn)行相關(guān)的添加、修改、刪除和保存等操作。 圖5.3 供應(yīng)商資料管理界面商品銷售單分析界面及銷售統(tǒng)計(jì)界面分別如圖5.4、5.5所示: 圖5.4 商品銷售單分析界面圖5.5 商品銷售統(tǒng)計(jì)界面這部分的主要功能是:對(duì)一段時(shí)間內(nèi)的商品銷售情況進(jìn)行統(tǒng)計(jì)分析,得到銷售的總利潤(rùn)。庫(kù)存維護(hù)和庫(kù)存盤點(diǎn)界面分別如圖5.6、5.7所示:圖5.6 庫(kù)存維護(hù)界面圖5.7 庫(kù)存盤點(diǎn)界面這部分的主要功能是:對(duì)商品的庫(kù)存信息進(jìn)行盤
14、點(diǎn)分析,并可對(duì)商品的庫(kù)存進(jìn)行查詢和修改。用戶資料管理界面如圖5.8所示:圖5.8 用戶管理界面這部分的主要作用是:可對(duì)用戶進(jìn)行查詢,獲得其基本資料及權(quán)限,并可對(duì)用戶的資料及權(quán)限進(jìn)行相關(guān)的添加、修改、刪除和保存等操作。詳細(xì)的代碼見附錄。6、小結(jié)本文簡(jiǎn)要介紹了超市管理系統(tǒng)的設(shè)計(jì)流程,重點(diǎn)闡述了系統(tǒng)設(shè)計(jì)過(guò)程中的結(jié)構(gòu)設(shè)計(jì)部分和功能設(shè)計(jì)部分。和傳統(tǒng)管理模式相比較,使用本系統(tǒng),大大提高超市的運(yùn)作效率,為降低經(jīng)營(yíng)成本, 提高效益,增強(qiáng)超市擴(kuò)張能力, 提供了有效的技術(shù)保障。由于能力有限,加上時(shí)間倉(cāng)促,本系統(tǒng)仍有一些功能有待完善,例如:本系統(tǒng)只適用于小型超市的管理,由于大型超市管理系統(tǒng)還包括會(huì)員管理及商品的折扣
15、管理等諸多方面,因此本系統(tǒng)不適用于大型超市的管理。對(duì)于上述不足之處,希望老師能給與批評(píng)指正。致 謝本系統(tǒng)的設(shè)計(jì)過(guò)程中得到了XXX老師的大量指導(dǎo)以及同學(xué)的大量幫助,在這里,對(duì)他們表示誠(chéng)摯的感謝!在系統(tǒng)設(shè)計(jì)過(guò)程中,我深深的感覺到在知識(shí)方面還很欠缺,在技術(shù)方面也有很多的問(wèn)題需要在以后的學(xué)習(xí)中慢慢改進(jìn),逐步完善。在XXX老師的耐心指導(dǎo)下,本系統(tǒng)得以順利完成,我不僅從中學(xué)到了許多知識(shí),更重要的是我學(xué)到了要用正確的態(tài)度去面對(duì)人生中的問(wèn)題和困難,在此,再次感謝XXX老師!參考文獻(xiàn)1 管理信息系統(tǒng)的作用.2 管理信息系統(tǒng)在社會(huì)中的作用.3 何玉潔.數(shù)據(jù)庫(kù)原理與應(yīng)用教程(第二版)M. 北京:機(jī)械工業(yè)出版社,20
16、07.4 牛勇等. 新電腦課堂SQL Server編程篇M. 北京:電子工業(yè)出版社,2005.5 趙杰,李濤,朱慧. SQL Server數(shù)據(jù)庫(kù)管理、設(shè)計(jì)與實(shí)現(xiàn)教程M . 北京:清華大學(xué)出版社,2003.6 高金蘭,章鋒. 數(shù)據(jù)庫(kù)原理與SQL Server應(yīng)用M. 武漢:武漢大學(xué)出版社,2008.7 曹萌萌,李 響. VB.NET訪問(wèn) SQLSERVER2000數(shù)據(jù)庫(kù)的方法J. 農(nóng)業(yè)圖書情報(bào)學(xué)刊,2007,19(1):110-112.8 王軍弟,趙愷. 基于VB.NET的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)J. 福建電腦,2006,12(11):81-82.9 蔣鐵海、劉朝暉. 利用 VB. NET開發(fā) Web數(shù)據(jù)
17、庫(kù)應(yīng)用系統(tǒng)J. 微機(jī)發(fā) 展,2003,13(6):113-115.10 葛小東,鄧秋媛. VB.NET編程實(shí)例與技巧集萃M. 北京:中國(guó)科技技術(shù)出版社,2003.11 陶雪麗,郭鳳英等.新世紀(jì)Visual Basic.NET中文版程序設(shè)計(jì)培訓(xùn)教程M.北京:電子工業(yè)出版社,2002.附錄系統(tǒng)設(shè)計(jì)的主要代碼如下:數(shù)據(jù)庫(kù)連接的代碼如下:ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;" ConnectionString = ConnectionString & "User ID
18、=" & Trim(txtUserId.Text) & "Password=" & Trim(txtPwd.Text) & "" ConnectionString = ConnectionString & "Initial Catalog=" & Trim(txtDatabase.Text) & "Data Source=" & Trim(txtServer.Text) a登錄.Show Unload Me登陸窗口的代碼如下:Option E
19、xplicitDim SQL As StringDim msg As StringPrivate Sub Form_Load() Dim rst As ADODB.Recordset Dim strItem As String '初始化ComboBox SQL = " select 用戶ID,用戶名稱 from 用戶信息表 order by 用戶ID" Set rst = SelectSQL(SQL, msg) If rst.RecordCount > 0 Then Do While Not rst.EOF '添加到ComboBox列表 strItem
20、 = rst.Fields(0) & " " & rst.Fields(1) CboName.AddItem (strItem) rst.MoveNext '指向下一條記錄 Loop rst.Close CboName.ListIndex = 0 '默認(rèn)ComboBox Else MsgBox ("請(qǐng)先創(chuàng)建用戶信息!") CmdOk.Enabled = False Exit Sub End IfEnd SubPrivate Sub CmdOK_Click() Dim rst As ADODB.Recordset Dim p
21、assword As String '判斷用戶是否存在 UserID = Left(Trim(CboName.Text), 4) '取出用戶的ID SQL = " select 用戶ID,密碼 from 用戶信息表 where 用戶ID='" & UserID & "'" Set rst = SelectSQL(SQL, msg) If rst.RecordCount > 0 Then password = Trim(rst.Fields(1) '取出該用戶的密碼 rst.Close Else
22、 MsgBox ("數(shù)據(jù)庫(kù)操作錯(cuò)誤!") Exit Sub End If '判斷密碼是否正確 If password = Trim(txtPassword.Text) Then LoginSucceeded = True 超市管理系統(tǒng)主界面.Show Unload Me Else MsgBox ("密碼錯(cuò)誤!") LoginSucceeded = False End IfEnd SubPrivate Sub cmdCancel_Click() '設(shè)置全局變量為 false '不提示失敗的登錄 LoginSucceeded = Fa
23、lse Unload MeEnd SubPrivate Sub Form_Unload(Cancel As Integer) LoginSucceeded = False Unload MeEnd Sub系統(tǒng)的主要代碼如下:Private Sub Form_Load() Dim rst As ADODB.Recordset Dim SQL As String Dim msg As String Dim rights As String '保存記錄中的權(quán)限值 '查找權(quán)限 SQL = " select 權(quán)限 from 用戶信息表 where 用戶ID='"
24、; & UserID & "'" Set rst = SelectSQL(SQL, msg) If rst.RecordCount > 0 Then rights = Trim(rst.Fields(0) rst.Close Else MsgBox ("沒有用戶信息!") Exit Sub End If '設(shè)置權(quán)限 If InStr(rights, "資料管理") Then 資料管理.Enabled = True Me.Toolbar1.Buttons(1).Enabled = True Me.T
25、oolbar1.Buttons(2).Enabled = True Else 資料管理.Enabled = False Me.Toolbar1.Buttons(1).Enabled = False Me.Toolbar1.Buttons(2).Enabled = False End If If InStr(rights, "采購(gòu)管理") Then 采購(gòu)管理.Enabled = True Me.Toolbar1.Buttons(3).Enabled = True Me.Toolbar1.Buttons(4).Enabled = True Else 采購(gòu)管理.Enabled =
26、 False Me.Toolbar1.Buttons(3).Enabled = False Me.Toolbar1.Buttons(4).Enabled = False End If If InStr(rights, "銷售管理") Then 銷售管理.Enabled = True Me.Toolbar1.Buttons(5).Enabled = True Else 銷售管理.Enabled = False Me.Toolbar1.Buttons(5).Enabled = False End If 庫(kù)存管理.Enabled = InStr(rights, "庫(kù)存管
27、理") 統(tǒng)計(jì)分析.Enabled = InStr(rights, "統(tǒng)計(jì)分析") 用戶管理.Enabled = InStr(rights, "用戶管理")End SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.Index Case 1: Call 供應(yīng)商資料_Click '調(diào)入供應(yīng)商資料 Case 2: Call 商品資料_Click '調(diào)入商品資料 Case 3: Call 采購(gòu)單_Click &
28、#39;調(diào)入采購(gòu)單 Case 4: Call 采購(gòu)入庫(kù)_Click '調(diào)入采購(gòu)入庫(kù) Case 5: Call 銷售清單_Click '調(diào)入銷售單 Case 6: Call 銷售利潤(rùn)_Click '調(diào)入銷售利潤(rùn) Case 7: Call 密碼維護(hù)_Click '調(diào)入密碼維護(hù) End SelectEnd SubPrivate Sub 采購(gòu)單_Click() a采購(gòu)單.Show 超市管理系統(tǒng)主界面.Enabled = FalseEnd SubPrivate Sub 采購(gòu)單分析_Click() a采購(gòu)單分析.Show 超市管理系統(tǒng)主界面.Enabled = FalseE
29、nd SubPrivate Sub 采購(gòu)入庫(kù)_Click() a采購(gòu)入庫(kù).Show 超市管理系統(tǒng)主界面.Enabled = FalseEnd SubPrivate Sub 供應(yīng)商資料_Click() a供應(yīng)商資料.Show 超市管理系統(tǒng)主界面.Enabled = FalseEnd SubPrivate Sub 庫(kù)存盤點(diǎn)_Click() a庫(kù)存盤點(diǎn).Show 超市管理系統(tǒng)主界面.Enabled = FalseEnd SubPrivate Sub 庫(kù)存維護(hù)_Click() a庫(kù)存維護(hù).Show 超市管理系統(tǒng)主界面.Enabled = FalseEnd SubPrivate Sub 密碼維護(hù)_Cli
30、ck() a密碼維護(hù).Show 超市管理系統(tǒng)主界面.Enabled = FalseEnd SubPrivate Sub 商品資料_Click() a商品資料.Show 超市管理系統(tǒng)主界面.Enabled = FalseEnd SubPrivate Sub 銷售單分析_Click() a銷售單分析.Show 超市管理系統(tǒng)主界面.Enabled = FalseEnd SubPrivate Sub 銷售利潤(rùn)_Click() a銷售利潤(rùn).Show 超市管理系統(tǒng)主界面.Enabled = FalseEnd SubPrivate Sub 銷售清單_Click() a銷售單.Show 超市管理系統(tǒng)主界面.E
31、nabled = FalseEnd SubPrivate Sub 用戶管理_Click() a用戶管理.Show 超市管理系統(tǒng)主界面.Enabled = FalseEnd Sub供應(yīng)商資料管理模塊:7- 9Option ExplicitDim rs As ADODB.RecordsetDim SQL As StringDim msg As StringDim Index As IntegerDim flag As String '判斷是新增記錄還是修改記錄Private Sub Form_Load() '初始化查詢條件ComboBox CboQuery.AddItem (&qu
32、ot;供應(yīng)商編號(hào)") CboQuery.AddItem ("供應(yīng)商名稱") CboQuery.ListIndex = 0 '默認(rèn)查詢條件為供應(yīng)商編號(hào) Call LoadData '裝載數(shù)據(jù) Call ShowData '顯示數(shù)據(jù)End SubPrivate Sub LoadData() Dim colName As String '保存所選擇的查詢條件 Dim colValue As String '保存所要查詢具體的值 Dim strWhere As String '得到查詢條件 colName = CboQuer
33、y.Text '取出條件的值 colValue = txtQuery.Text '取出所要查詢的值 '構(gòu)建條件 strWhere = " where " & colName & " like '%" & colValue & "%'" Set rs = Nothing '查詢供應(yīng)商資料 SQL = "SELECT * FROM 供應(yīng)商資料表 " & strWhere & " ORDER BY 供應(yīng)商編號(hào) &qu
34、ot; Set rs = SelectSQL(SQL, msg) Set Me.DataGrid1.DataSource = rs DataGrid1.Refresh If rs.RecordCount = 0 Then '如果不存在記錄 '編輯控件可用性 CmdAdd.Enabled= True: CmdModify.Enabled = False: CmdDelete.Enabled = False CmdCancel.Enabled = False: CmdSave.Enabled = False '移動(dòng)控件不可用 For Index = 0 To 3 CmdMo
35、ve(Index).Enabled = False Next Index Else '編輯控件可用性 CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True CmdCancel.Enabled = False: CmdSave.Enabled = False '移動(dòng)控件可用 For Index = 0 To 3 CmdMove(Index).Enabled = True Next Index End If '設(shè)置控件Enable值 Call ControlEnable(False
36、)End SubPrivate Sub ControlEnable(flag As Boolean)'設(shè)置控件的Enable值 For Index = 0 To 5 Me.txt(Index).Enabled = flag Next IndexEnd SubPrivate Sub ShowData()'在控件中顯示數(shù)據(jù) If rs.RecordCount <> 0 Then '如果存在記錄 '為控件賦值 For Index = 0 To 4 Me.txt(Index) = rs.Fields(Index) Next Index Me.txt(5).T
37、ext = rs.Fields("提供商品") End IfEnd SubPrivate Sub CmdMove_Click(Index As Integer)'移動(dòng)記錄操作 Select Case Index Case Is = 0 '移到第一條記錄 If Not rs.BOF Then rs.MoveFirst Case Is = 1 '移到上一條記錄 If rs.RecordCount <> 0 Then If rs.BOF = False Then rs.MovePrevious If rs.BOF = True Then rs.
38、MoveFirst End If Case Is = 2 '移到下一條記錄 If rs.RecordCount <> 0 Then If rs.EOF = False Then rs.MoveNext If rs.EOF = True Then rs.MoveLast End If Case Is = 3 '移到最后一條記錄 If rs.RecordCount <> 0 Then If Not rs.EOF = True Then rs.MoveLast End If End Select Call ShowDataEnd SubPrivate Sub
39、CmdAdd_Click() '所有控件重置 Call ControlClear '設(shè)置控件Enable值為可用 Call ControlEnable(True) '設(shè)置標(biāo)志flag,表示所進(jìn)行的操作為添加 flag = "Add" '所有移動(dòng)按鈕不可用 For Index = 0 To 3 CmdMove(Index).Enabled = False Next Index '添加、修改、刪除按鈕不可用,取消、保存按鈕可用 CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDe
40、lete.Enabled = False CmdCancel.Enabled = True: CmdSave.Enabled = TrueEnd SubPrivate Sub ControlClear()'重置控件 For Index = 0 To 5 Me.txt(Index).Text = "" Next IndexEnd SubPrivate Sub CmdModify_Click() If rs.RecordCount > 0 Then '如果存在記錄 '供應(yīng)商編號(hào)不可以修改,其他控件可用 txt(0).Enabled = False
41、'設(shè)置控件Enable值 Call ControlEnable(True) '設(shè)置標(biāo)志flag,表示所進(jìn)行的操作為修改 flag = "Modify" '移動(dòng)控件不可用 For Index = 0 To 3 CmdMove(Index).Enabled = False Next Index '添加、修改、刪除按鈕不可用,取消、保存按鈕可用 CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False CmdCancel.Enabled = True:
42、CmdSave.Enabled = True Else MsgBox ("沒有可以修改的數(shù)據(jù)!") End IfEnd SubPrivate Sub CmdDelete_Click() On Error GoTo ErrMsg '錯(cuò)誤處理 If rs.RecordCount > 0 Then msg = MsgBox("刪除該條記錄嗎?", vbYesNo) If msg = vbYes Then rs.Delete '刪除數(shù)據(jù) Call LoadData '重新裝載數(shù)據(jù) '清空控件 Call ControlClea
43、r '設(shè)置控件Enable值為不可用 Call ControlEnable(False) If rs.RecordCount = 0 Then '所有移動(dòng)控件不可用 For Index = 0 To 3 CmdMove(Index).Enabled = False Next Index End If '添加、刪除按鈕可用,修改、取消、保存按鈕不可用 CmdAdd.Enabled=True:CmdModify.Enabled=False;CmdDelete.Enabled = True; CmdSave.Enabled = False: CmdCancel.Enabled
44、 = False MsgBox ("成功刪除的數(shù)據(jù)!") End If Else MsgBox ("沒有可刪除的數(shù)據(jù)!") End If Exit SubErrMsg: '報(bào)告出錯(cuò)信息 MsgBox Err.Description, vbExclamation, "出錯(cuò)"End SubPrivate Sub CmdSave_Click() On Error GoTo ErrMsg If Not CheckData Then Exit Sub '如果數(shù)據(jù)不合法就退出 If flag = "Modify"
45、; Then '如果是修改數(shù)據(jù) msg = MsgBox("您確實(shí)要修改這條數(shù)據(jù)嗎?", vbYesNo) If msg = vbYes Then Call setData '設(shè)置數(shù)據(jù) Else Exit Sub End If ElseIf flag = "Add" Then '如果是添加新數(shù)據(jù) rs.AddNew Call setData '設(shè)置數(shù)據(jù) End If rs.Update '更新數(shù)據(jù) '移動(dòng)控件可用 For Index = 0 To 3 CmdMove(Index).Enabled = Tru
46、e Next Index CmdModify.Enabled = True: CmdDelete.Enabled = True: CmdAdd.Enabled = True CmdSave.Enabled = False: CmdCancel.Enabled = False If flag = "Add" Then MsgBox ("成功添加數(shù)據(jù)!") Else MsgBox ("成功更新數(shù)據(jù)!") End If Call LoadData '重新裝載數(shù)據(jù) '定位到添加或修改記錄 If rs.RecordCount &
47、gt; 0 Then rs.MoveFirst rs.Find ("供應(yīng)商編號(hào)='" & Trim(Me.txt(0).Text) & "'") If Not rs.EOF Then Call ShowData '重新顯示數(shù)據(jù) End If Exit SubErrMsg: MsgBox Err.Description, vbExclamation, "出錯(cuò)"End SubPrivate Function CheckData() As Boolean'檢查數(shù)據(jù)的合法性 Dim rst As
48、 ADODB.Recordset Dim msgt As String msgt = "" '檢查數(shù)據(jù) If Trim(txt(0).Text) = "" Then '檢查供應(yīng)商編號(hào)是否為空 msgt = "供應(yīng)商編號(hào)為空; " '光標(biāo)定位 txt(0).SetFocus txt(0).SelStart = 0 txt(0).SelLength = Len(txt(0).Text) ElseIf Not Len(Trim(txt(0).Text) = 4 Then '檢查供應(yīng)商編號(hào)是否為4位 msgt = msgt & "供應(yīng)商編號(hào)不是4位; " '光標(biāo)定位 txt(0).SetFocus txt(0).SelStart = 0 txt(0).SelLength = Len(txt(0).Text) ElseIf Trim(txt(1).Text) = "" Then '檢
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代創(chuàng)業(yè)活動(dòng)方案
- 貓咪喝水大賽活動(dòng)方案
- 理想簽到活動(dòng)方案
- 獻(xiàn)縣親子閱讀活動(dòng)方案
- 環(huán)?;顒?dòng)青少年活動(dòng)方案
- 理財(cái)送禮活動(dòng)方案
- 生產(chǎn)團(tuán)建活動(dòng)方案
- 班級(jí)活動(dòng)剪紙活動(dòng)方案
- 物業(yè)公司入駐活動(dòng)方案
- 球星招募活動(dòng)方案
- DB11-T 1448-2017 城市軌道交通工程資料管理規(guī)程
- 浙江省2024年中考英語(yǔ)真題
- 兒科護(hù)理學(xué)小兒液體療法
- 百科知識(shí)競(jìng)賽題庫(kù)(500題及答案)
- 網(wǎng)絡(luò)信息安全的職業(yè)道德與行為規(guī)范
- 痹癥中醫(yī)護(hù)理方案
- 手術(shù)室十大核心制度
- 電子物料(電感、電容、芯片、PCB)的來(lái)料檢驗(yàn)項(xiàng)及檢驗(yàn)方法SIP
- 刑法學(xué)(總論)輔導(dǎo)教案
- 非遺資源數(shù)據(jù)庫(kù)建設(shè)
- 報(bào)案材料范本
評(píng)論
0/150
提交評(píng)論