【正文】
IS 軟件的數(shù)據(jù)輸入量較大。 另外, 開(kāi)發(fā)者應(yīng)編寫(xiě)一個(gè)錯(cuò)誤實(shí)時(shí)記錄程序,自動(dòng)記錄何日、何時(shí)、何程序出了何種錯(cuò)誤 。 7. 具有較強(qiáng)的容錯(cuò)功能 誤操作、按鍵連擊等均有可能導(dǎo)致數(shù)據(jù)誤錄。這 4 種開(kāi)發(fā)方式各有優(yōu)點(diǎn)和不足,需要根據(jù)使用單位的技術(shù)力量、資金情況、外部環(huán)境等各種因素進(jìn)行綜合考慮和選擇。任何一種開(kāi)發(fā)策略都要明確以下問(wèn)題: ? 系統(tǒng)要解決的問(wèn)題 : 如采取何種方式解決組織管理和信息處理方面的問(wèn)題,對(duì)企業(yè)提出的新的管理需求該如何滿(mǎn)足等。 ? 系統(tǒng)開(kāi)發(fā)的原則 : 在系統(tǒng)開(kāi)發(fā)過(guò)程中,要遵循領(lǐng)導(dǎo)參與、優(yōu)化創(chuàng)新、實(shí)用高效、處理規(guī)范化的原則。 管理信息系統(tǒng) 開(kāi)發(fā)方法主要有:結(jié)構(gòu)化生命周期開(kāi)發(fā)方法、原型法、面向?qū)ο蟮拈_(kāi)發(fā)方 管理信息系統(tǒng)的開(kāi)發(fā)過(guò)程 管理信息系 統(tǒng)的開(kāi)發(fā)過(guò)程一般包括系統(tǒng)開(kāi)發(fā)準(zhǔn)備、系統(tǒng)調(diào)查、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、系統(tǒng)轉(zhuǎn)換、系統(tǒng)運(yùn)行與維護(hù)、系統(tǒng)評(píng)價(jià)等步驟。此外,方便的查詢(xún)功能可以使客戶(hù)迅速地找到自己所需的房產(chǎn)信息。 ? 售樓管理,系統(tǒng)的核心,要能夠?qū)崿F(xiàn)對(duì)樓盤(pán)銷(xiāo)售的數(shù)據(jù)、合同簽訂情況、客戶(hù)付費(fèi)等情況的管理。其中,戶(hù)型信息包括戶(hù)型編號(hào)、建筑面積、套內(nèi)面積、房型、 8 戶(hù)型簡(jiǎn)介以及圖片文件。 ( 3) 戶(hù)型查詢(xún):戶(hù)型查詢(xún)部分包括戶(hù) 型編號(hào)、建筑面積、戶(hù)型結(jié)構(gòu)等查詢(xún)方式。其中,客戶(hù)資料包括姓名、身份證號(hào)、出生日期、性別、電子郵件、通信住址、電話(huà)號(hào)碼、手機(jī)、郵編、車(chē)牌號(hào)等。其中,收費(fèi)信息包括收費(fèi)編號(hào)、樓盤(pán)編號(hào)、交費(fèi)時(shí)間、有線(xiàn)電視費(fèi)、電話(huà)調(diào)試費(fèi)、煤氣初裝費(fèi)、公用設(shè)施費(fèi)、其他費(fèi)用、押金、收款人、交款人等。其中,售樓人員資料包括姓名、身份證號(hào)、出生日期、性別、電子郵件、通信住址、電話(huà)號(hào)碼、手機(jī)、郵編、人員編號(hào)等。其中收款資料包括樓盤(pán)編號(hào)、交款日期、收款單號(hào)、收款金額、付款方式、交款人等。 ? 系統(tǒng)維護(hù)部分 系統(tǒng)維護(hù)部分包括數(shù)據(jù)備份和數(shù)據(jù)恢復(fù),實(shí)現(xiàn)將現(xiàn)有數(shù)據(jù)庫(kù)進(jìn)行備份和恢復(fù)功能。 圖 1 系統(tǒng)功能模塊圖 第三章 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)在一個(gè)管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。 設(shè)計(jì)數(shù)據(jù)庫(kù) 根據(jù)功能分析,系統(tǒng)數(shù)據(jù)庫(kù)應(yīng)滿(mǎn)足戶(hù)型資料、樓盤(pán)資料、客戶(hù)資料、合同資料、收費(fèi)資料、收款登記、售樓人員、收款登記和系統(tǒng)管理 9 個(gè)功能的需求。 在 Visual Basic 中,開(kāi)發(fā)系統(tǒng)的第一步就是需 要?jiǎng)?chuàng)建一個(gè)管理系統(tǒng)資源的工程,系統(tǒng)中所有的窗口、菜單、工具欄等資源都是在此工程中添加和設(shè)計(jì)完成的。這樣,就新創(chuàng)建了一個(gè)名稱(chēng)為?售樓管理系統(tǒng)?的工程。將這個(gè)窗體的名稱(chēng)更改為 frmLogin,就用它作為系統(tǒng)登錄窗體。H00C0FFFFamp。H00C000C0amp。H00C000C0amp。 amp。打開(kāi)數(shù)據(jù)庫(kù) sql = select * from 系統(tǒng)管理表 39。默認(rèn)顯示第一個(gè)子項(xiàng) 20 End If t = 0 39。 amp。檢驗(yàn)密碼是否正確 If Trim((1)) = Trim() Then userID = username = (2) 39。 表 10 系統(tǒng)主窗體屬性 屬性 屬性值 說(shuō)明 名稱(chēng) frmMain 設(shè)置窗體名稱(chēng) Caption “售樓管理系統(tǒng) ” 設(shè)置窗體標(biāo)題 Icon 設(shè)置窗體圖標(biāo) Pictrue 設(shè)置窗體背景圖案 StartUpPosition 2CenterScreen 設(shè)置窗體默認(rèn)位置 Windowstate 2Maximized 設(shè)置窗體默認(rèn)狀態(tài) 主窗體的設(shè)置效果如圖 4 所示。 雙擊 Toolbar 控件,在該控件的 ButtonClick 事件中設(shè)定各個(gè)按鈕響應(yīng)后的操作。如果單擊按鈕關(guān)鍵字為 bt_loupan則顯示樓盤(pán)查詢(xún)窗體 1 Case bt_kehu 1 Case bt_shoufei 1 Case bt_shoulou 1 Case bt_shoukuan 1 Case bt_tuichu Unload Me End Select End Sub 另外,為了維護(hù)系統(tǒng)的安全 ,當(dāng)用戶(hù)以 guest 身份登錄時(shí),部分功能是不可用的。 建立戶(hù)型登記窗體( frmHuxingLogin) 主要用來(lái)對(duì)戶(hù)型資料進(jìn)行登記,包括添加、修改、刪除等各種操作。此控件不是標(biāo)準(zhǔn)控件,需要用戶(hù)自行添加。添加完控件的窗體效果如圖 5 所示。 單擊?刪除?按鈕時(shí),詢(xún)問(wèn)是否確定刪除該記錄,得到確認(rèn)后根據(jù)戶(hù)型編號(hào)進(jìn)行刪除。單擊?戶(hù)型登記?菜單,添加如下代碼: Private sub housestylogin_click( ) End sub ( 2)加載窗體時(shí),需要在打開(kāi)戶(hù)型資料表之后,調(diào)用 dispalygrid過(guò)程顯示記錄信息,然后將常用戶(hù)型名稱(chēng)添加到 Combo1 組合框的子項(xiàng)中。將戶(hù)型資料加入 Combo1控件子項(xiàng)中 一室二廳 一室二廳 復(fù) 式 三室二廳 gridclick = False 39。單擊?工具?菜單,選擇?添加過(guò)程? 子菜單,添加 displaygrid 過(guò)程。設(shè)置行高 .RowHeight(i) = 315 Next For i = 0 To .Cols 1 39。添加過(guò)程setgridhead 用來(lái)設(shè)置表頭。 Public Sub displaygrid() 39。 從第二行開(kāi)始逐列取得字段值并顯示出來(lái) = 0 If Not IsNull((0)) Then = (0) _ Else = = 1 If Not IsNull((1)) Then = (1) _ Else = = 2 If Not IsNull((2)) Then = (2) _ Else = = If Not IsNull((3)) Then = (3) _ Else = = 4 If Not IsNull((5)) Then = (5) _ 29 Else = = If Not IsNull((4)) Then = (4) _ Else: = Loop End If displayerror: If 0 Then MsgBox End Sub ( 4)當(dāng)單擊表格控件的某條戶(hù)型記錄時(shí),即在下面的明細(xì)欄內(nèi)顯示該條記錄的詳細(xì)信息。記錄當(dāng)前行 If = 1 Then 39。這些示意圖存放在系統(tǒng)路徑下的 ICON 文件夾內(nèi),如果存在需要使用 Image 控件顯示該戶(hù)型的示意圖。取得圖片名稱(chēng) = LoadPicture( amp。加載圖片 Else = LoadPicture() 39。首先應(yīng)該判斷當(dāng)前按鈕的狀態(tài)。下面對(duì)輸入的 有效性進(jìn)行驗(yàn)證 If Trim() = Then MsgBox 戶(hù)型編號(hào)不能為空! , vbOKOnly + vbExclamation, Exit Sub End If If Trim() = Then MsgBox 請(qǐng)選擇房型! , vbOKOnly + vbExclamation, 31 Exit Sub End If If Trim() = Then MsgBox 建筑面積不能為空! , vbOKOnly + vbExclamation, Exit Sub End If If Trim() = Then MsgBox 套內(nèi)面積不能為空! , vbOKOnly + vbExclamation, Exit Sub End If If Not IsNumeric() Then 39。下面對(duì)輸入的有效性進(jìn)行驗(yàn)證 If Trim() = Then MsgBox 戶(hù)型編號(hào)不能為空! , vbOKOnly + vbExclamation, Exit Sub End If If Trim() = Then MsgBox 請(qǐng)選擇房型! , vbOKOnly + vbExclamation, Exit Sub End If 32 If Trim() = Then MsgBox 建筑面積不能為空! , vbOKOnly + vbExclamation, Exit Sub End If If Trim() = Then MsgBox 套內(nèi)面積不能為空! , vbOKOnly + vbExclamation, Exit Sub End If If Not IsNumeric() Then 39。逐條檢查戶(hù)型編號(hào)是否已經(jīng)存在 IfTrim((0)) = Trim() Then MsgBox 戶(hù)型編號(hào)重復(fù)! , vbOKOnly + vbExclamation, Exit Sub End If Next i 如果沒(méi)有重復(fù),則將新的數(shù)據(jù)添加到數(shù)據(jù)庫(kù)中。戶(hù)型編號(hào)不存在,在最后插入新紀(jì)錄 (0) = Trim() 39。 With grdHuxing 39。各個(gè)字段為空 = = = = False 39。設(shè)置好控件及屬性的 frmBuildingLogin 窗體如圖 6所示。 單擊?刪除?按鈕時(shí),首先詢(xún)問(wèn)是否確定要?jiǎng)h除該信息,在得到確認(rèn)后取得用戶(hù)選定的樓盤(pán)信息,根據(jù)戶(hù)型編號(hào)進(jìn)行刪 除。在查詢(xún)條件中選擇某一種查詢(xún)方式,然后輸入查詢(xún)的關(guān)鍵字,即可按照要求找出符合條件的數(shù)據(jù),并在下面的列表中顯示結(jié)果。在查詢(xún)條件部分選擇某一種查詢(xún)方式,然后輸入查詢(xún)的關(guān)鍵字,再單擊‘查詢(xún)’ 按鈕 ,開(kāi)始執(zhí)行查詢(xún),將查詢(xún)的結(jié)果在表格中顯示出來(lái)。根據(jù)戶(hù)型編號(hào)查詢(xún)的代碼如下: Private Sub cmdfind_Click() On Error GoTo finderror Dim sql As String 40 39。 Trim() amp。 CInt(Trim()) amp。 amp。 Private Sub cmdall_Click() 41 Dim sql As String sql = select * from 戶(hù)型資料表 = adUseClient sql, conn, adOpenKeyset, adLockPessimistic 二室二廳 一室二廳 一室二廳 復(fù) 式 三室二廳 setgrid setgridhead displaygrid End Sub 建立樓盤(pán)查詢(xún)窗體( frmBuildingFind) 本窗體主要用來(lái)對(duì)樓盤(pán)資料進(jìn)行查詢(xún)。 設(shè)置完成的 frmBuildingFind 窗口如圖 8 所示。戶(hù)型 Dim rs_loupan As New 39。 _