畢業設計-圖書管理系統_第1頁
畢業設計-圖書管理系統_第2頁
畢業設計-圖書管理系統_第3頁
畢業設計-圖書管理系統_第4頁
畢業設計-圖書管理系統_第5頁
已閱讀5頁,還剩47頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

畢業設計闡明書圖書管理系統學生姓名:平晉昇學號:H0491B11學院:中北大學成人教育學院專業:計算機科學技術指導教師:馬巧梅10月圖書管理系統摘要本文首先介紹了數據庫管理系統(DBMS)的基本概念及關系模型等。然后對問題的來源進行進一步分析,指出圖書借閱者、圖書館工作人員和圖書館管理人員是問題重要來源,并指出本數據管理系統的實用性功效就是管理好圖書館信息,提高工作效率,避免數據解決手工操作,工作量大,出錯率高的弊端。接著對需求分析進行細致的分析,特別對圖書借閱者、圖書館工作人員和圖書館管理人員三者權限進行分派。接著對系統功效模塊進行分析,指出本系統功效模塊重要分為“圖書資料管理”模塊、“學生資料管理”模塊、“借還書操作”模塊。總的來說,本圖書管理系統,介紹了該系統構成構造、功效特點、使用原理和辦法,本系統實現了系統登陸、圖書管理、學生管理圖書的借閱與償還、圖書借閱排行榜和查看逾期未還圖書以及多種信息的打印等功效。有了這個系統就使圖書館的工作變得簡樸了許多,使圖書館的圖書管理形成了一種整體自動化管理模式。核心詞:VisualForPro6.0,數據庫管理,SQL語言,圖書管理目錄1緒論???……………11.1系統開發背景和意義………11.2開發環境……………………12總體設計………………………12.1應用需求分析………………12.2模塊分析……………………22.2.1功效模塊圖……………2.2.2模塊分析………………3具體設計………………………33.1設計創立數據庫……………33.1.1設計數據庫………………3.1.2創立數據庫………………3.2創立系統主程序……………63.3創立系統慣用類……………73.3.1創立“移動統計工具欄”類…………3.3.2創立“命令按鈕工具欄”類…………3.4創立系統主表單…………93.4.1系統主表單的功效……………………3.4.2創立系統主表單界面……………………3.4.3添加表單代碼………3.4.4創立系統主表單輔助表單……………3.5創立“讀者借書統計”模塊…………………323.5.1主表單的功效…………3.5.2創立主表單界面………3.5.3添加主表單代碼………3.5.4創立輔助表單…………3.6創立系統打印功效………444結論……………………45參考文獻……………………47致謝……………481緒論1.1系統開發背景和意義圖書管理是高校內每一種系部或院部都必須切實面對的工作,傳統的人工方式存在著許多缺點,如效率低、保密性差且較為繁瑣。另外,隨著圖書資料數量的增加,其工作量也將大大增加,這必將增加圖書資料管理者的工作量和勞動強度,這將給圖書資料信息的查找、更新和維護都帶來了諸多困難。隨著科學技術的不停提高,這種傳統的手工管理辦法必然被以計算機為基礎的信息管理辦法所取代。圖書管理作為計算機應用的一種分支,有著手工管理無法比擬的優點,如檢索快速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高圖書管理的效率。因此,開發一套能夠為顧客提供充足的信息和快捷的查詢手段的圖書管理系統,將是非常必要的,也是十分及時的。1.2開發環境開發環境的選擇會影響到數據庫的設計,因此在這里給出圖書管理系統開發與運行環境的選擇以下:開發環境:WindowsXP開發工具:VisualForPro6.02總體設計2.1應用需求分析圖書管理系統需要滿足來自三方面的需求,這三個方面分別是圖書借閱者、圖書館工作人員和圖書館管理人員。圖書借閱者的需求是查詢圖書館所存的圖書、個人借閱狀況及個人信息的修改;圖書館工作人員對圖書借閱者的借閱及還書規定進行操作,同時形成借書或還書報表給借閱者查看確認;圖書館管理人員的功效最為復雜,涉及對工作人員、圖書借閱者、圖書進行管理和維護及系統狀態的查看、維護并生成催還圖書報表。圖書借閱者可直接查看圖書館圖書狀況,如果圖書借閱者根據本人借書證號和密碼登錄系統,還能夠進行本人借書狀況的查詢和維護部分個人信息。普通狀況下,圖書借閱者只應當查詢和維護本人的借書狀況和個人信息,若查詢和維護其它借閱者的借書狀況和個人信息,就要懂得其它圖書借閱者的借書證號和密碼。這些是很難得到的,特別是密碼,因此不僅滿足了圖書借閱者的規定,還保護了圖書借閱者的個人隱私。圖書館工作人員有修改圖書借閱者借書和還書統計的權限,因此需對工作人員登陸本模塊進行更多的考慮。在此模塊中,圖書館工作人員可覺得圖書借閱者加入借書統計或是還書統計,并打印生成對應的報表給顧客查看和確認。圖書館管理人員功效的信息量大,數據安全性和保密性規定最高。本功效實現對圖書信息、借閱者信息、總體借閱狀況信息的管理和統計、工作人員和管理人員信息查看及維護。圖書館管理員能夠瀏覽、查詢、添加、刪除、修改、統計圖書的基本信息;瀏覽、查詢、統計、添加、刪除和修改圖書借閱者的基本信息,瀏覽、查詢、統計圖書館的借閱信息。2.2模塊分析2.2.1功效模塊圖還書操作借書操作借還書操作圖書資料管理圖書管理系統學生資料管理資料打印資料查詢資料刪除資料修改逾期圖書書籍排行還書操作借書操作借還書操作圖書資料管理圖書管理系統學生資料管理資料打印資料查詢資料刪除資料修改逾期圖書書籍排行資料添加資料添加2.2.2模塊分析2.2.2.1“圖書資料管理”模塊“圖書資料管理”模塊重要實現圖書資料的分條瀏覽、添加、修改、刪除、查詢和打印功效。在表單的“書籍資料”頁框中能夠通過“移動統計工具欄”分條查看系統內全部的圖書的具體資料,涉及圖書的名稱、類別、作者、出版社、購置日期等。單擊“命令按鈕工具欄”中的按鈕能夠對“書籍資料”頁框中的統計進行對應的操作。2.2.2.2“學生資料管理”模塊“學生資料管理”模塊重要實現學生資料的分條瀏覽、添加、修改、刪除、查詢和打印功效。在表單的“學生資料”頁框中能夠通過“移動統計工具欄”分條查看系統內全部的學生具體資料,涉及學生姓名、性別、系別、班級等資料。單擊“命令按鈕工具欄”中的按鈕能夠對“學生資料”頁框中的統計進行對應的操作。2.2.2.3“借還書操作”模塊“借還書操作”模塊重要實現讀者借書統計的查看、借還書操作、圖書借閱排行榜、查看逾期未償還圖書和統計打印等功效。讀者借書統計查看功效能夠查看全部的借書統計,也能夠只查看現在尚未償還的借書統計。在“讀者借書統計”表單中單擊“借書”按鈕,在打開的“輸入”表單中,輸入要借出的圖書編號,如果該圖書在館中并且該讀者還能借書,則借書成功?!白x者借書統計”表單中單擊“還書”按鈕,在打開的“輸入”表單中輸入要償還的圖書的圖書編號,如果該圖書是被現在讀者借出,則還書成功。當表單中顯示的是讀者未償還的圖書列表時,在列出借書統計的表格中雙擊要償還的圖書的“圖書編號”欄即可將此圖書還入。在“讀者借書統計”表單中,單擊“過期”按鈕,能夠查看系統內到了償還日期而未償還的圖書的借閱統計。在“讀者借書統計”表單中,單擊“排行”按鈕,能夠查看系統內借閱次數在全部圖書內排行前10名的圖書的列表。3具體設計3.1設計創立數據庫3.1.1本系統實現了系統登錄功效,而系統登錄需要賬號和密碼,這就需要創立一種“系統帳號”(Accounts)數據表,用來存儲系統登錄用的賬號和密碼。本系統要實現圖書資料和學生資料的管理,因此需要創立“學生信息”(Student)數據表和“圖書信息”(Book)數據表。“學生信息”(Student)數據表中包含了學生的“系別”信息,在本系統中為了簡化系別的管理,另外創立了一種“系別”(Xibie)數據表用來存儲系別的信息,在“學生信息”(Student)數據表中只存儲系別的編號。由于系統要實現讀者借還書功效、還要實現讀者借還書統計的查看,因此還需創立一種“讀者借書統計”(JyRec)數據表來保存讀者的借閱統計。3.1.2“圖書借閱管理系統”作為一種完整的數據庫管理系統,在創立階段運用項目管理器能夠更加好組織管理多種格式的文獻,因此首先需要創立一種項目,然后在項目管理器創立其它格式的文獻。在VFP主窗口中選擇“文獻”菜單下“新建”子菜單,在打開的“新建”對話框的“文獻類型“區域中選中”項目”,然后單擊右側的”新建文獻”按鈕,打開”創立“對話框中的”項目文獻“文本框中輸入項目名稱,在此輸入"Tushu”,單擊“保存”按鈕即創立了一種項目。在項目管理器的“數據”選項卡中選中“數據庫”單擊右側的“新建”按鈕,在彈出的“新建數據庫”對話框中單擊“新建數據庫”,在彈出的“創立”對話框的“數據庫名”文本框中輸入數據庫的名稱,在此輸入“Tushu”作為數據庫名,單擊“保存“按鈕即創立了一種空的數據庫。在項目管理器的“數據”選項卡中打開剛剛創立的“Tushu”數據庫的目錄樹,選中“數據表”,單擊右側的“新建”按鈕即可開始數據表的創立。本系統中要用到的數據表的字段的屬性設立分別設立以下?!跋到y賬號”(Accounts)數據表的宇段屬性設立如表3.1所示。表3.1“系統帳號”(Accounts)數據表字段屬性設立字段名數據類型闡明帳號字符型字段寬度20,主索引字段,不能為空密碼字符型字段寬度20姓名字符型字段寬度20創立“系統賬號”(Accounts)數據表后向數據庫中添加一條統計作為系統的默認帳號,該統計的各字段的值以下:“pjs”,“pjs”,“平晉昇”。“學生信息”(Student)數據表各字段的屬性設立如表3.2所示。表3.2“學生信息”(Student)數據表字段屬性設立字段名數據類型闡明學號字符型字段寬度6,主索引字段,輸入掩碼為“999999”姓名字符型字段寬度20性別字符型字段寬度2系別字符型字段寬度4,為普通索引班級字符型字段寬度10電話字符型字段寬度12,輸入掩碼為“999##9999999”郵件字符型字段寬度30地址字符型字段寬度30“系別信息”(Xibie)數據表各字段的屬性設立如表3.3所示表3.3“系別信息”(Xibie)數據表字段屬性設立字段名數據類型闡明系別號字符型字段寬度4,主索引字段,輸入掩碼為“9999”名稱字符型字段寬度20“圖書信息”(Book)數據表各字段的屬性設立如表3.4所示表3.4“圖書信息”(Tushu)數據表字段屬性設立字段名數據類型闡明圖書編號字符型字段寬度6,主索引字段,輸入掩碼為“AA9999”圖書類別字符型字段寬度10圖書名稱字符型字段寬度40圖書作者字符型字段寬度20出版社字符型字段寬度40購置日期日期型字段寬度8購置價格貨幣型字段寬度8借閱次數數值型字段寬度4,默認值0與否借出邏輯型字段寬度1,默認值“.F.”對“圖書信息”(Book)數據表的字段屬性設立需要闡明的是“借閱次數”和“與否借出”字段的默認值一定要設立,由于對于新添加的圖書,其一定是沒有被借出的,并且其借閱次數一定是0,因此在表單中向數據表添加統計時,這兩個字段應當是不需要添加的,能夠由默認值生成?!白x者借書統計”(JyRec)數據表的字段屬性如表3.5所示。表3.5“讀者借書統計”(JyRec)數據表字段屬性設立字段名數據類型闡明學號字符型字段寬度6,普通索引字段,輸入掩碼為“999999”圖書編號字符型字段寬度6,普通索引字段,輸入掩碼為“AA9999”借閱日期日期型字段寬度8償還日期日期型字段寬度8數據表之間的關系,將在具體表單的數據環境中設立。3.2創立系統主程序VFP應用程序系統需要創立一種主程序來驅動各個表單,在項目管理器的“代碼”選項卡中選中“程序”,單擊“新建”按鈕,即可打開程序編輯窗口本系統中需要創立一種程序main.prg,用來設立系統的工作環境,并驅動其它的程序和表單。將一種文獻設為項目主文獻的辦法是在項目管理器中選中該文獻,然后在右鍵快捷菜單中選擇“設為主文獻”子菜單或者選擇“項目”菜單下“設為主文獻”子菜單即可。一種文獻設為項目的主文獻后,該文獻的將以粗體顯示main.prg程序的代碼為:SETTALKOFFSETSAFETYOFF&&覆蓋時不要確認SETSTATBAROFF&&將狀態欄關閉SETSYSMENUOFF&&可關掉VFP系統菜單之區域SETSYSMENUTO&&關閉系統菜單SETCENTURYON&&顯示四位年代_Screen.VISIBLE=.F.DOFORMLogon3.3創立系統慣用類系統主表單中“學生資料”和“書籍資料”頁框控件中都需要用到“移動統計工具欄”和“命令按鈕工具欄”,這兩個命令按鈕工具欄如果在表單中分別創立會使工作變得繁瑣,能夠采用創立工具欄類,然后在表單中用實例化的方式來簡化工作。3.3.1創立“移動統計工具欄”類“移動統計工具欄”類基于“CommandGroup”基類,存儲于“AdminButton”可視類庫中,命名為“MoveRecord”?!耙苿咏y計工具欄”類涉及“首統計”、“上一種”、“下一種”和“末統計”4個按鈕,在表單中能夠運用這4個按鈕定位數據表中的統計指針。創立好的"移動統計工具欄"類效果以下圖所示。需要指出的是,在本系統中當鼠標移動到按鈕上時,鼠標指針變為一種特定指針,這就需要一種鼠標指定文獻,在本系統中使用“H_point.cur”文獻,將該鼠標指針文獻放在系統的根目錄下,添加按鈕“MouseMove”事件以下:LPARAMETERSnButton,nShift,nXCoord,nYCoordThis.MousePointer=99This.MouseIcon=SYS(5)+"h_point.cur"3.3.2創立“命令按鈕工具欄“命令按鈕工具欄”類基于“CommandGroup”基類,存儲于“AadminButton”可視類庫中,命名為“AdmButGrp”?!懊畎粹o工具欄”類中包含“增加”(CmdAdd)、“修改”(Cmdmod)、“刪除”(Cmddel)、“查詢”(CmdSer)、“打印”(Cmdpri)、“保存”(CmdSave)、“取消”(CmdCancel)和“退出”(CmdExit)8個按鈕。由于“命令按鈕工具欄”類中的按鈕在不同的表單中的作用不同,因此不必在類中添加控鈕的代碼,能夠采用在表單中將類實例化后再添加代碼的方式。設立“命令按鈕工具欄”類及其控件的屬性如表3.6所示。表3.6“命令按鈕工具欄”類及其控件屬性控件屬性屬性取值ambutgrpButtonCount8Height330Width60按鈕控件FontBold.T.FontSize15FontName楷體GB_2312Height35Width60cmdaddCaption新增ToolTipText新增統計cdmodCapion修改ToolTipText修改現在統計cmddelCapion刪除ToolTipText刪除現在統計mdserCapion查詢ToolTipText查詢現在統計cdsaveCapion保存ToolTipText保存修改cdcancelCapion取消ToolTipText取消修改cmdpriCapion打印ToolTipText打印現在統計CmdexitCapion退出ToolTipText退出現在表單創立好的表單效果如右圖所示與“移動統計工具欄”類相似,為了變化鼠標停留在按鈕時的指針,還需添加按鈕的“MouseMove”事件,代碼與“移動統計工具欄”類中的相似。3.4創立系統主表單系統主表單由兩個選項卡構成,下面分別介紹這兩個選項卡的創立。3.4.1系統主表單的功效系統主表單在提供系統界面的同時還包含一種含有兩個頁框的頁框控件,系統運用這兩個頁框控件來管理“學生信息”(Student)數據表和“圖書信息”(Book)數據表中的數據,運用這兩個頁框能夠對這兩張數據表中的數據進行查看、添加、修改、刪除、查詢和打印等操作。同時,系統主表單還將用來調用系統的借還書模塊。3.4.2創立系統主表單界面在“表單設計器”中創立一種表單作為系統主表單,命名為“MainForm”。創立好的表單效果中有兩個頁框,其中“學生資料”頁面效果如右圖所示。創立好的“書籍資料”頁框效果如右圖所示。將“學生信息”(Student)數據表、“系別信息”(Xibie)數據表、“圖書信息”(Book)數據表、“讀者借書統計”(JyRec)數據表添加到表單的數據環境中,用“系別信息”(Xibie)數據表的“系別號”字段和“學生信息”(Student)數據表的“系別”索引建立關聯。在表單的數據環境中,“學生信息”(Student)數據表和“圖書信息”(Book)數據表的BufferModeOverRide屬性設立為“3-開放式緩沖”,Exclusive屬性設立為“.T.”。設立系統主表單屬性如表3.7所示。表3.7系統主表單(MainForm)屬性設立表單屬性取值AutoCenter.T.BorderStyle2-固定對話框BufferMode0ControlBox.T.Caption圖書借閱管理系統Closable.F.DeskTop.F.Hight385Width612NameMainFormMdiForm.T.MaxButton.T.Picturebg.bmpMinButton.T.ShowWindow2-作為頂層表單ShowTips.T.TitleBar1-打開WindowState0-普通WindowType1-模式設立好系統主表單屬性后向表單中添加兩個頁框控件,將頁框控件的第一種頁面作為“學生資料”(StuPage)頁面,使頁框控件處在編輯狀態,然后從數據環境中將要在“學生資料”頁面中顯示的字段拖放到表單中,并將“性別”字段生成的文本框控件刪除,再添加一種選項按鈕組控件來顯示該字段的數據,將“系別”字段生成的文本框控件刪除,再添加一種組合框控件來顯示該字段的數據,另外將“系別信息”(Xibie)數據表中的“名稱”字段添加到“學生資料”頁面中。將“移動統計工具欄”(MoveRecord)和“命令按鈕工具欄”(CmdButGrp)類在“學生資料”(StuPage)頁面中實例化,并命名為“StuAbg”和“StuMr”。在向頁面中添加控件時一定要注意使頁框處在可編輯狀態,即頁框外一種藍色的虛框,如果只是選擇了頁框控件,則此時向表單中添加控件只是向表單中添加控件,其在表單構造中的位置是與頁框控件平行的。設立“學生資料”(StuPage)頁面及其控件的屬性如表3.8所示。表3.8系統主表單“學生資料”(StuPage)頁面及控件屬性設立控件屬性屬性取值StuPageCaption學生資料FontBlod.T.FontSize14FontName隸書PictureBgl.bmp標簽控件AutoSize.T.BackStyle0-透明FontBlod.T.ForeColor0,0,0FontSize16FontName楷體GB_2312WordWrap.F.文本框控件FontSize12Height25StuMrHeight35Width320StuAbgHeight132Width168續表3.8控件屬性屬性取值Txt學號ControlSourceStudent.學號IMEMode2-關閉IMEReadOnly.T.StuogpControlSourceStudent.性別Txt姓名ControlSourceStudent.姓名IMEMode1-打開IMEReadOnly.F.Txt班級ControlSourceStudent.班級IMEMode1-打開IMEReadOnly.F.Cmb系別ControlSourcestudent.系別RowSourcexibie.系編號RowSourceType6-字段Style2-下拉列表框Txt名稱ControlSourceXibie.名稱IMEMode1-打開IMEReadOnly.T.Txt地址ControlSourcestudent.地址IMEMode1-打開IMEReadOnly.F.Txt電話ControlSourcestudent.電話IMEMode1-打開IMEReadOnly.F.Txt郵件ControlSourcestudent.郵件IMEMode1-打開IMEReadOnly.F.CmdjhCaption借還書頁框的兩個頁面中的另一種頁框用來作為“書籍資料”(BookPage)頁面,從表單的數據環境中將需要在“書籍資料”(BookPage)頁面中顯示宇段拖放到頁面中,并添加到頁面中的控件進行某些調節,涉及將“與否借出”字段生成的控件刪除,添加一種標簽控件,再根據該字段的值顯示圖書的狀態。將“移動統計工具欄”類和“命令按鈕工具欄”類在“書籍資料”(BookPage)頁面中實例化,并重新命名為“BookMr”和“BookAbg”。向表單中添加一種按鈕,再添加一種名為“MicroSoftMonthViewContro1,Verdion6.0”的ActiveX控件,并命名為“SjOleRq”。設立“書籍資料”(BookPage)頁面及頁面中控件的屬性如表3.9所示。表3.9系統主表單“書籍資料”(BookPage)頁面及控件屬性設立控件屬性屬性取值BookPageCaption書籍資料FontBold.T.FontSize14ForeName隸書PictureBgl.bmp標簽控件AutoSize.T.BackStyle0-透明FontBold.T.ForeColor0,0,0FontSize16ForeName楷體GB_2312WordWrap.F.文本框控件FontSize12Height25BookMrHeight35Width320BookAbgHeight132Width168LblStausAutoSize.T.BackStyle1-不透明Caption在館中續表3.9控件屬性屬性取值FontBold.T.FontSize16ForeName楷體GB_2312Txt圖書編號ControlSourceBook.圖書編號IMEMode1-打開IMEReadOnly.F.Txt圖書名稱ControlSourceBook.圖書名稱IMEMode1-打開IMEReadOnly.F.Txt圖書類別ControlSourceBook.圖書類別IMEMode1-打開IMEReadOnly.F.Txt圖書作者ControlSourceBook.圖書作者IMEMode1-打開IMEReadOnly.T.Txt購置日期ControlSourceBook.購置日期IMEMode2-關閉IMEReadOnly.F.Txt出版社ControlSourceBook.出版社IMEMode1-打開IMEReadOnly.F.Txt購置價格ControlSourceBook.購置價格IMEMode2-關閉IMEReadOnly.F.Txt購置價格ControlSourceBook.借閱次數IMEMode2-關閉IMEReadOnly.T.CmdrqCaption…SjOleRqVisible.F.3.4.3添加表單代碼為了方便描述,系統主表單中的代碼將分為三部分來介紹,其中主表單中整個表單的代碼和兩個頁面的代碼將分開介紹。3.4.3.1添加表單中的代碼需要在系統主表單中添加4個屬性“StuFM”、“StuOR”、“BookFM”和“BookOR”,分別用來識別表單中“學生信息”(StuPage)頁面的狀態,頁面中的數據統計的指針的位置,“書籍信息”(BookPage)頁面的狀態和頁面中數據統計指針的位置。在表單中添加完這4個屬性后,將這4個屬性初始值設為“cbrowse”、0、“cbrowse”和0。添加4個表單的辦法屬性“StuModeBrse”、“StuModeMody”、“BookModeBrse”和“BookModeMody”,分別用來使“學生信息”(StuPage)和“書籍信息”(BookPage)頁面進入瀏覽和非瀏覽狀態。“StuModeBrse”辦法屬性用來使“學生信息”(StuPage)頁面進入瀏覽狀態?!皩W生信息”(StuPage)頁面的瀏覽狀態是指頁面中與數據綁定的控件中的數據處在不可編輯狀態,“移動統計工具欄”處在可用狀態,“命令按鈕工具欄”中除了“保存”和“取消”按鈕外都處在可用狀態,“借還書”按鈕處在可用狀態。“StuModeBrse”辦法屬性的代碼以下:*下列代碼使“移動統計工具欄”可用THISFORM.PF.StuPage.Stumr.ENABLED=.T.*下列代碼控制“命令按鈕工具欄”中按鈕的可用狀態THISFORM.PF.StuPage.StuAbg.Cmdadd.ENABLED=.T.THISFORM.PF.StuPage.StuAbg.Cmdmod.ENABLED=.T.THISFORM.PF.StuPage.StuAbg.Cmddel.ENABLED=.T.THISFORM.PF.StuPage.StuAbg.Cmdser.ENABLED=.T.THISFORM.PF.StuPage.StuAbg.Cmdpri.ENABLED=.T.THISFORM.PF.StuPage.StuAbg.Cmdsave.ENABLED=.F.THISFORM.PF.StuPage.StuAbg.Cmdcancel.ENABLED=.F.THISFORM.PF.StuPage.StuAbg.Cmdexit.ENABLED=.T.*下列代碼用來控制“學生信息”頁面與數據綁定的控件狀態THISFORM.PF.StuPage.Stuogp.ENABLED=.F.THISFORM.PF.StuPage.txt姓名.READONLY=.T.THISFORM.PF.StuPage.cmb系別.ENABLED=.F.THISFORM.PF.StuPage.txt班級.READONLY=.T.THISFORM.PF.StuPage.txt地址.READONLY=.T.THISFORM.PF.StuPage.txt電話.READONLY=.T.THISFORM.PF.StuPage.txt郵件.READONLY=.T.*下列代碼用來控制“借還書”按按鈕的可用狀態THISFORM.PF.StuPage.CmdJh.ENABLED=.T.*下列代碼用來控制表單中頁面的可用狀態THISFORM.PF.BookPage.ENABLED=.T.THIS.ENABLED=.T.“StuModeMody”辦法屬性用來使表單的“學生信息”(StuPage)頁面進入非瀏覽狀態,該頁面的非瀏覽狀態是指頁面中與數據綁定的控件中的數據處在可修改狀態,“移動統計工具欄”處在不可用狀態,“命令按鈕工具欄”中除了“保存”和“取消”按鈕外其它按鈕都處在不可用狀態,“借還書”按鈕處在可用狀態,“書籍信息”頁面處在不可用狀態。“StuModeMody”辦法屬性的代碼以下:*下列代碼使“移動統計工具欄”不可用THISFORM.PF.StuPage.Stumr.ENABLED=.F.*下列代碼控制“命令按鈕工具欄”中按鈕的可用狀態THISFORM.PF.StuPage.StuAbg.Cmdadd.ENABLED=.F.THISFORM.PF.StuPage.StuAbg.Cmdmod.ENABLED=.F.THISFORM.PF.StuPage.StuAbg.Cmddel.ENABLED=.F.THISFORM.PF.StuPage.StuAbg.Cmdser.ENABLED=.F.THISFORM.PF.StuPage.StuAbg.Cmdpri.ENABLED=.F.THISFORM.PF.StuPage.StuAbg.Cmdsave.ENABLED=.T.THISFORM.PF.StuPage.StuAbg.Cmdcancel.ENABLED=.T.THISFORM.PF.StuPage.StuAbg.Cmdexit.ENABLED=.F.*下列代碼用來控制“學生信息”頁面與數據綁定的控件狀態THISFORM.PF.StuPage.Stuogp.ENABLED=.T.THISFORM.PF.StuPage.txt姓名.READONLY=.F.THISFORM.PF.StuPage.cmb系別.ENABLED=.T.THISFORM.PF.StuPage.txt班級.READONLY=.F.THISFORM.PF.StuPage.txt地址.READONLY=.F.THISFORM.PF.StuPage.txt電話.READONLY=.F.THISFORM.PF.StuPage.txt郵件.READONLY=.F.*下列代碼用來控制“借還書”按按鈕的可用狀態THISFORM.PF.StuPage.CmdJh.ENABLED=.F.*下列代碼用來控制表單中頁面的可用狀態THISFORM.PF.BookPage.ENABLED=.F.THIS.ENABLED=.T.“BookModeBrse”辦法屬性用來使“書籍信息”(BookPage)頁面進入瀏覽狀態?!皶畔ⅰ保˙ookPage)頁面的瀏覽狀態是指頁面中與數據綁定的控件中的數據處在不可編輯狀態,“移動統計工具欄”處在可用狀態,“命令按鈕工具欄”中除了“保存”和“取消”按鈕外都處在可用狀態,“借還書”按鈕處在可用狀態,“學生信息”(StuPage)頁面處在可用狀態?!癇ookModeBrse”辦法屬性的代碼:*下列代碼使“移動統計工具欄”可用THISFORM.PF.BookPage.Sjmr.ENABLED=.T.*下列代碼使“...”按鈕不可用THISFORM.PF.BookPage.CmdRq.ENABLED=.F.*下列代碼控制“命令按鈕工具欄”中按鈕的狀態THISFORM.PF.BookPage.SjAbg.Cmdadd.ENABLED=.T.THISFORM.PF.BookPage.SjAbg.Cmdmod.ENABLED=.T.THISFORM.PF.BookPage.SjAbg.Cmddel.ENABLED=.T.THISFORM.PF.BookPage.SjAbg.Cmdser.ENABLED=.T.THISFORM.PF.BookPage.SjAbg.Cmdpri.ENABLED=.T.THISFORM.PF.BookPage.SjAbg.Cmdsave.ENABLED=.F.THISFORM.PF.BookPage.SjAbg.Cmdcancel.ENABLED=.F.THISFORM.PF.BookPage.SjAbg.Cmdexit.ENABLED=.T.*下列代碼控制頁面中與數綁定的控件中數據的可編輯狀態THISFORM.PF.BookPage.txt圖書編號.READONLY=.T.THISFORM.PF.BookPage.txt圖書名稱.READONLY=.T.THISFORM.PF.BookPage.txt圖書類別.READONLY=.T.THISFORM.PF.BookPage.txt圖書作者.READONLY=.T.THISFORM.PF.BookPage.txt購置日期.READONLY=.T.THISFORM.PF.BookPage.txt出版社.READONLY=.T.THISFORM.PF.BookPage.txt購置價格.READONLY=.T.*下列代碼用來控制表單中頁面的可用狀態THISFORM.PF.StuPage.ENABLED=.T.THIS.ENABLED=.T.“BookModeMody”辦法屬性用來使“書籍信息”(BookPage)頁面進入非瀏覽狀態,“書籍信息”(BookPage)頁的非瀏覽狀態是指頁面中與數據綁定的控件中的數據處在可修改狀態,“移動統計工具欄”處在不可用狀態,“命令按鈕工具欄”中除了“保存”和“取消”按鈕外其它按鈕都處在不可用狀態,“購置日期”欄后的“...”按鈕處在可用狀態,“學生信息”頁面處在不可用狀態?!癇ookModeMody”辦法屬性的代碼:*下列代碼使“移動統計工具欄”不可用THISFORM.PF.BookPage.Sjmr.ENABLED=.F.*下列代碼使“...”按鈕可用THISFORM.PF.BookPage.CmdRq.ENABLED=.T.*下列代碼控制“命令按鈕工具欄”中按鈕的狀態THISFORM.PF.BookPage.SjAbg.Cmdadd.ENABLED=.F.THISFORM.PF.BookPage.SjAbg.Cmdmod.ENABLED=.F.THISFORM.PF.BookPage.SjAbg.Cmddel.ENABLED=.F.THISFORM.PF.BookPage.SjAbg.Cmdser.ENABLED=.F.THISFORM.PF.BookPage.SjAbg.Cmdpri.ENABLED=.F.THISFORM.PF.BookPage.SjAbg.Cmdsave.ENABLED=.T.THISFORM.PF.BookPage.SjAbg.Cmdcancel.ENABLED=.T.THISFORM.PF.BookPage.SjAbg.Cmdexit.ENABLED=.F.*下列代碼控制頁面中與數綁定的控件中數據的可編輯狀態THISFORM.PF.BookPage.txt圖書編號.READONLY=.T.THISFORM.PF.BookPage.txt圖書名稱.READONLY=.F.THISFORM.PF.BookPage.txt圖書類別.READONLY=.F.THISFORM.PF.BookPage.txt圖書作者.READONLY=.F.THISFORM.PF.BookPage.txt購置日期.READONLY=.F.THISFORM.PF.BookPage.txt出版社.READONLY=.F.THISFORM.PF.BookPage.txt購置價格.READONLY=.F.*下列代碼用來控制表單中頁面的可用狀態THISFORM.PF.StuPage.ENABLED=.F.THIS.ENABLED=.T.添加完表單的屬性后,由于系統中需要運用幾個全局變量在表單中傳遞數據,因此需要在主表單中聲明這幾個全局變量。添加表單的Init事件代碼以下:PUBLICStudentNO,StuTj,BookTj,DbName這幾個全局變量的作用分別以下:“StudentNO”是當系統主表單調用“讀者借書統計”表單時,向該表單傳遞系統主表單的“學生信息”頁面中統計的學號值,方便讓“讀者借書統計”表單顯示該學號的資料?!癝tuTj”和“BookTj”用在“學生信息”和“書籍信息”兩個頁面的“輸入查詢條件”表單和“查詢成果”表單之間傳遞查詢條件的值?!癉bName”用在“學生信息”和“書籍信息”兩個頁面共用一種“選擇打印類型”表單時,用于辨別該全局變量是應當打印那一張報表。4.4.3.2添加“學生信息”頁面代碼在“學生信息”(StuPage)被激活時,應當將“學生信息”(Student)數據表所在工作區作為表單的現在工作區,取消由其它表單設立的過慮條件,并且使頁面進入瀏覽狀態。添加“學生信息”頁面的Activate事件代碼以下:“學生信息”頁面中的“系別”組合框中選擇某一種系編號后,要在“名稱”欄顯示系統編號所代碼的系別名稱,由于在數據環境中將兩者做了關連,因此在選擇了某個系編號后只需要刷新表單即可。添加“cmb系別”組合框的Valid事件代碼以下:THISFORM.PF.StuPgge.txt系別.REFRESH()“移動統計工具欄”中按鈕的代碼已經在類中創立,并且這些代碼在各個表單中完全相似,不需要再另行添加。“命令按鈕工具欄”中“增加”(Cmdadd)按鈕的作用是先保存頁中現在的統計號,標記表單的狀態為新增狀態,然后在表單的數據緩沖區新建一條統計,并且使現在頁面進入非瀏覽狀態。“增加”(Cmdadd)按鈕的Click事件代碼以下:SELECTStudentTHISFORM.StuOR=RECNO()GOBOTTOMAPPENDBLANKTHISFORM.StuModeMody()THISFORM.StuFM="cadd"THISFORM.PF.StuPage.txt學號.READONLY=.F.THISFORM.REFRESH()“命令按鈕工具欄”中“修改”(Cmdmod)按鈕的作用是保存頁面在現在統計的統計號,標記表單的狀態為修改狀態,然后使表單中的現在頁面進入非瀏覽狀態?!靶薷摹保–mdmod)按鈕的Click事件代碼以下:THISFORM.StuFM="cmod"THISFORM.StuOR=RECNO()THISFORM.StuModeMody()THISFORM.REFRESH()“命令按鈕工具欄”中“刪除”(Cmddel)按鈕的作用首先彈出確認對話框,如果確認則進行刪除操作。由于本系統中學生的信息也會在別的數據表中出現,如果在該數據表中刪除了學生的數據,而在其它數據表中保存會造成信息的多出與不便,因此本系統采用的方式是如果在“學生信息”數據表中刪除了某一種學生的數據,則在其它的數據表(重要是指“讀者借書統計”數據表)刪除與該學生有關的一切統計,但是如果該學生在刪除時仍有未償還的圖書,系統將不允許刪除?!皠h除”(Cmddel)按鈕的Click事件代碼以下:YN=MESSAGEBOX("擬定刪除",4+32,"圖書管理系統")&&確認對話框IFYN=6&&如果確認THISFORM.StuOR=RECNO()&&保存統計指針位置SETEXACTON&&嚴格比較SELECTJyRecLOCATEFOR學號=ALLTRIM(THISFORM.PF.StuPage.txt學號.VALUE)ANDEMPTY(償還日期)&&查找與否有未還圖書IFFOUND()&&如果有MESSAGEBOX("該學生有未還書,不能刪除",48,"圖書管理系統")&&彈出對話框SELECTStudent&&回到原統計SETFILTERTOGOTHISFORM.StuORELSE&&如果沒有未還書SELECTJyRec&&選擇“讀者借閱統計”所在的工作區GOTOP&&到數據表頂部DOWHILENOTEOF()&&刪除與要刪除的學生有關的借閱統計IF學號=ALLTRIM(THISFORM.PF.StuPage.txt學號.VALUE)DELETEPACKENDIFSKIPENDDOSELECTStudent&&在“學生信息”數據表中刪除統計DELETEPACKMESSAGEBOX("刪除成功",64,"圖書管理系統")&&“刪除成功”對話框SELECTStudentGOTOPENDIFTHISFORM.REFRESH()SETEXACTOFFENDIF“命令按鈕工具欄”中“查詢”(CmdSer)按鈕的作用是調用“輸入查詢條件”表單,其Click事件代碼以下:DOFORMStuSer“命令按鈕工具欄”中“保存”(CmdSave)按鈕的作用是檢查表單中各數據欄中數據的輸入完整狀況,如果無誤,則保存統計。“保存”(CmdSave)按鈕的Click事件代碼以下:LOCALOK&&聲明一種本地變量OK=.T.&&假設各數據欄中數據無誤DOCASECASEEMPTY(ALLTRIM(THISFORM.PF.StuPage.txt學號.VALUE))&&如果學號為空MESSAGEBOX("學號不能為空",48,"圖書管理系統")THISFORM.PF.StuPage.txt學號.SETFOCUS()OK=.F.CASEEMPTY(ALLTRIM(THISFORM.PF.StuPage.txt姓名.VALUE)&&如果姓名為空MESSAGEBOX("姓名不能為空",48,"圖書管理系統")THISFORM.PF.StuPage.txt姓名.SETFOCUS()OK=.F.CASEEMPTY(THISFORM.PF.StuPage.Cmb系別.VALUE)&&如果系別為空MESSAGEBOX("系別不能為空",48,"圖書管理系統")THISFORM.PF.StuPage.Cmb系別.SETFOCUS()OK=.F.CASEEMPTY(ALLTRIM(THISFORM.PF.StuPage.txt地址.VALUE))&&如果地址為空MESSAGEBOX("地址不能為空",48,"圖書管理系統")THISFORM.PF.StuPage.txt地址.SETFOCUS()OK=.F.CASEEMPTY(ALLTRIM(THISFORM.PF.StuPage.txt電話.VALUE))&&如果電話為空MESSAGEBOX("電話不能為空",48,"圖書管理系統")THISFORM.PF.StuPage.txt姓名.SETFOCUS()OK=.F.ENDCASEIFOK=.T.&&如果各數據欄無誤為空YN=MESSAGEBOX("擬定保存",4+32,"圖書管理系統")&&彈出確認對話框IFYN=6&&如果確認CanSave=TABLEUPDATE(.F.)&&試圖保存IFCanSave=.F.&&如果保存失敗MESSAGEBOX("學號錯誤",48,"圖書管理系統")THISFORM.PF.StuPage.txt學號.SETFOCUS()ELSE&&如果保存成功MESSAGEBOX("保存成功",64,"圖書管理系統")THISFORM.StuModeBrse()IFTHISFORM.StuFM="cmod"GOTHISFORM.StuORELSETHISFORM.PF.StuPage.txt學號.READONLY=.T.ENDIFENDIFTHISFORM.REFRESH()ENDIFENDIF“命令按鈕工具欄”中“取消”(CmdCancel)按鈕的作用是刪除表單的數據緩沖區的數據,并使現在頁面回到瀏覽狀態?!叭∠保–mdCancel)按鈕的Click事件代碼以下:YN=MESSAGEBOX("擬定取消",4+32,"系統消息")IFYN=6TABLEREVERT(.F.)IFTHISFORM.StuFM="cadd"GOTHISFORM.StuORENDIFTHISFORM.StuModeBrse()THISFORM.PF.StuPage.txt學號.READONLY=.T.THISFORM.REFRESH()ENDIF“命令按鈕工具欄”中“打印”(Cmdpri)按鈕的作用是將“DbfName”全局變量賦值,表明要進行打印的是“學生信息”數據表,并調用“選擇打印類型”表單?!按蛴 保–mdPri)按鈕的Click事件代碼以下:DbfName=”StuDbf”DOFORMPrintLX“命令按鈕工具欄”中“退出”(Cmdexit)按鈕的作用是彈出確認對話框,如果確認則是退出現在表單,去除事件循環并退出系統。“退出”(Cmdexti)按鈕的Click事件代碼以下YN=MESSAGEBOX("擬定退出",4+32,"圖書管理系統")IFYN=6THISFORM.RELEASE()CLEAREVENTSQUITENDIF“學生信息”頁面中“借還書”(Cmdjh)按鈕的作用是將頁面中現在統計的“學號”值賦給全局變量“StudentNO”,并調用“讀者借書統計”表單。“借還書”(Cmdjh)按鈕的Click事件代碼以下:StudentNO=ALLTRIM(THISFORM.PF.StuPage.txt學號.VALUE)DOFORMJyRec4.4.3.3添加“書籍信息”頁面代碼在“書籍信息”(BookPage)頁面被激活時,表單中的現在數據工作期應當變為“圖書信息”數據表所在的工作期,將可能由其它表單對該數據表設立的過慮條件去掉,同時要使該頁面進入瀏覽狀態。添加該頁面的“Activate”事件代碼由于該頁面要在刷新表單時,顯示表單中現在統計的書籍與否借出,故添加該頁面的Refresh事件代碼在“書籍信息”(BookPage)頁面在通過添加的MonthView控件(SjOleRq)來輸入圖書的購置日期,在該頁面處在非瀏覽狀態時單擊“...”按鈕即可調用該控件。添加“...”(Cmdrq)按鈕的Click事件代碼以下:THISFORM.PF.BookPage.Sjolerq.VISIBLE=.T.“命令按鈕工具欄”中“增加”(Cmdadd)按鈕的作用是保存頁面中數據統計的指針位置,將頁面的狀態標記為新增狀態,再在表單事件緩沖區內新建一條統計,并使頁面進入非瀏覽狀態。“添加”(Cmdadd)按鈕的Click事件代碼以下:SELECTBookTHISFORM.SjOR=RECNO()GOBOTTOMAPPENDBLANKTHISFORM.SjFM="cadd"THISFORM.SjModeMody()THISFORM.PF.BookPage.txt圖書編號.READONLY=.F.THISFORM.REFRESH()“命令按鈕工具欄”中“刪除”(Cmdadd)按鈕的作用是彈出確認對話框,如果確認,則檢查要刪除的圖書與否在庫中,如查不在則彈出出錯對話框,如果在庫中則首先刪除“讀者借書統計”(Jyrec)數據表中的與要刪除的圖書有關的全部統計,再刪除該圖書統計,刪除成功后彈出“刪除成功”對話框?!皠h除”(Cmddel)按鈕的Click事件代碼以下:YN=MESSAGEBOX("擬定刪除",4+32,"圖書管理系統")&&確認對話框IFYN=6&&如果確認THISFORM.SjOR=RECNO()&&保存統計號IFTHISFORM.PF.BookPage.LblStatus.CAPTION="借出中"&&如果該圖書不在庫中MESSAGEBOX("該圖書尚未償還",48,"圖書管理系統")&&不能刪除ELSE&&如果在庫中SELECTJyRec&&對圖書借閱統計表進行修改SETEXACTON&&精確比較GOTOP&&到數據表的頂部DOWHILENOTEOF()&&刪除全部與要刪除的圖書有關的統計IF圖書編號=ALLTRIM(THISFORM.PF.BookPage.txt圖書編號.VALUE)DELETEPACKENDIFSKIPENDDOSELECTBook&&刪除圖書統計GOTHISFORM.SjORDELETEPACKMESSAGEBOX("刪除成功",64,"圖書管理系統")&&“刪除成功”對話框SETEXACTOFFTHISFORM.REFRESH()ENDIFENDIF“命令按鈕工具欄”中“查詢”(CmdSer)按鈕的作用是調用“輸入查詢條件”表單,該按鈕的Click事件代碼以下:DOFORMBookSer“命令按鈕工具欄”中“保存”(CmdSave)按鈕的作用是在單擊按鈕時,檢查頁面中數據的輸入狀況,如果無誤則保存數據,并彈出“保存成功”對話框,否則指出錯誤,并將光標定位在錯誤處,等待顧客修改。“保存”(CmdSave)按鈕的Click事件代碼以下:LOCALOKOK=.T.DOCASECASEEMPTY(ALLTRIM(THISFORM.PF.BookPage.txt圖書編號.VALUE))&&如果圖書編號為空MESSAGEBOX("圖書編號不能為空",48,"圖書管理系統")THISFORM.PF.BookPage.txt圖書編號.SETFOCUS()OK=.F.CASEEMPTY(ALLTRIM(THISFORM.PF.BookPage.txt圖書名稱.VALUE))&&如果圖書名稱為空MESSAGEBOX("圖書名稱不能為空",48,"圖書管理系統")THISFORM.PF.BookPage.txt圖書名稱.SETFOCUS()OK=.F.CASEEMPTY(ALLTRIM(THISFORM.PF.BookPage.txt圖書類別.VALUE))&&如果圖書類別為空MESSAGEBOX("圖書類別不能為空",48,"圖書管理系統")THISFORM.PF.BookPage.txt圖書類別.SETFOCUS()OK=.F.CASEEMPTY(ALLTRIM(THISFORM.PF.BookPage.txt圖書作者.VALUE))&&如果圖書作者為空MESSAGEBOX("圖書作者不能為空",48,"圖書管理系統")THISFORM.PF.BookPage.txt圖書作者.SETFOCUS()OK=.F.CASEEMPTY(THISFORM.PF.BookPage.txt購置日期.VALUE)&&如果購置日期為空MESSAGEBOX("購置日期不能為空",48,"圖書管理系統")THISFORM.PF.BookPage.txt購置日期.SETFOCUS()OK=.F.CASEEMPTY(ALLTRIM(THISFORM.PF.BookPage.txt出版社.VALUE))&&如果出版社為空MESSAGEBOX("出版社不能為空",48,"圖書管理系統")THISFORM.PF.BookPage.txt出版社.SETFOCUS()OK=.F.CASETHISFORM.PF.BookPage.txt購置價格.VALUE<=0&&如果購置價格不大于或者為0MESSAGEBOX("購置價格錯誤",48,"圖書管理系統")THISFORM.PF.BookPage.txt購置價格.SETFOCUS()OK=.F.ENDCASEIFOK=.T.&&如果各數據項無誤YN=MESSAGEBOX("擬定保存",4+32,"圖書管理系統")&&確認對話框IFYN=6&&如果確認SaveOk=TABLEUPDATE(.F.)&&試圖保存IFSaveOk=.T.&&如果保存成功MESSAGEBOX("保存成功",64,"圖書管理系統")THISFORM.SjModeBrse()THISFORM.PF.BookPage.txt圖書編號.READONLY=.T.ELSE&&如果保存失敗MESSAGEBOX("圖書編號錯誤",48,"圖書管理系統")THISFORM.PF.BookPage.txt圖書編號.SETFOCUS()ENDIFENDIFENDIF“命令按鈕工具欄”中“取消”(CmdCancel)按鈕的作用是將表單的數據緩沖區的數據刪除并使表單回到瀏覽狀態?!叭∠保–mdCancel)按鈕的Click事件代碼以下:YN=MESSAGEBOX("擬定取消",4+32,"系統消息")IFYN=6TABLEREVERT(.F.)IFTHISFORM.SjFM="cadd"GOTHISFORM.SjORENDIFTHISFORM.SjFM="cbrowse"THISFORM.SjModeBrse()THISFORM.PF.BookPage.txt圖書編號.READONLY=.T.THISFORM.REFRESH()ENDIF“命令按鈕工具欄”中“打印”(Cmdpri)按鈕的作用是將全局變量“DbfName”賦值,并調用“選擇打印類型”表單?!按蛴 保–mdpri)按鈕的Click事件代碼以下:DbfName=”BookDbf”DOFORMPrintLX“命令按鈕工具欄”中“退出”(Cmdexit)按鈕的作用是彈出確認對話框,如果確認則退出現在表單,去除事件循環并退出系統。“退出”(Cmdexit)按鈕的Click事件代碼以下:YN=MESSAGEBOX("擬定退出",4+32,"圖書管理系統")IFYN=6THISFORM.RELEASE()CLEARQUITENDIF3.4.4系統主表單的輔助表單重要涉及“學生信息”頁面和“圖書信息”頁面的查詢功效和一種“選擇打印類型”表單。3.4.4.1創立“學生信息”“學生信息”(StuPage)頁面的查詢功效由“輸入查詢條件”和“學生信息查詢成果”表單構成。下面介紹這兩個表單的創立過程。(1)創立“輸入查詢條件”表單“輸入查詢條件”表單用來向顧客收集要查詢的條件,查詢的條件能夠是根據某一種字段進行查詢,也能夠指定多個查詢條件,這些條件將以“AND”連接,然后根據條件查詢。在“表單設計器”中創立一種表單作為“輸入查詢條件”表單,命名為“StuSer”。創立好的“輸入查詢條件”表單效果如右圖所示。在表單中添加4個標簽控件、4個文本框控件和2個按鈕控件,設立表單及其控件的屬性如表3.10所示。表3.10“輸入查詢條件”(StuSer)表單控件屬性設立控件屬性屬性取值StuSerAutoCenter.T.BorderStyle2-固定對話框ControlBox.F.Caption輸入查詢條件Closable.F.Hight200Width300NameStuSerMdiForm.T.MaxButton.F.MinButton.F.ShowWindow1-在頂層表單中ShowTips.T.windowType1-模式標簽控件AutoSize.T.BackStyle0-透明FontBold.T.FontSize16ForeColor255,0,0FontName楷體GB_2312WordWarp.F.文本框控件FontSize12Hight25Width240按鈕控件FontBold.T.FontSize16FontName楷體GB_2312Hight30續表3.10控件屬性屬性取值Width50Txt姓名IMEMode1-打開IMETxt郵件IMEMode2-關閉IMETxt地址IMEMode1-打開IMECmdSerCaption查詢Default.T.ToolTipText執行查詢CmdextCaption退出Cancel.T.ToolTipText取消查詢該表單中的作用是向顧客收集查詢條件,而這個作用也重要由“查詢”(CmdSer)按鈕來完畢,當顧客單擊該按鈕時檢查表單的文本框中數據的輸入狀況,如果文本框中有數據則將該文本框中的數據作一種查詢條件,如果有多個查詢條件則用“AND”將這些條件連接起來,然后調用“學生信息查詢成果”表單?!安樵儭保–mdSer)按鈕的Click事件代碼以下:StuTJ=".T."IFNOTEMPTY(ALLTRIM(THISFORM.txt學號.VALUE))&&如果學號欄非空StuTJ="'"+ALLTRIM(Thisform.txt學號.Value)+"'$學號"ENDIFIFNOTEMPTY(ALLTRIM(THISFORM.txt姓名.VALUE))&&如果姓名欄非空StuTJ=StuTJ+"AND"+"'"+ALLTRIM(THISFORM.txt姓名.VALUE)+"'$姓名"ENDIFIFNOTEMPTY(ALLTRIM(THISFORM.txt郵件.VALUE))&&如果郵件欄非空StuTJ=StuTJ+"AND"+"'"+ALLTRIM(THISFORM.txt郵件.VALUE)+"'$郵件"ENDIFIFNOTEMPTY(ALLTRIM(THISFORM.txt地址.VALUE))&&如果地址欄非空StuTJ=StuTJ+"AND"+"'"+ALLTRIM(THISFORM.txt地址.VALUE)+"'$地址"ENDIFTHISFORM.RELEASE()DOFORMStuSerout“退出”(Cmdext)按鈕的作用是退出現在表單,其Click事件代碼以下:THISFORM.RELEASE()(2)創立“學生信息查詢成果”表單“學生信息查詢成果”表單用來顯示“學生信息”數據表中符合查詢條件的統計。在“表單設計器”中創立一種表單作為“學生信息查詢成果”表單,命名為StuSerout。創立好的表單效果如右圖所示。將“學生信息”(Student)數據表和“系別信息”(Xibie)數據表添加到表單的數據環境中,并用“系別信息”(Xibie)數據表的“系編號”字段與“學生信息”(Student)數據表的“系別”索引建立關系。在表單中添加1個標簽控件、1個表格控件和2個按鈕控件。其中表格控件能夠用“表格生成器”來創立,運用表格生成器創立完畢后將“系別”列的數據源更改為“Xibie.名稱”。表格的屬性與“輸入查詢添加”的表單屬性大致相似,這里不再重復列舉。要使表單中只顯示符合查詢條件的統計,需要在對表單的數據環境設立過慮條件,另外如果沒有符合查詢條件的統計,則“打印”按鈕不可用,添加表單的Init事件代碼以下:SELECTStudentSETFILTERTO&StuTJCOUNTFOR&StuTJTOnNumberIFnNumber=0THISFORM.Cmdpri.ENABLED=.F.ENDIF表單中的“打印”(Cmdpri)按鈕的作用是將查詢成果以報表的形式輸出,并以瀏覽的方式查看打印成果。添加“打印”(Cmdpri)按鈕的Click事件代碼以下:REPORTFORMStuInfoFOR&StuTJPREVIEW表單中的“退出”(CmdExt)按鈕的作用是彈出確認對話框,如果確認則退出表單,并取消數據環境設立的過慮條件?!巴顺觥保–mdExt

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論