版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第九章報表設計
9.1打印基礎(chǔ)TOPRINTER打印命令LIST|DISPLAYSTRUCTURETOPRINTER&&打印當前表的結(jié)構(gòu)LIST|DISPLAYTOPRINTER&&打印當前表的內(nèi)容LIST|DISPLAYMEMORYTOPRINTER&&打印當前的變量和數(shù)組內(nèi)容LIST|DISPLAYSTATUSTOPRINTER&&打印VFP環(huán)境狀態(tài)DIRTOPRINTER&&打印當前目錄中表的名字TYPE<文件名.擴展名>TOPRINTER&&打印ASCII字符文件的內(nèi)容字符串打印命令:???<字符表達式>定向輸出打印定向命令流式定向:SETPRINTERON|OFF格式定向:SETDEVICETOSCREEN|TOPRINTER|TOFILE<文件名>打印輸出命令:SETPRINTERTO[<文件名>[ADDITIVE]|<打印端口>]圖形打印命令@<行,列>SAY<位圖文件名>BITMAP|<通用型字段名>[ISOMETRIC|STRETCH][SIZE<數(shù)值表達式1>,<數(shù)值表達式2>][NOWAIT]第九章報表設計
9.1打印基礎(chǔ)TOPRINTER19.2傳統(tǒng)的報表打印設計
圖9.6傳統(tǒng)的報表打印流程
圖9.7主要設備的價格
9.2傳統(tǒng)的報表打印設計
圖9.6傳統(tǒng)的報表打印流2[例9-2]打印如圖9.7所示的主要設備價格表。*E9-2.PRG*SETDEVICETOPRINTER&&若要打印去掉行首的*號zt="FONT'宋體',12"&&為宏代換設置內(nèi)存變量@0,9SAY'主要設備價格表'FONT'黑體',16&&設置表頭@2,0SAY'┌───┬────┬─────┐'&zt&&設置頂線@3,0SAY'│編號│名稱│價格│'&zt&&設置標題欄USEsbi=4SCANFOR主要設備@i,0SAY'├───┼────┼─────┤'&zt&&設置行間隔線@i+1,0SAY'│'+SPACE(1)+編號+'│'+名稱+'│'+STR(價格,10,2)+'│'&zt&&設置一行內(nèi)容i=i+2ENDSCAN@i,0SAY'└───┴────┴─────┘'&zt&&設置底線@i+1,20SAY'制表部門:設備科'FONT'宋體',10&&設置表尾SETDEVICETOSCREEN&&結(jié)束處理*SETPRINTERTOLPT1&&若要打印去掉行首的*號[例9-2]打印如圖9.7所示的主要設備價格表。39.3報表設計器的基本操作打開報表設計器窗口
MODIFYREPORT<報表文件名>快速制表報表菜單中的快速報表命令[例9-3]利用快速制表功能為SB.DBF設計一張包括編號、名稱和價格3欄的報表。(1)打開報表設計器窗口:往命令窗口鍵入命令MODIFYREPORTSBJGB,使屏幕上出現(xiàn)報表設計器窗口(參閱圖9.12)。(2)設置數(shù)據(jù)源:在報表設計器窗口擊右鍵,在快捷菜單中選定數(shù)據(jù)環(huán)境命令,在數(shù)據(jù)環(huán)境設計器窗口中添加SB表。(3)啟動快速制表:選定報表設計器窗口,然后在報表菜單中選定快速報表命令,使出現(xiàn)如圖9.11所示的快速報表對話框。(4)設置快速報表屬性:選定快速報表對話框的字段按鈕,在字段選擇器對話框(圖略)中依次選出編號、名稱和價格等3個字段,選定確定按鈕返回快速報表對話框。選定確定按鈕返回報表設計器窗口。(5)保存報表定義:選定文件菜單的保存選項,將產(chǎn)生報表文件SBJGB.FRX及其備注文件SBJGB.FRT。9.3報表設計器的基本操作打開報表設計器窗口4圖9.11快速報表對話框圖9.12設備價格表報表設計器
圖9.11快速報表對話框圖9.12設備價格表
5
頁面預覽
圖9.13預覽窗口與打印預覽工具欄
頁面預覽圖9.13預覽窗口與打印預覽工具欄
6命令方式打印報表REPORTFORM<報表文件名>[ENVIRONMENT][<范圍>][FOR<邏輯表達式>][HEADING<字符表達式>][NOCONSOLE][PLAIN][RANGE開始頁[,結(jié)束頁]][PREVIEW[[IN]WINDOW<窗口名>|INSCREEN][NOWAIT]][TOPRINTER[PROMPT]|TOFILE<文件名>[ASCII]][SUMMARY]命令方式打印報表79.4報表設計器的高級操作頁面設置圖9.15頁面設置對話框
9.4報表設計器的高級操作頁面設置圖9.15頁面設8
設計報表帶區(qū)
表9.1報表帶區(qū)的建立及作用帶區(qū)名稱帶區(qū)產(chǎn)生與刪除控件打印周期控件打印位置標題報表菜單的標題/總結(jié)命令整套報表一次最先,可占一頁頁標頭默認存在每頁一次標題后,頁初列標頭用文件菜單的頁面設置命令設置列數(shù)每列一次頁標頭后組標頭報表菜單的數(shù)據(jù)分組命令每組一次頁標頭、組標頭或組注腳后細節(jié) 默認存在每記錄一次頁標頭或組標頭后組注腳報表菜單的數(shù)據(jù)分組命令每組一次細節(jié)后列注腳用文件菜單的頁面設置命令設置列數(shù)每列一次頁注腳前頁注腳默認存在每頁一次頁末總結(jié)報表菜單的標題/總結(jié)命令整套報表一次組注腳后,可占一頁設計報表帶區(qū)表9.1報表帶區(qū)的建立及作用帶區(qū)名稱帶區(qū)9基本帶區(qū)
[例9-4]在例9-3所制報表的基礎(chǔ)上,設計如圖9.17所示具有表格線的設備價格表。
圖9.17設備價格表
圖9.18報表表格線設計
基本帶區(qū)圖9.17設備價格表
圖9.18報表表10標題與總結(jié)帶區(qū)數(shù)據(jù)分組與組標頭/組注腳帶區(qū)報表菜單的數(shù)據(jù)分組命令圖9.19標題/總結(jié)對話框圖9.20數(shù)據(jù)分組對話框標題與總結(jié)帶區(qū)圖9.19標題/總結(jié)對話框圖9.2011由報表向?qū)Мa(chǎn)生一個經(jīng)過數(shù)據(jù)分組的報表工具菜單中向?qū)нx項的報表命令
[例9-5]打印如圖9.21所示帶費用總計的設備大修分類表。圖9.21數(shù)據(jù)分組對話框圖9.22向?qū)нx取對話框
由報表向?qū)Мa(chǎn)生一個經(jīng)過數(shù)據(jù)分組的報表圖9.21數(shù)據(jù)分組對12圖9.23報表向?qū)?分組記錄)對話框
圖9.24總結(jié)選項對話框圖9.25報表向?qū)Мa(chǎn)生的報表布局
圖9.23報表向?qū)?分組記錄)對話框
圖9.24總結(jié)13
創(chuàng)建報表控件[例9-6]打印如圖9.30所示設備大修費用表,要求相同的設備編號僅輸出第一個。(1)定義快速報表:鍵入命令MODIFYREPORTDXFY來打開報表設計器窗口——在數(shù)據(jù)環(huán)境中添加DX表單擊報表設計器窗口,然后選定報表菜單的快速報表命令——選定快速報表對話框的確定按鈕,使報表設計器窗口中出現(xiàn)編號、年月、費用等標簽及字段控件。(2)增加總結(jié)帶區(qū):選定報表菜單的標題/總結(jié)命令在標題/總結(jié)對話框中選定總結(jié)帶區(qū)復選框。(3)調(diào)整帶區(qū)高度及控件位置:將各帶區(qū)調(diào)整至如圖9.31所示的高度。
圖9.30設備大修費用表
圖9.31設備大修費用表設計創(chuàng)建報表控件圖9.30設備大修費用表
圖9.3114(4)在總結(jié)帶區(qū)建立費用控件:選定報表控件工具欄的域控件按鈕——單擊總結(jié)帶區(qū)中間,在報表表達式對話框(參閱圖9.27)的表達式文本框內(nèi)鍵入表達式費用——選定計算按鈕,在計算字段對話框中選定總和選項按鈕(見圖9.28)——選定確定按鈕返回報表表達式對話框選定確定按鈕返回報表設計器窗口,費用控件就出現(xiàn)在總結(jié)帶區(qū)之中。(5)修改編號字段區(qū):雙擊編號字段,在報表表達式對話框中選定打印條件按鈕——在打印條件對話框中選定“否”按鈕(參閱圖9.29),使編號字段不打印重復的值——選定確定按鈕返回報表表達式對話框——選定確定按鈕返回報表設計器窗口。(6)如圖9.31所示畫出表格線。圖9.27報表表達式對話框
(4)在總結(jié)帶區(qū)建立費用控件:選定報表控件工具欄的域控15圖9.28計算字段對話框圖9.29打印條件對話框
圖9.28計算字段對話框圖9.29打印條件對話框16
報表變量
[例9-7]打印如圖9.32所示的主要設備的設備役齡表,要求包括記錄序號和設備役齡,部門在打印時使用漢字部門名。(1)打開報表設計器窗口:鍵入命令MODIFYREPORTSBYL。(2)設置數(shù)據(jù)環(huán)境:在數(shù)據(jù)環(huán)境中添加SB表和BMDM表,并使SB.部門與BMDM.代碼關(guān)聯(lián)(從SB.部門字段拖到BMDM.代碼索引)。(3)定義快速報表:選定報表設計器窗口,然后選定報表菜單的快速報表命令在快速報表對話框中選定字段按鈕在字段選擇器對話框的SB表中挑選編號、名稱、部門3個字段選定確定按鈕返回快速報表對話框選定確定按鈕,使報表設計器窗口中出現(xiàn)編號、名稱、部門等標簽及字段控件。圖9.32設備役齡表
圖9.33設備役齡表報表設計器窗口
報表變量圖9.32設備役齡表
圖9.33設備役齡17(4)設置在SB表部門字段控件的位置上輸出漢字部門名:雙擊部門字段控件將報表表達式對話框的表達式文本框中的SB.部門改為BMDM.名稱選定確定按鈕返回報表設計器窗口,在該控件的位置上即能輸出漢字部門名。(5)創(chuàng)建報表變量XH(用作序號):選定報表菜單的變量命令在如圖9.34所示報表變量對話框的變量列表中鍵入變量名XH在“要存儲值”文本框中鍵入表達式XH+1選定確定按鈕關(guān)閉報表變量對話框。(6)創(chuàng)建XH變量控件:選定報表控件工具欄的域控件按鈕單擊細節(jié)帶區(qū)左部在報表表達式對話框中選定表達式文本框右側(cè)的對話按鈕在如圖9.35所示表達式生成器對話框的變量列表中雙擊報表變量XH選定確定按鈕返回報表表達式對話框選定確定按鈕返回報表設計器窗口,XH變量控件便已產(chǎn)生。
圖9.34報表變量對話框圖9.35含有報表變量的表達式生成器
(4)設置在SB表部門字段控件的位置上輸出漢字部門名:雙18(7)建立計算役齡的表達式控件:選定報表控件工具欄的域控件按鈕單擊細節(jié)帶區(qū)右部在報表表達式對話框的表達式文本框內(nèi)鍵入(DATE()-SB.啟用日期)/365在格式文本框內(nèi)鍵入輸入掩碼99選定確定按鈕返回報表設計器窗口。(8)處理日期和頁號:將頁注腳帶區(qū)的Date()控件、_PAGENO控件、“頁”標簽控件移到頁標頭帶區(qū),然后創(chuàng)建一個“第”標簽控件。(9)畫表格線和創(chuàng)建表名、序號、役齡等標簽控件(步驟從略)。(10)打?。涸诿畲翱诎l(fā)命令REPORTFORMsbyl.frxFOR主要設備,打印結(jié)果如圖9.32所示。(7)建立計算役齡的表達式控件:選定報表控件工具欄的域19第十章系統(tǒng)開發(fā)實例
10.1開發(fā)VFP數(shù)據(jù)庫應用系統(tǒng)的一般步驟
需求分析充分調(diào)研寫出需求規(guī)范說明書數(shù)據(jù)庫設計邏輯設計物理設計數(shù)據(jù)代碼設計應用程序設計創(chuàng)建子類用戶界面設計與編碼數(shù)據(jù)輸出設計數(shù)據(jù)庫維護功能構(gòu)造VFP應用程序軟件測試應用程序發(fā)布系統(tǒng)運行與維護圖10.1以處理為中心的數(shù)據(jù)庫應用系統(tǒng)開發(fā)示意圖第十章系統(tǒng)開發(fā)實例
10.1開發(fā)VFP數(shù)據(jù)庫應用系統(tǒng)2010.2一個實例:“汽車修理管理系統(tǒng)”的開發(fā)需求分析開發(fā)目的:(1)能對汽車修理有關(guān)的各類數(shù)據(jù)進行輸入、修改與查詢。(2)編制季度零件訂貨計劃。(3)打印汽車修理發(fā)票和工資月報表。數(shù)據(jù)需求
輸入單據(jù)包括修車登記單、汽車修理單、零件入庫單和零件出庫單等4種輸出單據(jù)包括季度零件訂貨計劃、汽車修理發(fā)票和工資月報表等3種。功能需求1.數(shù)據(jù)登記登記功能用于把各種手填單據(jù)中的數(shù)據(jù)及時登記到系統(tǒng)將要定義的表中,還要求能進行修改。這些單據(jù)包括修車登記單、汽車修理單、零件入庫單和零件出庫單。2.查詢能查詢登記單、修理單、汽車、車主、修理工、零件庫存的有關(guān)數(shù)據(jù)。3.編制并顯示季度零件訂貨計劃編制零件訂貨計劃需要找出要訂貨的零件,訂貨條件為:零件庫存量<最低庫存量。訂貨量可由用戶輸入或修改。4.打印發(fā)票發(fā)票中除包含顧客、汽車及修理項目等數(shù)據(jù)外,還要計算出修車費,修車費包括修理費和零件費,按下列各式計算:零件費=(零件價格×耗用數(shù)量)修理費=小時工資×修理工時×3總計=零件費+修理費5.打印修理工工資月報表某修理工的月工資=修理小時×小時工資。10.2一個實例:“汽車修理管理系統(tǒng)”的開發(fā)需求分析21數(shù)據(jù)庫設計
邏輯設計(1)修理單:XLD(編號,牌號,工號,修理項目,修理小時,送修日期,完工日期)(2)汽車:QC(牌號,型號,生產(chǎn)廠,車主名)(3)車主:CZ(車主名,地址,電話)(4)修理工:XLG(工號,姓名,地址,電話,出生日期,進廠日期,小時工資)(5)零件用量:LJYL(編號,零件號,數(shù)量)(6)零件庫存:LJKC(零件號,零件名,成本,價格,庫存量,最低庫存,訂貨量)
圖10.9表間關(guān)聯(lián)的設計數(shù)據(jù)庫設計
圖10.9表間關(guān)聯(lián)的設計22物理設計
1.修理單(C:\QCXL\XLD.DBF)xld(編號c(4),牌號c(8),修理項目c(12),送修日期d,完工日期d,工號c(4)普通索引,修理小時n(4.1))2.汽車(C:\QCXL\QC.DBF)qc(牌號c(8)普通索引,型號c(6),生產(chǎn)廠c(20),車主名c(8))3.車主(C:\QCXL\CZ.DBF)cz(車主名c(8)普通索引,地址c(16),電話c(7))4.修理工(C:\QCXL\XLG.DBF)xlg(工號c(4)普通索引,姓名c(8),地址c(16),電話c(7),出生日期d,進廠日期d,小時工資n(5.2))5.零件用量(C:\QCXL\LJYL.DBF)ljyl(編號c(4)普通索引,零件號c(6),數(shù)量n(2))6.零件庫存(C:\QCXL\LJKC.DBF)ljkc(零件號c(6)普通索引,零件名c(10),成本n(8.2),價格n(8.2),庫存量n(3),最低庫存n(3),訂貨量n(3))7.零件入庫表為LJRK.DBF,其結(jié)構(gòu)與LJKC.DBF相同8.零件出庫表(C:\QCXL\LJCK.DBF)ljck(零件號c(6),數(shù)量n(2))物理設計23
應用程序設計
總體設計
初始用戶界面設計
模塊設計與編碼
1.主文件(QCXL.PRG)SETTALKOFFSETDEFATOc:\qcxl&&設置文件默認路徑,本例所有文件都應裝在該目錄中CLEAALLSETVIEWTOsjhj.vue&&統(tǒng)一設置數(shù)據(jù)環(huán)境,自動關(guān)閉所有的工作區(qū)后打開視圖文件PUBLICxldh,zljf&&xldh用于存儲輸入的修理單號;zljf存儲總零件費,打印發(fā)票時用xldh=SPACE(4)DOFORMfm&&顯示封面(參閱例7-1,并事先將fm表單復制到C:\qcxl)KEYB'{CTRL+F4}'&&關(guān)閉Command窗口MODIWINDSCREENTITL'汽車修理管理系統(tǒng)'&&打開VFP主窗口并設置窗口標題CLEA*以上為初始化環(huán)境代碼DOqcxlcd.mpr&&菜單文件名定為QCXLCD(汽車修理菜單)READEVENT&&建立事件循環(huán)QUIT&&退出VFP圖10.10總體結(jié)構(gòu)圖
圖10.11汽車修理管理系統(tǒng)的菜單應用程序設計圖10.10總體結(jié)構(gòu)圖
圖10.1124
2.菜單程序(QCXLCD.MPR)往命令窗口鍵入命令MODIMENUQCXLCD,就會出現(xiàn)菜單設計窗口,此時可按圖10.11建立菜單。(1)“退出”菜單項的命令CLEAREVENTS&&停止事件循環(huán),轉(zhuǎn)去執(zhí)行READEVENT后的命令(2)按圖10.11設置調(diào)用各表單的命令,例如對“修車登記”菜單項可鍵入命令DOFORMxcdj。(3)從菜單文件QCXLCD.MNX生成菜單程序QCXLCD.MPR。圖10.12汽車修理管理系統(tǒng)的數(shù)據(jù)環(huán)境
2.菜單程序(QCXLCD.MPR)圖10.12253.“修車登記”表單(XCDJ.SCX)
圖10.13“修車登記”表單窗口
圖10.14“輸入修理單號”表單窗口4.“輸入修理單號”表單(SRXLDH.SCX)3.“修車登記”表單(XCDJ.SCX)
圖10.13265.“汽車修理”表單(QCXL.SCX)6.“零件訂貨計劃”表單(LJDH.SCX)圖10.16“零件訂貨計劃”表單窗口圖10.15“汽車修理”表單窗口
5.“汽車修理”表單(QCXL.SCX)圖10.16“零277.“打印發(fā)票”表單(DYFP.SCX)8.“發(fā)票”報表(FP.FRX)圖10.17“打印發(fā)票”表單窗口圖10.18“發(fā)票”報表設計器
7.“打印發(fā)票”表單(DYFP.SCX)圖10.1728運行設計裝載數(shù)據(jù)設置應用系統(tǒng)程序項
(1)進入Windows98(或Windows95);(2)選定“開始”菜單中“設置”選項的“任務欄”命令——選定任務欄屬性對話框的開始菜單程序選項卡——選定添加按鈕——在創(chuàng)建快捷方式對話框中的命令行文本框中鍵入:c:\vfp\vfp6.exec:\qcxl\qcxl–t——選定下一步按鈕——認同缺省文件夾programs,選定下一步按鈕——在為程序選定標題對話框中鍵入:汽車修理管理系統(tǒng)——選定完成按鈕返回任務欄屬性對話框——選定確定按鈕,“汽車修理管理系統(tǒng)”程序項已建立在“開始”菜單的“程序”子菜單中。運行設計2910.3應用程序的管理與發(fā)布
應用程序管理
項目的建立在命令窗口鍵入命令MODIFYPROJECTQCXLGL項目管理器中的主文件連編文件的包含與排除圖10.19Qcxlgl項目管理器窗口圖10.20連編選項對話框10.3應用程序的管理與發(fā)布應用程序管理圖10.130應用程序發(fā)布發(fā)布準備
在項目管理器中生成一個.exe可執(zhí)行程序創(chuàng)建發(fā)布樹(目錄)創(chuàng)建發(fā)布磁盤
磁盤映象由安裝向?qū)稍谟脖P的磁盤映象目錄中,選定工具菜單的向?qū)нx項的安裝命令。圖10.21安裝向?qū)υ捒驊贸绦虬l(fā)布圖10.2131第九章報表設計
9.1打印基礎(chǔ)TOPRINTER打印命令LIST|DISPLAYSTRUCTURETOPRINTER&&打印當前表的結(jié)構(gòu)LIST|DISPLAYTOPRINTER&&打印當前表的內(nèi)容LIST|DISPLAYMEMORYTOPRINTER&&打印當前的變量和數(shù)組內(nèi)容LIST|DISPLAYSTATUSTOPRINTER&&打印VFP環(huán)境狀態(tài)DIRTOPRINTER&&打印當前目錄中表的名字TYPE<文件名.擴展名>TOPRINTER&&打印ASCII字符文件的內(nèi)容字符串打印命令:???<字符表達式>定向輸出打印定向命令流式定向:SETPRINTERON|OFF格式定向:SETDEVICETOSCREEN|TOPRINTER|TOFILE<文件名>打印輸出命令:SETPRINTERTO[<文件名>[ADDITIVE]|<打印端口>]圖形打印命令@<行,列>SAY<位圖文件名>BITMAP|<通用型字段名>[ISOMETRIC|STRETCH][SIZE<數(shù)值表達式1>,<數(shù)值表達式2>][NOWAIT]第九章報表設計
9.1打印基礎(chǔ)TOPRINTER329.2傳統(tǒng)的報表打印設計
圖9.6傳統(tǒng)的報表打印流程
圖9.7主要設備的價格
9.2傳統(tǒng)的報表打印設計
圖9.6傳統(tǒng)的報表打印流33[例9-2]打印如圖9.7所示的主要設備價格表。*E9-2.PRG*SETDEVICETOPRINTER&&若要打印去掉行首的*號zt="FONT'宋體',12"&&為宏代換設置內(nèi)存變量@0,9SAY'主要設備價格表'FONT'黑體',16&&設置表頭@2,0SAY'┌───┬────┬─────┐'&zt&&設置頂線@3,0SAY'│編號│名稱│價格│'&zt&&設置標題欄USEsbi=4SCANFOR主要設備@i,0SAY'├───┼────┼─────┤'&zt&&設置行間隔線@i+1,0SAY'│'+SPACE(1)+編號+'│'+名稱+'│'+STR(價格,10,2)+'│'&zt&&設置一行內(nèi)容i=i+2ENDSCAN@i,0SAY'└───┴────┴─────┘'&zt&&設置底線@i+1,20SAY'制表部門:設備科'FONT'宋體',10&&設置表尾SETDEVICETOSCREEN&&結(jié)束處理*SETPRINTERTOLPT1&&若要打印去掉行首的*號[例9-2]打印如圖9.7所示的主要設備價格表。349.3報表設計器的基本操作打開報表設計器窗口
MODIFYREPORT<報表文件名>快速制表報表菜單中的快速報表命令[例9-3]利用快速制表功能為SB.DBF設計一張包括編號、名稱和價格3欄的報表。(1)打開報表設計器窗口:往命令窗口鍵入命令MODIFYREPORTSBJGB,使屏幕上出現(xiàn)報表設計器窗口(參閱圖9.12)。(2)設置數(shù)據(jù)源:在報表設計器窗口擊右鍵,在快捷菜單中選定數(shù)據(jù)環(huán)境命令,在數(shù)據(jù)環(huán)境設計器窗口中添加SB表。(3)啟動快速制表:選定報表設計器窗口,然后在報表菜單中選定快速報表命令,使出現(xiàn)如圖9.11所示的快速報表對話框。(4)設置快速報表屬性:選定快速報表對話框的字段按鈕,在字段選擇器對話框(圖略)中依次選出編號、名稱和價格等3個字段,選定確定按鈕返回快速報表對話框。選定確定按鈕返回報表設計器窗口。(5)保存報表定義:選定文件菜單的保存選項,將產(chǎn)生報表文件SBJGB.FRX及其備注文件SBJGB.FRT。9.3報表設計器的基本操作打開報表設計器窗口35圖9.11快速報表對話框圖9.12設備價格表報表設計器
圖9.11快速報表對話框圖9.12設備價格表
36
頁面預覽
圖9.13預覽窗口與打印預覽工具欄
頁面預覽圖9.13預覽窗口與打印預覽工具欄
37命令方式打印報表REPORTFORM<報表文件名>[ENVIRONMENT][<范圍>][FOR<邏輯表達式>][HEADING<字符表達式>][NOCONSOLE][PLAIN][RANGE開始頁[,結(jié)束頁]][PREVIEW[[IN]WINDOW<窗口名>|INSCREEN][NOWAIT]][TOPRINTER[PROMPT]|TOFILE<文件名>[ASCII]][SUMMARY]命令方式打印報表389.4報表設計器的高級操作頁面設置圖9.15頁面設置對話框
9.4報表設計器的高級操作頁面設置圖9.15頁面設39
設計報表帶區(qū)
表9.1報表帶區(qū)的建立及作用帶區(qū)名稱帶區(qū)產(chǎn)生與刪除控件打印周期控件打印位置標題報表菜單的標題/總結(jié)命令整套報表一次最先,可占一頁頁標頭默認存在每頁一次標題后,頁初列標頭用文件菜單的頁面設置命令設置列數(shù)每列一次頁標頭后組標頭報表菜單的數(shù)據(jù)分組命令每組一次頁標頭、組標頭或組注腳后細節(jié) 默認存在每記錄一次頁標頭或組標頭后組注腳報表菜單的數(shù)據(jù)分組命令每組一次細節(jié)后列注腳用文件菜單的頁面設置命令設置列數(shù)每列一次頁注腳前頁注腳默認存在每頁一次頁末總結(jié)報表菜單的標題/總結(jié)命令整套報表一次組注腳后,可占一頁設計報表帶區(qū)表9.1報表帶區(qū)的建立及作用帶區(qū)名稱帶區(qū)40基本帶區(qū)
[例9-4]在例9-3所制報表的基礎(chǔ)上,設計如圖9.17所示具有表格線的設備價格表。
圖9.17設備價格表
圖9.18報表表格線設計
基本帶區(qū)圖9.17設備價格表
圖9.18報表表41標題與總結(jié)帶區(qū)數(shù)據(jù)分組與組標頭/組注腳帶區(qū)報表菜單的數(shù)據(jù)分組命令圖9.19標題/總結(jié)對話框圖9.20數(shù)據(jù)分組對話框標題與總結(jié)帶區(qū)圖9.19標題/總結(jié)對話框圖9.2042由報表向?qū)Мa(chǎn)生一個經(jīng)過數(shù)據(jù)分組的報表工具菜單中向?qū)нx項的報表命令
[例9-5]打印如圖9.21所示帶費用總計的設備大修分類表。圖9.21數(shù)據(jù)分組對話框圖9.22向?qū)нx取對話框
由報表向?qū)Мa(chǎn)生一個經(jīng)過數(shù)據(jù)分組的報表圖9.21數(shù)據(jù)分組對43圖9.23報表向?qū)?分組記錄)對話框
圖9.24總結(jié)選項對話框圖9.25報表向?qū)Мa(chǎn)生的報表布局
圖9.23報表向?qū)?分組記錄)對話框
圖9.24總結(jié)44
創(chuàng)建報表控件[例9-6]打印如圖9.30所示設備大修費用表,要求相同的設備編號僅輸出第一個。(1)定義快速報表:鍵入命令MODIFYREPORTDXFY來打開報表設計器窗口——在數(shù)據(jù)環(huán)境中添加DX表單擊報表設計器窗口,然后選定報表菜單的快速報表命令——選定快速報表對話框的確定按鈕,使報表設計器窗口中出現(xiàn)編號、年月、費用等標簽及字段控件。(2)增加總結(jié)帶區(qū):選定報表菜單的標題/總結(jié)命令在標題/總結(jié)對話框中選定總結(jié)帶區(qū)復選框。(3)調(diào)整帶區(qū)高度及控件位置:將各帶區(qū)調(diào)整至如圖9.31所示的高度。
圖9.30設備大修費用表
圖9.31設備大修費用表設計創(chuàng)建報表控件圖9.30設備大修費用表
圖9.3145(4)在總結(jié)帶區(qū)建立費用控件:選定報表控件工具欄的域控件按鈕——單擊總結(jié)帶區(qū)中間,在報表表達式對話框(參閱圖9.27)的表達式文本框內(nèi)鍵入表達式費用——選定計算按鈕,在計算字段對話框中選定總和選項按鈕(見圖9.28)——選定確定按鈕返回報表表達式對話框選定確定按鈕返回報表設計器窗口,費用控件就出現(xiàn)在總結(jié)帶區(qū)之中。(5)修改編號字段區(qū):雙擊編號字段,在報表表達式對話框中選定打印條件按鈕——在打印條件對話框中選定“否”按鈕(參閱圖9.29),使編號字段不打印重復的值——選定確定按鈕返回報表表達式對話框——選定確定按鈕返回報表設計器窗口。(6)如圖9.31所示畫出表格線。圖9.27報表表達式對話框
(4)在總結(jié)帶區(qū)建立費用控件:選定報表控件工具欄的域控46圖9.28計算字段對話框圖9.29打印條件對話框
圖9.28計算字段對話框圖9.29打印條件對話框47
報表變量
[例9-7]打印如圖9.32所示的主要設備的設備役齡表,要求包括記錄序號和設備役齡,部門在打印時使用漢字部門名。(1)打開報表設計器窗口:鍵入命令MODIFYREPORTSBYL。(2)設置數(shù)據(jù)環(huán)境:在數(shù)據(jù)環(huán)境中添加SB表和BMDM表,并使SB.部門與BMDM.代碼關(guān)聯(lián)(從SB.部門字段拖到BMDM.代碼索引)。(3)定義快速報表:選定報表設計器窗口,然后選定報表菜單的快速報表命令在快速報表對話框中選定字段按鈕在字段選擇器對話框的SB表中挑選編號、名稱、部門3個字段選定確定按鈕返回快速報表對話框選定確定按鈕,使報表設計器窗口中出現(xiàn)編號、名稱、部門等標簽及字段控件。圖9.32設備役齡表
圖9.33設備役齡表報表設計器窗口
報表變量圖9.32設備役齡表
圖9.33設備役齡48(4)設置在SB表部門字段控件的位置上輸出漢字部門名:雙擊部門字段控件將報表表達式對話框的表達式文本框中的SB.部門改為BMDM.名稱選定確定按鈕返回報表設計器窗口,在該控件的位置上即能輸出漢字部門名。(5)創(chuàng)建報表變量XH(用作序號):選定報表菜單的變量命令在如圖9.34所示報表變量對話框的變量列表中鍵入變量名XH在“要存儲值”文本框中鍵入表達式XH+1選定確定按鈕關(guān)閉報表變量對話框。(6)創(chuàng)建XH變量控件:選定報表控件工具欄的域控件按鈕單擊細節(jié)帶區(qū)左部在報表表達式對話框中選定表達式文本框右側(cè)的對話按鈕在如圖9.35所示表達式生成器對話框的變量列表中雙擊報表變量XH選定確定按鈕返回報表表達式對話框選定確定按鈕返回報表設計器窗口,XH變量控件便已產(chǎn)生。
圖9.34報表變量對話框圖9.35含有報表變量的表達式生成器
(4)設置在SB表部門字段控件的位置上輸出漢字部門名:雙49(7)建立計算役齡的表達式控件:選定報表控件工具欄的域控件按鈕單擊細節(jié)帶區(qū)右部在報表表達式對話框的表達式文本框內(nèi)鍵入(DATE()-SB.啟用日期)/365在格式文本框內(nèi)鍵入輸入掩碼99選定確定按鈕返回報表設計器窗口。(8)處理日期和頁號:將頁注腳帶區(qū)的Date()控件、_PAGENO控件、“頁”標簽控件移到頁標頭帶區(qū),然后創(chuàng)建一個“第”標簽控件。(9)畫表格線和創(chuàng)建表名、序號、役齡等標簽控件(步驟從略)。(10)打印:在命令窗口發(fā)命令REPORTFORMsbyl.frxFOR主要設備,打印結(jié)果如圖9.32所示。(7)建立計算役齡的表達式控件:選定報表控件工具欄的域50第十章系統(tǒng)開發(fā)實例
10.1開發(fā)VFP數(shù)據(jù)庫應用系統(tǒng)的一般步驟
需求分析充分調(diào)研寫出需求規(guī)范說明書數(shù)據(jù)庫設計邏輯設計物理設計數(shù)據(jù)代碼設計應用程序設計創(chuàng)建子類用戶界面設計與編碼數(shù)據(jù)輸出設計數(shù)據(jù)庫維護功能構(gòu)造VFP應用程序軟件測試應用程序發(fā)布系統(tǒng)運行與維護圖10.1以處理為中心的數(shù)據(jù)庫應用系統(tǒng)開發(fā)示意圖第十章系統(tǒng)開發(fā)實例
10.1開發(fā)VFP數(shù)據(jù)庫應用系統(tǒng)5110.2一個實例:“汽車修理管理系統(tǒng)”的開發(fā)需求分析開發(fā)目的:(1)能對汽車修理有關(guān)的各類數(shù)據(jù)進行輸入、修改與查詢。(2)編制季度零件訂貨計劃。(3)打印汽車修理發(fā)票和工資月報表。數(shù)據(jù)需求
輸入單據(jù)包括修車登記單、汽車修理單、零件入庫單和零件出庫單等4種輸出單據(jù)包括季度零件訂貨計劃、汽車修理發(fā)票和工資月報表等3種。功能需求1.數(shù)據(jù)登記登記功能用于把各種手填單據(jù)中的數(shù)據(jù)及時登記到系統(tǒng)將要定義的表中,還要求能進行修改。這些單據(jù)包括修車登記單、汽車修理單、零件入庫單和零件出庫單。2.查詢能查詢登記單、修理單、汽車、車主、修理工、零件庫存的有關(guān)數(shù)據(jù)。3.編制并顯示季度零件訂貨計劃編制零件訂貨計劃需要找出要訂貨的零件,訂貨條件為:零件庫存量<最低庫存量。訂貨量可由用戶輸入或修改。4.打印發(fā)票發(fā)票中除包含顧客、汽車及修理項目等數(shù)據(jù)外,還要計算出修車費,修車費包括修理費和零件費,按下列各式計算:零件費=(零件價格×耗用數(shù)量)修理費=小時工資×修理工時×3總計=零件費+修理費5.打印修理工工資月報表某修理工的月工資=修理小時×小時工資。10.2一個實例:“汽車修理管理系統(tǒng)”的開發(fā)需求分析52數(shù)據(jù)庫設計
邏輯設計(1)修理單:XLD(編號,牌號,工號,修理項目,修理小時,送修日期,完工日期)(2)汽車:QC(牌號,型號,生產(chǎn)廠,車主名)(3)車主:CZ(車主名,地址,電話)(4)修理工:XLG(工號,姓名,地址,電話,出生日期,進廠日期,小時工資)(5)零件用量:LJYL(編號,零件號,數(shù)量)(6)零件庫存:LJKC(零件號,零件名,成本,價格,庫存量,最低庫存,訂貨量)
圖10.9表間關(guān)聯(lián)的設計數(shù)據(jù)庫設計
圖10.9表間關(guān)聯(lián)的設計53物理設計
1.修理單(C:\QCXL\XLD.DBF)xld(編號c(4),牌號c(8),修理項目c(12),送修日期d,完工日期d,工號c(4)普通索引,修理小時n(4.1))2.汽車(C:\QCXL\QC.DBF)qc(牌號c(8)普通索引,型號c(6),生產(chǎn)廠c(20),車主名c(8))3.車主(C:\QCXL\CZ.DBF)cz(車主名c(8)普通索引,地址c(16),電話c(7))4.修理工(C:\QCXL\XLG.DBF)xlg(工號c(4)普通索引,姓名c(8),地址c(16),電話c(7),出生日期d,進廠日期d,小時工資n(5.2))5.零件用量(C:\QCXL\LJYL.DBF)ljyl(編號c(4)普通索引,零件號c(6),數(shù)量n(2))6.零件庫存(C:\QCXL\LJKC.DBF)ljkc(零件號c(6)普通索引,零件名c(10),成本n(8.2),價格n(8.2),庫存量n(3),最低庫存n(3),訂貨量n(3))7.零件入庫表為LJRK.DBF,其結(jié)構(gòu)與LJKC.DBF相同8.零件出庫表(C:\QCXL\LJCK.DBF)ljck(零件號c(6),數(shù)量n(2))物理設計54
應用程序設計
總體設計
初始用戶界面設計
模塊設計與編碼
1.主文件(QCXL.PRG)SETTALKOFFSETDEFATOc:\qcxl&&設置文件默認路徑,本例所有文件都應裝在該目
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 東遼事業(yè)單位招聘2022年考試模擬試題及答案解析7
- 水產(chǎn)公司招聘考試題及答案
- 生物課程考試題及答案
- 施工安全管理試題及答案
- 2025~2026學年濟南市天橋區(qū)七年級英語第一學期期末考試試題以及答案
- 2025-2026學年商務星球版八上地理期末測試提升卷(含答案)
- 《GAT 1021-2013視頻圖像原始性檢驗技術(shù)規(guī)范》專題研究報告
- 2026年深圳中考英語中等生提分試卷(附答案可下載)
- 環(huán)保秀題目及答案
- 紀檢干事招聘題庫及答案
- DB34-T 4021-2021 城市生命線工程安全運行監(jiān)測技術(shù)標準
- 農(nóng)藝工教學計劃
- TSZSA 015-2024 COB LED光源封裝產(chǎn)品技術(shù)規(guī)范
- 2024新外研社版英語七下單詞默寫表(開學版)
- 衛(wèi)生管理組織制度模版(2篇)
- 《游園》課件統(tǒng)編版高中語文必修下冊
- 質(zhì)量責任劃分制度
- 2024版美團商家合作協(xié)議合同范本
- 一年級上冊數(shù)學應用題50道(重點)
- 嵌入式系統(tǒng)實現(xiàn)與創(chuàng)新應用智慧樹知到期末考試答案章節(jié)答案2024年山東大學
- 線纜及線束組件檢驗標準
評論
0/150
提交評論