客戶信息管理系統(tǒng)_第1頁
客戶信息管理系統(tǒng)_第2頁
客戶信息管理系統(tǒng)_第3頁
客戶信息管理系統(tǒng)_第4頁
客戶信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

題目:客戶信息管理系統(tǒng)專業(yè):.nte網(wǎng)頁1班學(xué)號(hào):1303110112*■*-名:劉冰濤指導(dǎo)教師:胡迎久1、 設(shè)計(jì)題目客戶信息管理系統(tǒng)2、 設(shè)計(jì)目的和要求目的:利用VisualBasic和Access實(shí)現(xiàn)客戶信息管理系統(tǒng)。要求:使系統(tǒng)能運(yùn)行正確,完成基本的功能如客戶類型的增加、刪除、查詢和修改等。3、 設(shè)計(jì)內(nèi)容(包括設(shè)計(jì)思路、設(shè)計(jì)實(shí)現(xiàn))3.1需求分析客戶信息系統(tǒng)需要完成的功能有:客戶類型的建立與維護(hù),包括客戶類型的新建、修改和刪除等??蛻粜畔⒌妮斎?,詳細(xì)全面記錄并管理客戶信息和聯(lián)系人信息,客戶信息包括客戶的基本信息,一般的通訊方式及客戶其他信息,如愛好、禁忌、生日等??蛻粜畔⒌男薷暮蛣h除,包括啟動(dòng)與取消客戶的生日提醒等。方便實(shí)用的數(shù)據(jù)查詢功能,根據(jù)不同條件查詢客戶,可以查看客戶信息。3.2總體設(shè)計(jì)本系統(tǒng)采用三層結(jié)構(gòu)設(shè)計(jì),即程序邏輯結(jié)構(gòu)分為用戶界面層、業(yè)務(wù)邏輯處理層和數(shù)據(jù)存儲(chǔ)層。三層在實(shí)際的物理結(jié)構(gòu)上也是獨(dú)立的,業(yè)務(wù)邏輯處理層采用ActiveXDLL實(shí)現(xiàn),用戶界面與業(yè)務(wù)邏輯分離,系統(tǒng)的安全性、可維護(hù)性、重要性和擴(kuò)展性都大大提高。本系統(tǒng)也采用面向?qū)ο蟮脑O(shè)計(jì),系統(tǒng)中將客戶類型、客戶等都封裝成相應(yīng)的類,同時(shí)每個(gè)類都有自己對(duì)應(yīng)的集合類,從而再次提高了對(duì)數(shù)據(jù)庫操作系統(tǒng)的安全性和程序的可擴(kuò)展性。根據(jù)對(duì)系統(tǒng)功能的分析,我們可以把系統(tǒng)劃分成客戶類型管理模塊、客戶管理模塊和提醒管理模塊。系統(tǒng)的物理結(jié)構(gòu)也分為三層,即用戶界面、組件和數(shù)據(jù)庫。3.3程序界面及核心代碼3.1需求分析客戶信息系統(tǒng)需要完成的功能有:1、 客戶類型的建立與維護(hù),包括客戶類型的新建、修改和刪除等。2、 客戶信息的輸入,客戶信息包括客戶的基本信息,一般的通訊方式及客戶其他信息,如愛好、禁忌、生日等。3、 客戶信息的修改和刪除,包括啟動(dòng)與取消客戶的生日提醒等。4、 根據(jù)不同條件查詢客戶,可以查看客戶信息。3.2概念設(shè)計(jì)

