




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
畢業設計-房屋租賃管理系統LTPAGEPAGE45屆XXXX班畢業論文存檔編號:XX大學畢業論文題目房屋租賃管理系統專業:計算機科學與技術年級:2002學號:200000000000論文作者:XXX指導教師:XXX職稱:教授XX大學計算機學院制完成時間:2006年03月20日摘要隨著我國市場經濟的快速發展和人們生活水平的不斷提高,簡單的租憑服務已經不能滿足人們的需求。如何利用先進的管理手段,提高房屋租憑管理水平,是當今社會所面臨的一個重要課題。本文通過用VB6.0編寫房屋租賃管理系統,利用軟件工程原理,采用面向對象的編程方法,其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面,實現了房屋租賃管理的自動化和信息化.整個系統從符合操作簡便、界面友好、靈活、實用、安全的要求出發,完成基本資料管理、客戶資料管理、租憑合同管理、財務管理、統計報表管理等功能.經過實際測試證明,本文所設計的房屋租賃管理系統可以用于物業管理部門從第一章序論1.1課題來源隨著我國市場經濟的快速發展和信息化水平的不斷提高,如何利用先進的管理手段,提高物業管理的水平,是當今社會所面臨的一個課題。提高企業的管理水平,必須全方位地提高企業的管理意識。只有高標準、高質量的管理才能滿足企業的發展需求。面對信息時代的挑戰,利用高科技手段來提高房屋租賃管理無疑是一條行之有效的途徑。在某種意義上,信息與科技在企業管理與現代化建設中顯現出越來越重要的地位。房租租賃管理方面的信息化與科學化,已成為現代化生活水平步入高臺階的重要標志。隨著計算機技術不斷的飛速發展,計算機以及計算機控制的自動處理技術已融入人類社會的各個領域并發揮著越來越重要的作用。對于當今的科學信息是一次重大的飛越,為人們的生活、工作、學習帶來潛移默化的影響。今天我們使用計算機對房屋租賃信息進行管理,具有手工管理所無法比擬的優點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高房屋租賃管理的效率。面對目前的實際狀況,迫切需要開發一個新系統來適應這一些工作.1.2開發背景和開發目的利用計算機實現物業管理中的房屋租賃管理勢在必行。對于物業管理企業來說,利用計算機支持企業高效率完成房屋租賃管理的日常事務,是適應現代企業制度要求、推動企業勞動型管理走向科學化、規范化的必要條件;而房屋租賃管理是一項瑣碎、復雜而又十分細致的工作,房屋的基本資料,客戶資料的管理,房屋租賃管理,各項收費以及統計報表的管理,一般不允許出錯,如果實行手工操作,須手工填制大量的表格,這就會耗費工作人員大量的時間和精力,計算機進行房屋租賃工作的管理,不僅能夠保證各項信息準確無誤、快速輸出,同時計算機具有手工管理所無法比擬的優點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高物業管理的效率,也是企業的科學化、正規化管理,與世界接軌的重要條件。開發本系統就是為了解決物業管理企業在房屋租賃信息管理中的一些不規范,使房屋租賃信息的管理向著規范化、簡單化、有效化的方向發展。1.3可行性分析1.3.1經濟可行性分析 本系統開發簡單但要耗去一定的時間,所用的開發工具和軟件都差不多是免費的。而且,由于系統能夠在未來較長的一段時期內穩定地發揮作用,這對于學生房屋租賃信息的自動化管理,稱業管理企業的人力和財力都有很大的幫助。由此可見在,開發此系統在經濟上是完全可行的。1.3.2操作可行性分析 如今的計算機已經走進千家萬戶,硬件成本的下降,導致計算機購買成本的降低.我的這套系統是利用自己的計算機加MicrosoftVisualFoxPro6.0作為軟件的開發平臺,使開發出來的系統有友好的用戶界面、有良好的安全性設置、有詳細的操作說明書,這樣更使各類用戶很快地掌握系統的使用方法,操作友好因此在操作上是可行的.1.3.3技術可行性分析 從目前IT業界比較流行的數據庫開發、管理軟件來看,對于比較簡單的中小型數據庫,VisualBasic6.0和Windows2000的結合無疑是在實際應用中較為成功的一種解決方案。為用戶提供了業界軟件開發一直堅持的非常友好、操作簡單的用戶界面、完善強大的數據庫操作功能和簡潔明了的數據庫接口。所以技術實行起來相對會容易。1.4本文所做的工作第一章緒論部分主要敘述課題來源、開發背景和開發目的,可行性分析,分析比較當前開發工具,數據庫技術的比較。第二章結合軟件工程方法,對系統進行需求分析、系統目標和應用現狀調查、系統總體流程圖與功能調查圖繪制與分析。第三章在需求分析的基礎上選擇好開發工具,并對開發工具做簡要描述.第四章根據需求分析的結果,對系統進行概要設計,主要介紹用VisualBasic6.0創建應用程序的步驟,以及在本系統開發的所用到控件.實現每一個模塊的具體功能。第五章根據第四章的創建應用程序步驟及VisualBasic6.0提供的控件進行房屋租賃管理系統的詳細設計.重點分析數據庫的設計以及主要功能模塊的實現.第六章在完成了主要功能模塊的設計后,本章進行的系統主程序的設計,以及怎樣在VisualBasic6.0環境下生成應用程序.第七章畢業設計小結,總結部分介紹了設計體會和編程體會.設計存在的不足,及今后的學習方向.第二章需求分析2.1系統目標采用企業現有的軟硬件環境及科學的管理系統開發方案,建立房屋租賃信息管理系統,實現房屋租賃信息管理的計算機自動化。系統應符合物業管理企業原有的房屋租賃管理制度,并達到操作直觀、方便、實用、安全等要求。2.2應用現狀調查當前,很多物業管理企業的房屋租賃信息管理都是以紙張為介質作記錄,人力管理的比例比較大,往往是各個主要負責人以書面的形式管理房屋租賃信息,效率低下。數據打印,匯總,成績更新不及時,容易丟失,損壞數據給學校學生帶來損失,不易保存且數據保密性較差。2.3系統總體流程圖如下:2.4系統的數據流程圖及分析:房屋登記房屋登記基本信息輸入定金管理下定金,預定管理合同簽訂押金管理租戶求租資料客戶登記信息求租數據流程圖整個系統從總體上分為基本資料管理、客戶資料管理、租賃管理、財務管理以及統計報表五大部分,每一部分實現的功能如下:基本資料管理功能:實現房屋基本資料的管理.客戶資料管理:分租戶基本資料跟求租戶基本資料管理租賃管理:分為合同簽訂,合同續簽,合同管理,預定租房,合同查詢,預定單查詢,出租到期提醒,預定到期提醒。財務管理功能分定金、押金、租金收取,租金管理,定金退還,押金退還。統計報表功能:房屋統計報表,租戶統計報表,求租客戶信息表,歷史租戶表,現有合同表,歷史合同表,預定金統計,押金,定金統計,租金統計等功能2.5系統功能模塊圖房屋租賃管理系統基本資料房屋租賃管理系統基本資料客戶資料租賃管理財務管理統計報表房屋基本管理租戶基本資料求租客戶資料合同續簽合同管理預定租房合同查詢預定單查詢出租到期提醒預定到期提醒合同簽定財務管理財務財務管理定金收取租金收取押金收取租金管理定金退還押金退還統計報表財務財務管理基本資料基本資料基本資料基本資料基本資料預定單統計租戶信息表求租客戶房屋統計歷史租戶現有合同歷史合同定金統計租金統計第三章開發工具的選擇及簡介3.1開發工具的選擇針對目前世界上流行的大量軟件和開發工具,經過認真分析其優缺點,結合數據庫管理系統的需要和目前的硬件環境,我們選用微軟WINDOWS平臺下的VisualBasic6.0(簡寫為VB6.0)作為房屋租賃管理系統的開發工具.3.2開發工具簡介現在,市場上可以選購的應用開發產品很多,流行的也有數十種。目前在我國市場上最為流行、使用最多、最為先進的可用作企業級開發工具的產品有:Microsoft公司的VisualBasicMicrosoft公司的VisualCMicrosoft公司的VisualFoxProBorland公司的DelphiPowersoft公司的PowerBuliderJava等等在目前市場上這些眾多的程序開發工具中,有些強調程序語言的彈性與執行效率;有些則偏重于可視化程序開發工具所帶來的便利性與效率的得高,各有各的優點和特色,也滿足了不同用戶的需求。然而,語言的彈性和工具的便利性是密不可分的,只有便利的工具,卻沒有彈性的語言作支持,許多特殊化的處理動作必需要耗費數倍的工夫來處理,使得原來所標榜的效率提高的優點失去了作用;相反,如果只強調程序語言的彈性,卻沒有便利的工具作配合,會使一些即使非常簡單的界面處理動作,也會嚴重地浪費程序設計師的寶貴時間。VisualBasic是美國微軟公司的第一個編程工具和系統開發的第一個產品,VisualBasic以優良的性能、較強的系統開發功能、完美的視覺界面和簡單易學的特點,已經贏得了全世界廣大用戶的偏愛。VisualBasic的編程環境包含了快速有效的開發功能,尤其是數據窗口這一方便而簡潔操縱數據庫的智能化對象,使系統的開發更人性化,操作更簡便。作為管理信息系統的開發,VisualBasic是一個非常理想選擇。VisualBasic是一種可視化的、面對對象和條用事件驅動方式的結構化高級程序設計,可用于開發Windows環境下的種類應用程序。它簡單易學、效率高,且功能強大,可以與Windows的專業開發工具SDK相媲美,而且程序開發人員不必具有C/C++編程基礎。在VisualBasic環境下,利用事件驅動的編程機制、新穎易用的可視化設計工具,使用Windows內部的應用程序接口(API)函數,以及動態鏈接庫(DLL)、動態數據交換(DDE)、對象的鏈接與嵌入(OLE)、開放式數據訪問(ODBC)等技術,可以高效、快速地開發出Windows環境下功能強大、圖形界面豐富的應用軟件系統。總的來說,VisualBasic6.0具有以下特點:VisualBasic是一種可視化的、面對對象和條用事件驅動方式的結構化高級程序設計,可用于開發Windows環境下的種類應用程序。它簡單易學、效率高,且功能強大,可以與Windows的專業開發工具SDK相媲美,而且程序開發人員不必具有C/C++編程基礎。在VisualBasic環境下,利用事件驅動的編程機制、新穎易用的可視化設計工具,使用Windows內部的應用程序接口(API)函數,以及動態鏈接庫(DLL)、動態數據交換(DDE)、對象的鏈接與嵌入(OLE)、開放式數據訪問(ODBC)等技術,可以高效、快速地開發出Windows環境下功能強大、圖形界面豐富的應用軟件系統。可視化編程:用傳統程序設計語言設計程序時,都是通過編寫程序代碼來設計用戶界面,在設計過程中看不到界面的實際顯示效果,必須編譯后運行程序才能觀察。如果對界面的效果不滿意,還要回到程序中修改。有時候,這種編程-編譯-修改的操作可能要反復多次,大大影響了軟件開發效率。VisualBasic提供了可視化設計工具,把Windows界面設計的復雜性“封裝”起來,開發人員不必為界面設計而編寫大量程序代碼。只需要按設計要求的屏幕布局,用系統提供的工具,在屏幕上畫出各種“部件”,即圖形對象,并設置這些圖形對象的屬性。VisualBasic自動產生界面設計代碼,程序設計人員只需要編寫實現程序功能的那部分代碼,從而可以大大提高程序設計的效率。面向對象的程序設計4.0版以后的VisualBasic支持面向對象的程序設計,但它與一般的面向對象的程序設計語言(C++)不完全相同。在一般的面向對象程序設計語言中,對象由程序代碼和數據組成,是抽象的概念;而VisualBasic則是應用面向對象的程序設計方法(OOP),把程序和數據封裝起來作為一個對象,并為每個對象賦予應有的屬性,使對象成為實在的東西。在設計對象時,不必編寫建立和描述每個對象的程序代碼,而是用工具畫在界面上,VisualBasic自動生成對象的程序代碼并封裝起來。每個對象以圖形方式顯示在界面上,都是可視的。結構化程序設計語言VisualBasic是在BASIC語言的基礎上發展起來的,具有高級程序設計語言的語句結構,接近于自然語言和人類的邏輯思維方式。VisualBasic語句簡單易懂,其編輯器支持彩色代碼,可自動進行語法錯誤檢查,同時具有功能強大且使用靈活的調試器和編譯器。VisualBasic是解釋型語言,在輸入代碼的同時,解釋系統將高級語言分解翻譯成計算機可以識別的機器指令,并判斷每個語句的語法錯誤。在設計VisualBasic程序的過程中,隨時可以運行程序,而在整個程序設計好之后,可以編譯生成可執行文件(.EXE),脫離VisualBasic環境,直接在Windows環境下運行。事件驅動編程機制VisualBasic通過事件來執行對象的操作。一個對象可能會產生多個事件,每個事件都可以通過一段程序來響應。例如,命令按鈕是一個對象,當用戶單擊該按鈕時,將產生一個“單擊”(CLICK)事件,而在產生該事件時將執行一段程序,用來實現指定的操作。在用VisualBasic設計大型應用軟件時,不必建立具有明顯開始和結束的程序,而是編寫若干個微小的子程序,即過程。這些過程分別面向不同的對象,由用戶操作引發某個事件來驅動完成某種特定的功能,或者由事件驅動程序調用通用過程來執行指定的操作,這樣可以方便編程人員,提高效率。訪問數據庫VisualBasic具有強大的數據庫管理功能,利用數據控件和數據庫管理窗口,可以直接建立或處理MicrosoftAccess格式的數據庫,并提供了強大的數據存儲和檢索功能。同時,VisualBasic還能直接編輯和訪問其他外部數據庫,如dBASE,FoxPro,Paradox等,這些數據庫格式都可以用VisualBasic編輯和處理。VisualBasic提供開放式數據連接,即ODBC功能,可通過直接訪問或建立連接的方式使用并操作后臺大型網絡數據庫,如SQLServer,Oracle等。在應用程序中,可以使用結構化查詢語言SQL數據標準,直接訪問服務器上的數據庫,并提供了簡單的面向對象的庫操作指令和多用戶數據庫訪問的加鎖機制和網絡數據庫的SQL的編程技術,為單機上運行的數據庫提供了SQL網絡接口,以便在分布式環境中快速而有效地實現客戶/服務器(client/server)方案。動態數據交換(DDE)利用動態數據交換(DynamicDataExchange)技術,可以把一種應用程序中的數據動態地鏈接到另一種應用程序中,使兩種完全不同的應用程序建立起一條動態數據鏈路。當原始數據變化時,可以自動更新鏈接的數據。VisualBasic提供了動態數據交換的編程技術,可以在應用程序中與其他Windows應用程序建立動態數據交換,在不同的應用程序之間進行通信。對象的鏈接與嵌入(OLE)對象的鏈接與嵌入(OLE)將每個應用程序都看作是一個對象(object),將不同的對象鏈接(link)起來,再嵌入(embed)某個應用程序中,從而可以得到具有聲音、影像、圖像、動畫、文字等各種信息的集合式的文件。OLE技術是Microsoft公司對象技術的戰略,它把多個應用程序合為一體,將每個應用程序看作是一個對象進行鏈接和嵌入,是一種應用程序一體化的技術。利用OLE技術,可以方便地建立復合式文檔(compounddocument),這種文檔由來自多個不同應用程序的對象組成,文檔中的每個對象都與原來的應用程序相聯系,并可執行與原來應用程序完全相同的操作。動態鏈接庫(DLL)VisualBasic是一種高級程序設計語言,不具備低級語言的功能,對訪問機器硬件的操作不太容易實現。但它可以通過動態鏈接庫技術將C/C++或匯編語言編寫的程序加入到VisualBasic應用程序中,可以像調用內部函數一樣調用其他語言編寫的函數。此外,通過動態鏈接庫,還可以調用Windows應用程序接口(API)函數,實現SDK所具有的功能第四章房屋租賃管理系統的詳細設計4.1數據庫概要4.1.1數據庫的含義所謂數據庫,就是為了滿足某些系統、某些用戶的需要,在計算機系統中按照一定的數據模型、數據結構等方式進行組織、存儲和使用的互相關聯的數據集合,是數據按科學的結構形式組織的“倉庫”。在實際中,人們把數據庫以文件形式存入于磁盤(軟盤、硬盤或磁帶)中,數據庫管理系統以文件形式對其進行調度管理。4.1.2數據庫管理系統數據庫管理系統,簡稱DBMS,是為數據庫的建立,使用和維護而配置的軟件,它提供了安全性和完整性等統一控制機制,方便用戶管理和存取大量的數據資源。例如,VisualBasic6.0就是微機上使用的一種數據管理系統。在數據庫管理系統的支持下,數據完全獨立于應用程序,并且能被多個用戶或程序共享,其關系如圖所示。應用程序1應用程序1數據庫管理系統數據庫管理系統數據庫應用程序2應用程序2應用程序3應用程序3應用程序與數據庫的關系數據庫管理系統一般具備數據庫的定義、操作、查詢及控制等功能。它將所有應用程序使用的數據匯集起來,建立數據庫,使之面對所有應用程序的查詢和訪問。因此,作為訪問者的應用程序相對于數據庫來說是獨立的,而作為被訪問的數據在數據庫中同樣是獨立的。當要建立新的數據管理系統時,只要生成一個新的應用程序即可,它可以立即使用現成的數據庫,而不必建立新的數據文件。數據庫管理系統是為數據庫的建立、使用、管理和維護而配置的軟件。它建立在操作系統的基礎上,對數據庫進行統一的管理和控制。用戶使用的各種數據庫命令以及應用程序的執行都要通過數據庫管理系統。數據庫管理系統還承擔著數據庫的維護工作,保證數據庫的安全性和完整性。數據庫管理系統的功能體現在“管理”二字上。它針對不同的用戶及不同的使用目的,提供給用戶各種操作、管理數據庫的命令、函數、控件和對象,以幫助用戶完成任務。其主要功能如下:定義數據庫根據用戶設計的數據結構,建立數據庫結構組織.存取數據它包括很多基本操作:輸入、更新、插入、檢索、刪除、輸出、統計、排序、索引等。數據庫運行管理所有數據庫的操作都要在數據庫管理系統的餓控制程序的統一管理下進行,以保證正確運行,保證數據庫正確有效。數據庫系統的維護系統維護是一項重要的工作,它包括數據庫的轉存、恢復、數據庫的重組及性能監視、分析等。由上可見,數據庫管理系統是一個能使用和管理數據庫中數據的軟件。這是數據庫系統與文件系統的一個最大的區別。數據庫管理系統功能的強弱基本上決定了整個數據庫系統功能。4.1.3數據庫應用系統數據庫應用系統是指系統開發人員利用數據庫系統資源開發出來的,面向某一類信息處理問題而建立的軟件系統。數據庫系統的用戶自己編寫的、基于數據庫數據的程序稱為應用程序,針對某一數據庫管理而編制的一組應用程序形成該數據庫的應用系統,它是數據庫系統的一個重要組成部分,它們與數據庫上的數據構成數據庫中最活躍的部分。4.2數據庫的結構設計 為了實現管理信息系統的計算機化,僅僅用文字來描述信息的流動和存儲還遠遠不夠,還要進一步調查分析舍去物質流,抽象出信息流,定義出數據庫,各數據表的結構,并對各種數據的屬性和各項處理功能進行詳細分析。系統分析的主要成果是系統的邏輯模型。通過對該系統的研究,將系統數據分為以下幾個表:客戶信息表,定金表,房屋表,押金表,求租,預定表以及租金等幾個表,各表的具體設計結構如下:客戶信息表:字段名類型寬度小數位數客戶編號字符型10租戶姓名字符型6工作單位字符型20聯系電話字符型2性別字符型8租戶人數字符型20身份證編號字符型20備注備注型4定金表:字段名類型寬度小數位數收費編號字符型10定金金額字符型10預定金編號字符型10收費日期日期型8預定客戶字符型10預定房屋編號字符型10備注備注型房屋表:字段名類型寬度小數位數房屋編號字符型8物業地址字符型10房型字符型20建筑面積數值型52使用面積數值型52裝修情況字符型10出租價位數值型52目前狀態字符型字符型備注備注型押金表:字段名類型寬度小數位數收費編號字符型10押金金額數值型52收費日期日期型8合同編號字符型10客戶姓名字符型8房屋編號字符型10備注備注型求租表:字段名類型寬度小數位數求租客戶編號字符型10求租客戶姓名字符型10電話字符型15房型要求字符型50面積要求數值型52裝修要求字符型50意向價位數值型52意向房屋編號字符型10備注備注租金表:字段名類型寬度小數位數收費編號字符型10租金年份日期型8租金月份日期型8應交租金數值型52已交租金數值型52久費金額數值型52客戶姓名字符型10交費日期日期型8備注備注4.3系統主界面的設計啟動系統后,主界面設計效果圖如下:公用模塊的設計代碼分析如下:OptionExplicitPublicconnAsNewADODB.Connection'定義全局變量queryhouse作為判斷frmHouse窗體顯示查詢的數據還是全體數據PublicqueryhouseAsBoolean'定義全局變量sqlqh作為查詢房屋信息時的sql語句PublicsqlqhAsString'定義全局變量querycf作為判斷frmClient窗體家庭租戶選項卡顯示查詢的數據還是全體數據PublicquerycfAsBoolean'定義全局變量sqlqcf作為查詢家庭租戶信息時的sql語句PublicsqlqcfAsString'定義全局變量querycg作為判斷frmClient窗體家公司戶選項卡顯示查詢的數據還是全體數據PublicquerycgAsBoolean'定義全局變量sqlqcg作為查詢公司租戶信息時的sql語句PublicsqlqcgAsString'定義全局變量queryemp作為判斷frmEmp窗體顯示查詢的數據還是全體數據PublicqueryempAsBoolean'定義全局變量sqlqe作為查詢員工信息時的sql語句PublicsqlqeAsString'定義全局變量queryqzc作為判斷frmQZClient窗體顯示查詢的數據還是全體數據PublicqueryqzcAsBoolean'定義全局變量sqlqzc作為查詢求租客戶信息時的sql語句PublicsqlqzcAsString'定義全局變量querycon作為判斷frmAdminContract窗體顯示查詢的數據還是全體數據PublicqueryconAsBoolean'定義全局變量sqlqcon作為查詢合同信息時的sql語句PublicsqlqconAsString'定義全局變量sqlqyd作為查詢預定單信息時的sql語句PublicsqlqydAsString'定義全局變量fromqzc作為判斷frmYuDing窗體是從frmQZClient窗體中單擊下定金預定調用的'還是直接菜單調用的PublicfromqzcAsBoolean'定義全局變量fromYuding作為判斷frmPayDingJin窗體是從frmYuDing窗體中單擊收取定金調用的'還是直接菜單調用的PublicfromYudingAsBoolean'定義全局變量fromContract作為判斷frmPayYaJin窗體是從frmSignContract窗體中單擊收取押金調用的'還是直接菜單調用的PublicfromContractAsBoolean'定義全局變量ZuJinfromContract作為判斷frmPayZuJin窗體是從frmSignContract窗體中單擊收取租金調用的'還是直接菜單調用的PublicZuJinfromContractAsBoolean'定義全局變量queryZuJin作為判斷frmAdminZuJin窗體顯示查詢的數據還是全體數據PublicqueryZuJinAsBoolean'定義全局變量sqlqzj作為查詢合同信息時的sql語句PublicsqlqzjAsString'定義全局變量sqlqdj作為查詢定金信息時的sql語句PublicsqlqdjAsString'定義全局變量sqlqyj作為查詢押金信息時的sql語句PublicsqlqyjAsString4.3各主要功能模塊的設計與實現4.3.1基本資料管理模塊設計房屋基本資料管理的運行效果圖如下:其表單界面的屬性設計比較直觀,在此重點分析新增,修改,刪除,保存四個命令按鈕的源代碼設計:新增按鈕源碼:PrivateSubcmdAdd_Click()'設置除保存和取消按鈕外的其他按鈕不可用cmdAdd.Enabled=FalsecmdEdit.Enabled=FalsecmdDel.Enabled=FalsecmdSave.Enabled=TruecmdCancel.Enabled=TruecmdFirst.Enabled=FalsecmdPrev.Enabled=FalsecmdNext.Enabled=FalsecmdLast.Enabled=FalsecmdQuery.Enabled=False'需要清空所有text框,并且設置它們可寫Fori=0To7Text1(i).Text=""Text1(i).Enabled=TrueNextiCombo1.Enabled=True'add變量用于保存時判斷是從添加還是修改后保存add=1Text1(0).SetFocusEndSubPrivateSubcmdCancel_Click()'取消按鈕用于用戶添加或修改過程中放棄添加或修改操作cmdSave.Enabled=FalsecmdCancel.Enabled=FalsecmdAdd.Enabled=TruecmdQuery.Enabled=True'如果是從添加后取消Ifadd=1Then'如果當前House表中有數據則顯示第一條數據IfNotrs_house.EOFAndNotrs_house.BOFThenFori=0To7Text1(i).Text=rs_house.Fields(i)NextiIfrs_house.Fields(8)="已租"ThenCombo1.ListIndex=0ElseIfrs_house.Fields(8)="未租"ThenCombo1.ListIndex=1ElseIfrs_house.Fields(8)="意向"ThenCombo1.ListIndex=2EndIfcmdEdit.Enabled=TruecmdDel.Enabled=TruecmdFirst.Enabled=TruecmdPrev.Enabled=TruecmdNext.Enabled=TruecmdLast.Enabled=True'如果沒有數據,則顯示空ElseFori=0To7Text1(i).Text=""NexticmdEdit.Enabled=FalsecmdDel.Enabled=FalsecmdFirst.Enabled=FalsecmdPrev.Enabled=FalsecmdNext.Enabled=FalsecmdLast.Enabled=FalseEndIf'如果是修改后取消,則恢復到修改前的數據ElseIfadd=0ThenFori=0To7Text1(i).Text=rs_house.Fields(i)NextiIfrs_house.Fields(8)="已租"ThenCombo1.ListIndex=0ElseIfrs_house.Fields(8)="未租"ThenCombo1.ListIndex=1ElseIfrs_house.Fields(8)="意向"ThenCombo1.ListIndex=2EndIfEndIf'開始時設置各個text框不可寫Fori=0To7Text1(i).Enabled=FalseNexti'先設置ComboBox的默認值及不可改Combo1.Enabled=FalseEndSubPrivateSubcmdClose_Click()UnloadMeEndSub刪除按鈕的源代碼:PrivateSubcmdDel_Click()'當單擊刪除記錄時,需要彈出一個提示框,警告用戶DimanswerAsStringanswer=MsgBox("確定要刪除嗎?",vbYesNo,"")'確實刪除Ifanswer=vbYesThenrs_house.Delete'刪除當前記錄rs_house.Update'更新刪除MsgBox"成功刪除!",vbOKOnly+vbExclamation,""ElseExitSubEndIf'刪除之后,顯示總信息條數需要減1Text2.Text=Val(Text2.Text)-1'刪除當前記錄后,需要顯示下一條記錄,如果刪除的是最后一條記錄,則顯示上一條記錄'先移動rs_house記錄到后一條rs_house.MoveNextIfrs_house.EOFThenrs_house.MovePrevious'如果沒有到記錄首則顯示該記錄IfNotrs_house.BOFThenFori=0To7Text1(i).Text=rs_house.Fields(i)NextiIfrs_house.Fields(8)="已租"ThenCombo1.ListIndex=0ElseIfrs_house.Fields(8)="未租"ThenCombo1.ListIndex=1ElseIfrs_house.Fields(8)="意向"ThenCombo1.ListIndex=2EndIf'如果到記錄首,則表格已經為空,置所有text框顯示為空ElseIfrs_house.BOFThenFori=0To7Text1(i).Text=""NexticmdFirst.Enabled=FalsecmdPrev.Enabled=FalsecmdNext.Enabled=FalsecmdLast.Enabled=FalseEndIf'如果刪除的不是首尾記錄,則顯示當前記錄即可ElseFori=0To7Text1(i).Text=rs_house.Fields(i)NextiIfrs_house.Fields(8)="已租"ThenCombo1.ListIndex=0ElseIfrs_house.Fields(8)="未租"ThenCombo1.ListIndex=1ElseIfrs_house.Fields(8)="意向"ThenCombo1.ListIndex=2EndIfEndIfEndSub保存按鈕的源代碼:PrivateSubcmdEdit_Click()'設置除保存和取消按鈕外的其他按鈕不可用cmdAdd.Enabled=FalsecmdEdit.Enabled=FalsecmdDel.Enabled=FalsecmdSave.Enabled=TruecmdCancel.Enabled=TruecmdFirst.Enabled=FalsecmdPrev.Enabled=FalsecmdNext.Enabled=FalsecmdLast.Enabled=FalsecmdQuery.Enabled=False'需要設置除主鍵之外的text框可寫Fori=1To7Text1(i).Enabled=TrueNextiCombo1.Enabled=Trueadd=0EndSubPrivateSubcmdFirst_Click()'先移動rs_house記錄到第一條rs_house.MoveFirst'同時需要設置相應按鈕為不可用和不可用cmdPrev.Enabled=FalsecmdFirst.Enabled=FalsecmdNext.Enabled=TruecmdLast.Enabled=True'如果已經是第一條記錄,則提示用戶Ifrs_house.BOF=TrueThenMsgBox"對不起,已經是第一條記錄了!",vbOKOnly+vbInformation,"注意"ExitSub'如果不是,則個數據表的記錄位置移到第一條記錄,并且顯示之ElseFori=0To7Text1(i).Text=rs_house.Fields(i)NextiIfrs_house.Fields(8)="已租"ThenCombo1.ListIndex=0ElseIfrs_house.Fields(8)="未租"ThenCombo1.ListIndex=1ElseIfrs_house.Fields(8)="意向"ThenCombo1.ListIndex=2EndIfEndIfEndSubPREV檢索按鈕的源代碼:4.3.2客戶資料管理模塊的設計4.3.2.1租戶基本資料的設計運行效果圖如下所示:在租戶基本資料中,我們重點分析查找家庭租戶功能的源碼,如下:PrivateSubcmdQuery_Click()IfText1.Text=""ThenMsgBox"查詢條件不可為空!",vbOKOnly+vbInformation,"注意"Text1.SetFocusExitSubEndIf'設置查詢家庭租戶變量為真querycf=Truesqlqcf="where"&Combo1.Text&"="&"'"&Text1.Text&"'"frmClient.Show'關閉本窗體UnloadMeEndSub4.3.2.2求租戶基本資料的設計其保存按鈕的源碼分析如下:PrivateSubcmdSave_Click()'檢測數據是否完整IfText1(0).Text=""ThenMsgBox"求租客戶編號不可為空!",vbOKOnly+vbInformation,"注意"Text1(0).SetFocusExitSubElseIfText1(1).Text=""ThenMsgBox"求租客戶姓名不可為空!",vbOKOnly+vbInformation,"注意"Text1(1).SetFocusExitSubElseIfText1(2).Text=""ThenMsgBox"求租客戶電話不可為空!",vbOKOnly+vbInformation,"注意"Text1(2).SetFocusExitSubElseIfNotText1(4).Text=""AndIsNumeric(Text1(4).Text)=FalseThenMsgBox"面積要求不為空則應為數字!",vbOKOnly+vbInformation,"注意"Text1(4).SetFocusExitSubElseIfNotText1(6).Text=""AndIsNumeric(Text1(6).Text)=FalseThenMsgBox"意向價位不為空則應為數字!",vbOKOnly+vbInformation,"注意"Text1(6).SetFocusExitSubElseIfNotText1(7).Text=""AndIsNumeric(Text1(7).Text)=FalseThenMsgBox"意向租期不為空則應為數字!",vbOKOnly+vbInformation,"注意"Text1(7).SetFocusExitSubEndIf'如果意向房屋編號不為空,需要檢查是否存在IfNotText1(8).Text=""ThenDimsqlhcheckAsStringDimrs_hcheckAsNewADODB.Recordsetsqlhcheck="select*fromHousewhere房屋編號='"&Text1(8).Text&"'"rs_hcheck.Opensqlhcheck,conn,adOpenStatic,adLockOptimisticIfrs_hcheck.EOFThenMsgBox"該房屋編號不存在,請重填或清空!",vbOKOnly+vbInformation,"注意"Text1(8).SetFocusrs_hcheck.CloseExitSubEndIfrs_hcheck.CloseEndIf'添加數據后保存Ifadd=1Then'檢測房屋編號這個主鍵是否已經在表中存在Dimrs_checkAsNewADODB.RecordsetDimsqlCheckAsStringsqlCheck="select*fromQZClientwhere求租客戶編號='"&(Text1(0).Text)&"'"rs_check.OpensqlCheck,conn,adOpenStatic,adLockOptimisticIfNotrs_check.EOFAndNotrs_check.BOFThenMsgBox"該求租客戶編號已經存在,請重填一個!",vbOKOnly+vbInformation,"注意"rs_check.CloseText1(0).SetFocusText1(0).Text=""ExitSubEndIfrs_check.Close'主鍵不重復,可以加入表中rs_QZClient.AddNewFori=0To9rs_QZClient.Fields(i)=Text1(i).TextNextirs_QZClient.Update'添加之后顯示總共條數信息加1Text2.Text=Val(Text2.Text)+1'修改數據后的保存Elsers_QZClient.UpdateEndIfMsgBox"保存數據成功!",vbOKOnly+vbInformation,"祝賀"'保存后需要設置其他按鈕可用,以及各個text框不可寫cmdAdd.Enabled=TruecmdEdit.Enabled=TruecmdDel.Enabled=TruecmdSave.Enabled=FalsecmdCancel.Enabled=FalsecmdFirst.Enabled=TruecmdPrev.Enabled=TruecmdNext.Enabled=TruecmdLast.Enabled=TruecmdQuery.Enabled=TruecmdYuDing.Enabled=TrueFori=0To9Text1(i).Enabled=FalseNextiEndSub4.3.3租賃管理模塊的設計4.3.3.1簽訂合同的設計因租賃管理,財務管理和統計報表三個模塊的窗體設計比較多,無法一一描述,故選擇有代表性的窗體設計加以分析,其合同簽訂窗體的運行效果圖如下:如圖所示,簽訂的源碼設計如下:PrivateSubcmdSign_Click()'先檢查輸入數據完整性Fori=0To2IfText1(i).Text=""ThenMsgBox"除備注外的所有項不可為空!",vbOKOnly+vbInformation,"注意"Text1(i).SetFocusExitSubEndIfNextiFori=3To4IfText1(i).Text=""OrIsDate(Text1(i).Text)=FalseThenMsgBox"日期應為這樣的格式:2003-7-15!",vbOKOnly+vbInformation,"注意"Text1(i).SetFocusExitSubEndIfNextiIfText1(6).Text=""OrIsNumeric(Text1(6).Text)=FalseThenMsgBox"月租金應為數字!",vbOKOnly+vbInformation,"注意"Text1(6).SetFocusExitSubEndIfIfText1(8).Text=""OrIsNumeric(Text1(8).Text)=FalseThenMsgBox"押金應為數字!",vbOKOnly+vbInformation,"注意"Text1(8).SetFocusExitSubEndIfIfText1(9).Text=""ThenMsgBox"業務員不可為空!",vbOKOnly+vbInformation,"注意"Text1(9).SetFocusExitSubEndIfIfText1(10).Text=""OrIsDate(Text1(10).Text)=FalseThenMsgBox"簽訂日期應為這樣的格式:2003-7-15!",vbOKOnly+vbInformation,"注意"Text1(10).SetFocusExitSubEndIf'止租日期不能前于起租日期IfDateValue(Text1(4).Text)<DateValue(Text1(3).Text)ThenMsgBox"止租日期不能前于起租日期",vbOKOnly+vbInformation,"注意"Text1(4).SetFocusExitSubEndIf'租期等于起租日期和止租日期之差,結尾不足一月,按一月計。'使用datediff函數計算日期之差Text1(5).Text=Int(DateDiff("d",DateValue(Text1(3).Text),DateValue(Text1(4).Text))/31)+1'總租金等于月租金乘以租期Text1(7).Text=Val(Text1(5).Text)*Val(Text1(6).Text)'檢查完數據完整性后,還需要檢查該客戶是否已存入租戶表中,以及該房屋是否為未出租或預定狀態sqlc="select*fromClientwhere租戶姓名='"&Text1(1).Text&"'"rs_ccheck.Opensqlc,conn,adOpenStatic,adLockOptimisticIfrs_ccheck.EOF=TrueThenrs_ccheck.CloseMsgBox"該客戶資料還未存入租戶資料表中,請先錄入該客戶資料!",vbOKOnly+vbInformation,"注意"ExitSubEndIfrs_ccheck.Close'檢測房屋狀態sqlh="select*fromHousewhere房屋編號='"&Text1(2).Text&"'"rs_hcheck.Opensqlh,conn,adOpenStatic,adLockOptimisticIfrs_hcheck.EOF=TrueThenMsgBox"該房屋編號不存在,請重新輸入一個!",vbOKOnly+vbInformation,"注意"Text1(2).SetFocusrs_hcheck.CloseExitSubElseIfrs_hcheck.Fields(8)="已租"ThenMsgBox"該房屋已經出租了,請選擇另一房屋!",vbOKOnly+vbInformation,"注意"rs_hcheck.CloseExitSub'如果該房屋狀態為預定,則需要看預定人是否為該客戶,如果不是,需要彈出對話框提示用戶ElseIfrs_hcheck.Fields(8)="預定"Then'檢查該客戶是否為預定客戶sqlyd="select*fromYuDingwhere預定房屋編號='"&Text1(2).Text&"'"rs_yd.Opensqlyd,conn,adOpenStatic,adLockOptimistic'如果該客戶不是預定客戶,檢查預定有效期IfNotrs_yd.Fields(1)=Text1(1).TextThen'如果已經過了預定有效期,別的用戶可以承租If(Date>DateAdd(d,rs_yd.Fields(4),rs_yd.Fields(8)))Then'出租,加入合同表sqlcon="select*fromContract"rs_contract.Opensqlcon,conn,adOpenStatic,adLockOptimisticrs_contract.AddNewFori=0To11rs_contract.Fields(i)=Text1(i).TextNextirs_contract.Update'修改房屋狀態rs_hcheck(8)="已租"rs_hcheck.Update'檢查求租客戶表中是否有該客戶,如果有,則刪除之sqlqzc="select*fromQZClientwhere求租客戶姓名='"&Text1(1).Text&"'"rs_qzc.Opensqlqzc,conn,adOpenStatic,adLockOptimisticIfrs_qzc.EOF=FalseThenrs_qzc.Deleters_qzc.UpdateEndIf'顯示簽訂合同成功MsgBox"簽訂合同成功!",vbOKOnly+vbInformation,"注意"'設置簽訂按鈕不可用cmdSign.Enabled=FalsecmdYaJin.Enabled=TruecmdZuJin.Enabled=True'關閉所有打開的記錄集rs_qzc.Closers_yd.Closers_hcheck.Closers_contract.CloseExitSubElseMsgBox"該房屋已經被別人預定了,請選擇另一房屋!",vbOKOnly+vbInformation,"注意"rs_hcheck.Closers_yd.CloseExitSubEndIf'該客戶即為預定客戶,可以出租ElseIfrs_yd.Fields(1)=Text1(1).TextThen'出租,加入合同表sqlcon="select*fromContract"rs_contract.Opensqlcon,conn,adOpenStatic,adLockOptimisticrs_contract.AddNewFori=0To11rs_contract.Fields(i)=Text1(i).TextNextirs_contract.Update'修改房屋狀態rs_hcheck(8)="已租"rs_hcheck.Update'刪除預定表中該項rs_yd.Deleters_yd.Update'檢查求租客戶表中是否有該客戶,如果有,則刪除之sqlqzc="select*fromQZClientwhere求租客戶姓名='"&Text1(1).Text&"'"rs_qzc.Opensqlqzc,conn,adOpenStatic,adLockOptimisticIfrs_qzc.EOF=FalseThenrs_qzc.Deleters_qzc.UpdateEndIf'顯示簽訂合同成功MsgBox"簽訂合同成功!!",vbOKOnly+vbInformation,"注意"'設置簽訂按鈕不可用cmdSign.Enabled=FalsecmdYaJin.Enabled=TruecmdZuJin.Enabled=True'關閉所有打開的記錄集rs_qzc.Closers_yd.Closers_hcheck.Closers_contract.CloseExitSubEndIf'如果該房屋狀態為未租,則可以順利出租ElseIfrs_hcheck.Fields(8)="未租"Then'出租,加入合同表sqlcon="select*fromContract"rs_contract.Opensqlcon,conn,adOpenStatic,adLockOptimisticrs_contract.AddNewFori=0To11rs_contract.Fields(i)=Text1(i).TextNextirs_contract.Update'修改房屋狀態rs_hcheck(8)="已租"rs_hcheck.Update'檢查求租客戶表中是否有該客戶,如果有,則刪除之sqlqzc="select*fromQZClientwhere求租客戶姓名='"&Text1(1).Text&"'"rs_qzc.Opensqlqzc,conn,adOpenStatic,adLockOptimisticIfrs_qzc.EOF=FalseThenrs_qzc.Deleters_qzc.UpdateEndIf'顯示簽訂合同成功MsgBox"簽訂合同成功!",vbOKOnly+vbInformation,"注意"'設置簽訂按鈕不可用cmdSign.Enabled=FalsecmdYaJin.Enabled=TruecmdZuJin.Enabled=True'關閉所有打開的記錄集rs_qzc.Closers_hcheck.Closers_contract.CloseExitSubEndIf4.3.3.2預定租房的設計其收取定金的設計如下:PrivateSubcmdDingJin_Click()fromYuding=TruecmdDingJin.Enabled=FalsefrmPayDingJin.ShowEndSub4.3.4財務管理模塊的設計4.3.4.1定金收取的設計系統維護的運行效果圖如下:其收取定金按鈕的源碼設計如下:PrivateSubcmdAdd_Click()'先檢測數據完整性IfText1(0).Text=""ThenMsgBox"收費編號不可為空!",vbOKOnly+vbInformation,"注意"Text1(0).SetFocusExitSubEndIfIfText1(2).Text=""OrIsDate(Text1(2).Text)=FalseThenMsgBox"收費日期應為這樣的日期格式:2003-8-3!",vbOKOnly+vbInformation,"注意"Text1(2).SetFocusExitSubEndIfIfText1(3).Text=""ThenMsgBox"預定單編號不可為空!",vbOKOnly+vbInformation,"注意"Text1(3).SetFocusExitSubEndIf'檢測該收費編號是否已存在sqlch="select*fromDingJinwhere收費編號='"&Text1(0).Text&"'"rs_ch.Opensqlch,conn,adOpenStatic,adLockOptimisticIfrs_ch.EOF=FalseThenMsgBox"該收費編號已經存在,請重新輸入一個!",vbOKOnly+vbInformation,"注意"Text1(0).SetFocusrs_ch.CloseExitSubEndIfrs_ch.Close'還需要檢測預定單編號是否存在、并且自動寫入預定客戶和預定房屋編號sqlyd="select*fromYuDingwhere預定單編號='"&Text1(3).Text&"'"rs_yd.Opensqlyd,conn,adOpenStatic,adLockOptimisticIfrs_yd.EOF=TrueThenMsgBox"該預定單編號不存在!",vbOKOnly+vbInformation,"注意"rs_yd.CloseText1(3).SetFocusExitSubElseText1(1).Text=rs_yd.Fields(3)Text1(4).Text=rs_yd.Fields(1)Text1(5).Text=rs_yd.Fields(2)EndIf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆重慶育才中學高三3月聯考(數學試題理)試題
- 2025屆青海省西寧市示范名校高三高考模擬試卷(二)數學試題
- 汽車維修入門知識
- 二零二五二婚夫妻婚前協議書
- 二零二五版一對一輔導協議合同書范例
- 代收款協議文本
- 二零二五版抵押反擔保合同書
- 員工工資協議書
- 門面店鋪買賣合同參考范例二零二五年
- 廚房技能培訓課件
- 2024年北京中考地理試卷
- 食品安全日管控、周排查及月調度記錄表
- 第四單元參考活動3《設計橡皮章》課件(第二課時) 綜合實踐活動八年級上冊+
- HJ24-2020環境影響評價技術導則輸變電
- 鐵路混凝土工程施工質量驗收標準
- 河南省鶴壁市2023-2024學年八年級下學期期末數學試題
- 法制教育課教案(3篇模板)
- 搬家客戶服務投標書
- 醫師執業注冊申請審核表(空表)
- GB/T 18488-2024電動汽車用驅動電機系統
- 克羅恩病的營養支持
評論
0/150
提交評論