本系統(tǒng)米用三層結(jié)構(gòu)設(shè)計(jì),即程序邏輯結(jié)構(gòu)分為用戶界面層、業(yè)務(wù)邏輯處理層和數(shù)據(jù)存儲(chǔ)層。三層在實(shí)際的物理結(jié)構(gòu)上也是獨(dú)立的,業(yè)務(wù)邏輯處理層采用ActiveXDLL實(shí)現(xiàn),用戶界面與業(yè)務(wù)邏輯分離,系統(tǒng)的安全性、可維護(hù)性、重要性和擴(kuò)展性都大大提高。本系統(tǒng)也采用面向?qū)ο蟮脑O(shè)計(jì),系統(tǒng)中將客戶類型、客戶等都封裝成相應(yīng)的類,同時(shí)每個(gè)類都有自己對(duì)應(yīng)的集合類,從而再次提高了對(duì)數(shù)據(jù)庫操作系統(tǒng)的安全性和程序的可擴(kuò)展性。根據(jù)對(duì)系統(tǒng)功能的分析,我們可以把系統(tǒng)劃分成客戶類型管理模塊、客戶管理模塊和提醒管理模塊。系統(tǒng)的物理結(jié)構(gòu)也分為三層,即用戶界面、組件和數(shù)據(jù)庫??蛻艄芾硐到y(tǒng)客戶類型管理模塊客戶管理模塊提醒管理模塊客戶類型管理模塊客戶管理模塊提醒管理模塊添加客戶類型修改客戶類型刪除客戶類型客戶信息管理客戶評(píng)價(jià)管理客戶合作管理查看今日提醒提醒設(shè)置管理修改客戶信息刪除客戶信息查看客戶信息查找客戶信息添加合作記錄修改合作記錄刪除會(huì)議記錄添加定時(shí)管理修改定時(shí)管理刪除定時(shí)管理查看定時(shí)管理添加客戶類型修改客戶類型刪除客戶類型客戶信息管理客戶評(píng)價(jià)管理客戶合作管理查看今日提醒提醒設(shè)置管理修改客戶信息刪除客戶信息查看客戶信息查找客戶信息添加合作記錄修改合作記錄刪除會(huì)議記錄添加定時(shí)管理修改定時(shí)管理刪除定時(shí)管理查看定時(shí)管理系統(tǒng)功能模塊圖1評(píng)價(jià)信息提醒信息合作信息客戶類型1評(píng)價(jià)信息提醒信息合作信息客戶類型各實(shí)體間關(guān)系的E-R圖客戶類型類型名稱類型名稱客戶類型信息實(shí)體E-R圖客戶類型信息實(shí)體E-R圖客戶客戶名稱 客戶電話客戶性別……[客戶E-mail客戶信息實(shí)體E-R圖13.3邏輯設(shè)計(jì)(1)模式轉(zhuǎn)換13.3邏輯設(shè)計(jì)(1)模式轉(zhuǎn)換鍵話主電—室增名別齡日公機(jī)M電涕姓性年生辦手傳宅ClientId自動(dòng)編號(hào)Name文富'SexAge蠟,I-*?1Birthday日曲時(shí)間Offi:cePhoneMobile國本FaxHomeFhone加k數(shù)據(jù)類型自動(dòng)編號(hào)|3WarnType字E房標(biāo)數(shù)據(jù)類型自動(dòng)編號(hào)|3WarnType字E房標(biāo)^TypeName提醒類型編號(hào)提醴類型名稱Cooperate表:1Coo-perate-,字段名荔數(shù)據(jù)類型U^Coioperateld自動(dòng)編號(hào)主鍵達(dá)遞增ClientId數(shù)字客戶m外碼Date日朗《時(shí)間合作日期LSatisfa'Ction教字;■兩息度(0-2551:Remark備注備注(3)完整性約束設(shè)計(jì)實(shí)體完整性約束:參照完整性約束:(3)完整性約束設(shè)計(jì)實(shí)體完整性約束:參照完整性約束:.Warning字段名禰數(shù)據(jù)類型Warnld自動(dòng)編號(hào)主鍵,理增ClientId客戶ID,為0時(shí)表示全體客戶ShowDate提屋顯示日期TypeId提醒類型卜碼Msg提醒消息Warning表:(2)模式規(guī)范化ClientType表、ClientInfo表、Cooperate表、WarnType表、Warning表均已經(jīng)為BCNF范式ClientType表主鍵為TypeIdClientInfo表主鍵為ClientIdCooperate表主鍵為CooperateIdWarnType表主鍵為WTypeIdWarning表主鍵為WarnIdCooperate表的ClientId參照ClientInfo表主鍵ClientIdWarning表的TypeId參照ClientType表主鍵TypeId(4)外模式設(shè)計(jì)建立了一張Client視圖,用于顯示每位客戶的合作、提醒信息,語句如下:CreateviewClientasselectCooperateId,ClientId,WarnId,ClientId,TypeName,NamefromClientType,ClientInfo,Cooperate,WarningwhereCooperate.ClientId=ClientInfo.ClientIdandWarning.TypeId=ClientType.TypeId

(5)典型應(yīng)用設(shè)計(jì)客戶類型管理模塊:添加客戶類型,修改客戶類型,刪除客戶類型客戶管理模塊:客戶信息管理,客戶評(píng)價(jià)管理,客戶合作管理提醒管理模塊:查看今日提醒,提醒設(shè)置管理3.4物理設(shè)計(jì)內(nèi)模式設(shè)計(jì):主要包括索引、散列、簇集設(shè)計(jì)ClientType表:索引字段為TypeId,索引表達(dá)式為TypeId,索引類型為主索引ClientInfo表:索引字段為ClientId,索引表達(dá)式為ClientId,索引類型為主索引Cooperate表:索引字段為CooperateId,索引表達(dá)式為CooperateId,索引類型為主索引WarnType表:索引字段為WTypeId,索引表達(dá)式為WTypeId,索引類型為主索引Warning表:索引字段為WarnId,索引表達(dá)式為WarnId,索引類型為主索引3.5系統(tǒng)實(shí)現(xiàn)主要模塊及其核心代碼如下:(1)客戶類型管理模塊:添加客戶類型界面:核心代碼:PublicFunctionAddNew(OptionalstrNameAsString=〃〃,_核心代碼:PublicFunctionAddNew(OptionalstrNameAsString=〃〃,_OptionallngSuperIDAsLong=-1)AsgxcAddNewIfExistByName(〃ClientType〃,"TypeName",strName)ThenAddNew=DuplicateName_AddNewExitFunctionEndIfIflngSuperID<>0ThenIfExistByID("ClientType","TypeId",lngSuperID)=FalseThenAddNew=SuperNotExistExitFunctionEndIfEndIfIfstrName<>""ThenMe.TypeName=strNameIflngSuperID<>-1ThenMe.SuperID=lngSuperID'DimstrSQLAsStringDimErrMsgAsStringstrSQLstrSQLstrSQLstrSQL"INSERTINTOClientType(SuperId,TypeName)〃strSQL&〃VALUES。'&lngSuperIDstrSQL&〃,'〃&strName&〃'〃strSQL&〃)〃IfRunSql(strSQL,ErrMsg)ThenMe.ID=MaxID(〃ClientType〃,"Typeld")AddNew=AddNewOKElseAddNew=AddNewFailEndIfEndFunction(2)客戶管理模塊:客戶信息管理模塊:添加客戶界面:核心代碼:PublicFunctionAddNew(OptionalByValstrNameAsString="",_OptionalByValintAgeAsInteger=0,_OptionalvarSexAsgxcSex=-1,_OptionallngTypeIdAsLong=0)AsBooleanOnErrorResumeNext'如果參數(shù)為缺省值,即未傳入,則直接調(diào)用類中的參數(shù),否則調(diào)用傳入的參數(shù)IfstrName<>""ThenMe.Name=strNameIfintAge<>0ThenMe.Age=intAgeIfvarSex<>-1ThenMe.Sex=varSexIflngTypeId<>0ThenMe.TypeID=lngTypeIdDimstrSQLAsStringgConn.BeginTrans

'開始一個(gè)事務(wù),以免費(fèi)得到的ID值已被其它客戶端所使用'此處調(diào)用NextID方法,得到該類對(duì)應(yīng)的數(shù)據(jù)表的下一個(gè)ID,即最大ID+1Me.ID=NextID("ClientInfo”,"ClientId")Me.TypeName=GetValueByID("ClientType”,"TypeId",Me.TypeID,"TypeName")'構(gòu)造SQL語句,注意需調(diào)用RealString去除字符串中的單引號(hào),以及一些SQL語法的關(guān)鍵詞加口strSQL="InsertintoClientInfo([Name],Age,Sex,TypeId,Mobile,Email,OfficePhone,"strSQL=strSQL&"HomePhone,Fax,HomeAddress,MailAddress,ZipCode,Birthday,"strSQL=strSQL&"BirthdayWarn,[Work],[Position],Company,CompanySite,SelfSite,"strSQL=strSQL&"Likes,Hate,Remark,Importance,Friendly,strSQL=strSQL&"VALUES("Satisfaction)"strSQL=strSQL&"'"&RealString(mvarName)&"',"'客戶名稱strSQL=strSQL&mvarAge&”,"'客戶年齡strSQL=strSQL&mvarSex&”,"'性別strSQL=strSQL&mvarTypeId&”,"'客戶類型IdstrSQL=strSQL&"'"&RealString(mvarMobile)&"',"'手機(jī)strSQL=strSQL&"'"&RealString(mvarEmail)&"',",E-mailstrSQL=strSQL&"'"&RealString(mvarOfficePhone)&"',"'辦公室電話strSQL=strSQL&"'"&RealString(mvarHomePhone)&"',"'宅電strSQL=strSQL&"'"&RealString(mvarFax)&"',"'傳真strSQL=strSQL&"'"&RealString(mvarHomeAdr)&"',"'家庭住址strSQL=strSQL&"'"&RealString(mvarMailAdr)&"',"'通訊地址strSQL=strSQL&"'"&RealString(mvarZipCode)&"',"'郵編strSQL=strSQL&"'"&mvarBirthday&"',"'生日strSQL=strSQL&mvarBirthdayWarn&”,"'是不啟用生日提醒strSQL=strSQL&"'"&RealString(mvarWork)&"',"'職業(yè)strSQL=strSQL&"'"&RealString(mvarPosition)&"',"'職位strSQL=strSQL&"'"&RealString(mvarCompany)&"',"'公司strSQL=strSQL&"'"&RealString(mvarCompanySite)&"',"'公司網(wǎng)址strSQL=strSQL&"'"&RealString(mvarSelfSite)&"',"'個(gè)人網(wǎng)址strSQL=strSQL&"'"&RealString(mvarLikes)&"',"'喜好strSQL=strSQL&"'"&RealString(mvarHate)&"',"'厭惡strSQL=strSQL&"'"&RealString(mvarRemark)&"',"'備注strSQL=strSQL&mvarImportance&”,"'重要度strSQL=strSQL&mvarFriendly&”,"'友好度strSQL=strSQL&mvarSatisfactionstrSQL=strSQL&")"'執(zhí)行SQL語句,并提交事務(wù)g_Conn.ExecutestrSQLg_Conn.CommitTrans'如果發(fā)生錯(cuò)誤,則返回FALSE,表示未成功添加AddNew=(Err.Number=0)EndFunction滿意度查找客戶界面:核心代碼:'按條件查找客戶,以集合類的方式返回PublicFunctionFind(OptionalByVallngIDAsLong=0,_OptionalByValstrNameAsString=〃〃,_OptionalByVallngTypeldAsLong=0)AsCClients'構(gòu)造查詢SQLDimstrSQLAsStringstrSQL="SelectClientInfo.*,ClientType.TypeNamefromClientinfoleftouterjoinClientType〃strSQL=strSQL&〃ONClientType.TypeID=ClientInfo.TypeIDWhere〃IflngID<>0ThenstrSQL=strSQL&〃ClientInfo.ClientID=〃&lngID&〃and〃'如果是按名稱查詢,則采用“包含”的查詢方法IfstrName<>〃〃ThenstrSQL=strSQL&"ClientInfo.Namelike'%〃&RealString(strName)&〃%'and〃EndIfIflngTypeId<>0ThenstrSQL=strSQL&〃ClientInfo.TypeID=〃&lngTypeId&〃and〃EndIfstrSQL=strSQL&〃ClientInfo.ClientId〉0〃OnErrorResumeNext'將查詢結(jié)果加入集合類DimrsAsRecordsetSetrs=g_Conn.Execute(strSQL)DimiAsLongDimobjClientAscClientFori=1Tors.RecordCountSetobjClient=NewcClientWithobjClient.ID=rs("ClientID").Value.Name=Trim(rs("Name").Value).TypeName=Trim(rs("TypeName").Value).TypeID=rs("TypeID").Value.Sex=rs("Sex").Value.Mobile=Trim(rs("Mobile").Value).Email=Trim(rs("Email").Value).OfficePhone=Trim(rs("OfficePhone").Value).HomePhone=Trim(rs("HomePhone").Value).Fax=Trim(rs("Fax").Value).HomeAdr=Trim(rs("HomeAddress").Value).MailAdr=Trim(rs("MailAddress").Value).ZipCode=Trim(rs("ZipCode").Value).Birthday=rs("Birthday").Value.Age=rs("Age").Value.BirthdayWarn=rs("BirthdayWarn").Value.Work=Trim(rs("Work").Value).Position=Trim(rs("Position").Value).Company=Trim(rs("Company").Value).CompanySite=Trim(rs("CompanySite").Value).SelfSite=Trim(rs("SelfSite").Value).Likes=Trim(rs("Likes").Value).Hate=Trim(rs("Hate").Value).Remark=Trim(rs("Remark").Value).Importance=rs("Importance").Value.Friendly=rs("Friendly").Value.Satisfaction=rs("Satisfaction").ValueEndWithMe.AddobjClientSetobjClient=Nothingrs.MoveNextNextiSetrs=NothingSetFind=MeErr.ClearEndFunction

PublicFunctionAddNew(OptionalOptionalOptionalOptionalAddNew(OptionaldatDateAsDateOptionalOptionalOptionaldatDateAsDate=#1/1/1900#,_lngClientIdAsLong=-1,_intSatifyAsInteger=-1,_strRemarkAsString="")AsgxcAddNewPublicFunction=#1/1/1900#,_lngClientIdAsLong=-1,_intSatifyAsInteger=-1,_strRemarkAsString="")AsgxcAddNewIfIngClientId<>-1ThenMe.ClientID=IngClientIdIfintSatify<>-1ThenMe.Satisfaction=intSatify'上級(jí)合作信息的IDIfstrRemark<>〃〃ThenMe.Remark=strRemarkIfdatDate<>#1/1/1900#ThenMe.CooperateDate=datDateDimstrSQLAsStringDimErrMsgAsStringstrSQL="INSERTINTOCooperate(ClientId,[Date],Satisfaction,Remark)strSQL=strSQL&〃VALUES(〃&Me.ClientIDstrSQL=strSQL&〃,’〃&Me.CooperateDate&〃’〃strSQL=strSQL&〃,〃&Me.SatisfactionstrSQL=strSQL&〃,’〃&RealString(Me.Remark)&〃’〃strSQL=strSQL&〃)〃IfRunSql(strSQL,ErrMsg)ThenMe.ID=MaxID(〃Cooperate〃,"CooperateId")AddNew=AddNewOKElseAddNew=AddNewFailEndIfEndFunction(3)提醒管理模塊:查看今日提醒界面:核心代碼:OptionExplicit

PrivatemvarlDAsLongPrivatemvarTypeldAsLongPrivatemvarTypeNameAsStringPrivatemvarClientIdAsLongPrivatemvarClientNameAsStringPrivatemvarMsgAsStringPrivatemvarShowDateAsDate'提醒信息ID'提醒類型'提醒信息ID'提醒類型ID'提醒類型名稱'提醒客戶ID'提醒客戶名稱'提醒顯示消息'提醒顯示時(shí)間'啟用生日提醒PublicPropertyLetShowBirthdayWarn(ByValvDataAsBoolean)mvarBirthdayWarn=vDataDimstrSQLAsStringIfmvarBirthdayWarnThenstrSQLSELECT*FROMWarningWHEREClientId="_strSQL&Me.ClientID&"ANDTypeId="&BirthdayWarnDimrsAsRecordsetSetrs=g_Conn.Execute(strSQL)Ifrs.RecordCount=0ThenAddNewMe.ShowDate,Me.ClientID,1,"今天是"&Me.ClientName&"的生日,請(qǐng)做好

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論