《Visual FoxPro數(shù)據(jù)庫程序設(shè)計(jì)教程》課件第9章_第1頁
《Visual FoxPro數(shù)據(jù)庫程序設(shè)計(jì)教程》課件第9章_第2頁
《Visual FoxPro數(shù)據(jù)庫程序設(shè)計(jì)教程》課件第9章_第3頁
《Visual FoxPro數(shù)據(jù)庫程序設(shè)計(jì)教程》課件第9章_第4頁
《Visual FoxPro數(shù)據(jù)庫程序設(shè)計(jì)教程》課件第9章_第5頁
已閱讀5頁,還剩68頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第9章報(bào)表設(shè)計(jì)及應(yīng)用9.1使用報(bào)表向?qū)?/p>

9.2快速制作報(bào)表

9.3使用報(bào)表設(shè)計(jì)器制作報(bào)表

9.4報(bào)表的輸出

9.1使用報(bào)表向?qū)?/p>

9.1.1啟動(dòng)報(bào)表向?qū)?/p>

下面介紹啟動(dòng)報(bào)表向?qū)У乃姆N方法:

(1)打開“項(xiàng)目管理器”,選擇“文檔”選項(xiàng)卡,從中選擇“報(bào)表”項(xiàng)。然后單擊“新建”按鈕,在彈出的“新建報(bào)表”對(duì)話框中,如圖9.1所示。再單擊“報(bào)表向?qū)А卑粹o。

(2)打開“文件”菜單中的“新建”菜單項(xiàng),在文件類型欄中選擇“報(bào)表”,然后單擊“向?qū)А卑粹o。

(3)打開“工具”菜單中的“向?qū)А弊硬藛?,選擇“報(bào)表”。

(4)單擊工具欄上的“報(bào)表”圖標(biāo),也可以啟動(dòng)報(bào)表向?qū)?。圖9.1從項(xiàng)目管理器啟動(dòng)報(bào)表向?qū)Р捎蒙鲜鏊姆N方法都可以啟動(dòng)報(bào)表向?qū)?,并彈出?bào)表“向?qū)нx取”對(duì)話框,如圖9.2所示。在報(bào)表“向?qū)нx取”對(duì)話框中有兩個(gè)選項(xiàng):即報(bào)表向?qū)Ш鸵粚?duì)多報(bào)表向?qū)?,前者是用一個(gè)單一的表創(chuàng)建帶格式的報(bào)表;后者創(chuàng)建報(bào)表,其中的內(nèi)容包含了一組父表的記錄及相關(guān)子表的記錄。圖9.2報(bào)表“向?qū)нx取”對(duì)話框9.1.2創(chuàng)建單一報(bào)表

用一個(gè)單一的表創(chuàng)建帶格式的報(bào)表為單一報(bào)表,在“向?qū)нx取”對(duì)話框中選擇“報(bào)表向?qū)А本涂蓡?dòng)單一報(bào)表。下面以“dgd.dbf”表作為數(shù)據(jù)源,使用報(bào)表向?qū)?chuàng)建一份商品訂購報(bào)表。

主要操作過程如下:

(1)采用啟動(dòng)報(bào)表向?qū)У乃姆N方法之一,打開“向?qū)нx取”對(duì)話框,選擇“報(bào)表向?qū)А边x項(xiàng),單擊“確定”按鈕,進(jìn)入“報(bào)表向?qū)А睂?duì)話框。

(2)在報(bào)表向?qū)А安襟E1——字段選取”對(duì)話框中,見圖9.3所示,選擇“數(shù)據(jù)庫和表”的下拉列表框中的“自由表”,然后單擊下拉列表框右側(cè)的“…”按鈕。在“打開”對(duì)話框中,查找并打開“dgd.dbf”表文件。在“可用字段”中,將所有可用字段全部移動(dòng)到“選定字段”框中。單擊“下一步”按鈕,進(jìn)入報(bào)表向?qū)А安襟E2——分組記錄”對(duì)話框。圖9.3報(bào)表向?qū)е侄芜x取

(3)在報(bào)表向?qū)А安襟E2——分組記錄”對(duì)話框中,如圖9.4所示。本例不進(jìn)行分組,再單擊“下一步”按鈕,進(jìn)入報(bào)表向?qū)А安襟E3——選擇報(bào)表樣式”對(duì)話框。圖9.4報(bào)表向?qū)е纸M記錄

(4)在報(bào)表向?qū)А安襟E3——選擇報(bào)表樣式”對(duì)話框中,如圖9.5所示。在“樣式”框中選擇“簡(jiǎn)報(bào)式”,單擊“下一步”按鈕,進(jìn)入報(bào)表向?qū)А安襟E4——定義報(bào)表布局”對(duì)話框。圖9.5報(bào)表向?qū)еx擇報(bào)表樣式

(5)在報(bào)表向?qū)А安襟E4——定義報(bào)表布局”對(duì)話框中,如圖9.6所示。在該對(duì)話框中可以分別設(shè)置報(bào)表的列數(shù)、方向和字段布局等三項(xiàng)內(nèi)容,本例全部選項(xiàng)為默認(rèn),單擊“下一步”按鈕,進(jìn)入報(bào)表向?qū)А安襟E5——排序列表”對(duì)話框。圖9.6報(bào)表向?qū)еx報(bào)表布局

(6)在報(bào)表向?qū)А安襟E5——排序記錄”對(duì)話框中,如圖9.7所示??梢赃x擇1至3個(gè)字段確定記錄在報(bào)表中出現(xiàn)的順序,并可設(shè)置是升序還是降序,也可以不選排序字段?!斑x定字段”的第一行為主排序字段,以下依次為次排序字段。本例選取“職工號(hào)”為升序排序字段。然后單擊“下一步”按鈕,進(jìn)入報(bào)表向?qū)А安襟E6——完成”對(duì)話框。圖9.7報(bào)表向?qū)е判蛴涗?/p>

(7)在報(bào)表向?qū)А安襟E6——完成”對(duì)話框中,如圖9.8所示。將報(bào)表的標(biāo)題設(shè)為“DGD”,然后選中第二個(gè)選項(xiàng),表示保存后進(jìn)入報(bào)表設(shè)計(jì)器。去除“對(duì)不能容納的字段進(jìn)行拆行處理”選項(xiàng),如果要查看生成的報(bào)表,可以單擊“預(yù)覽”按鈕預(yù)覽報(bào)表,如圖9.9所示。單擊“完成”按鈕,打開“另存為”對(duì)話框,以默認(rèn)的文件名DGD.frx保存。此時(shí)報(bào)表向?qū)ё詣?dòng)生成新的報(bào)表并啟動(dòng)報(bào)表設(shè)計(jì)器來顯示報(bào)表,關(guān)于報(bào)表設(shè)計(jì)器的有關(guān)內(nèi)容在后面介紹。圖9.8報(bào)表向?qū)е瓿蓤D9.9預(yù)覽報(bào)表9.1.3創(chuàng)建一對(duì)多報(bào)表

如果報(bào)表的數(shù)據(jù)源包括父表和子表,就應(yīng)從“向?qū)нx取”對(duì)話框中選擇“一對(duì)多報(bào)表向?qū)А眲?chuàng)建一對(duì)多報(bào)表。

下面以“示例數(shù)據(jù)庫?.DBC”數(shù)據(jù)庫來進(jìn)行操作。假設(shè)要建立的報(bào)表數(shù)據(jù)為“職工與訂購單關(guān)系”報(bào)表情況,顯然這個(gè)報(bào)表的基本數(shù)據(jù)要從兩個(gè)數(shù)據(jù)庫表中得來,而且兩個(gè)數(shù)據(jù)庫表是一對(duì)多的關(guān)系。創(chuàng)建該報(bào)表的主要操作步驟如下:

(1)步驟1——從父表選擇字段。在“向?qū)нx取”對(duì)話框中選擇“一對(duì)多報(bào)表向?qū)А边x項(xiàng),然后單擊“確定”按鈕,啟動(dòng)“一對(duì)多報(bào)表向?qū)А钡牡谝徊襟E,單擊下拉列表框右側(cè)的“…”按鈕,在“打開”對(duì)話框中,查找并打開“示例數(shù)據(jù)庫?.DBC”數(shù)據(jù)庫文件,如圖9.10所示。圖9.10步驟1——從父表選擇字段然后單擊“數(shù)據(jù)庫和表”列表框內(nèi)的“ZG.DBC”表,在“可用字段”中,將所有可用字段全部移動(dòng)到“選定字段”框中。單擊“下一步”按鈕,進(jìn)入“一對(duì)多報(bào)表向?qū)А钡牟襟E2,如圖9.11所示。圖9.11步驟2——從子表選擇字段

(2)步驟2——從子表選擇字段。單擊“數(shù)據(jù)庫和表”列表框內(nèi)的“dgd.dbf”表,在“可用字段”中,將所有可用字段全部移動(dòng)到“選定字段”框中。單擊“下一步”按鈕,進(jìn)入“一對(duì)多報(bào)表向?qū)А钡牟襟E3,如圖9.12所示。圖9.12步驟3——為表建立關(guān)系

(3)步驟3——為表建立關(guān)系。在“一對(duì)多報(bào)表向?qū)А钡牟襟E3對(duì)話框中,系統(tǒng)默認(rèn)對(duì)兩表中匹配的字段“職工號(hào)”建立關(guān)系。當(dāng)然,可以為表中的任何字段建立關(guān)系,只要兩表中字段的類型相同即可。當(dāng)然,如果建立與實(shí)際不符的關(guān)系,就會(huì)產(chǎn)生不正確的報(bào)表結(jié)果。本例中兩個(gè)表是通過“職工號(hào)”字段建立關(guān)系的,因此不用任何操作,單擊“下一步”按鈕,進(jìn)入“一對(duì)多報(bào)表向?qū)А钡牟襟E4,如圖9.13所示。圖9.13步驟4——排序記錄

(4)步驟4——排序記錄。在“一對(duì)多報(bào)表向?qū)А钡牟襟E4對(duì)話框中,選擇所建報(bào)表的記錄的輸出順序。注意要排序的記錄只能是父表中的記錄,所以選擇的字段只能是父表的字段,且最多只能選擇三個(gè)索引字段。本例選擇“職工號(hào)”字段進(jìn)行升序排列輸出。單擊“下一步”按鈕,進(jìn)入“一對(duì)多報(bào)表向?qū)А钡牟襟E5。

(5)步驟5——選擇報(bào)表樣式。“一對(duì)多報(bào)表向?qū)А睂?duì)話框共提供的樣式報(bào)表類型與圖9.5一致。選擇樣式后會(huì)在左上方預(yù)覽窗口顯示樣式結(jié)果,有橫向和縱向報(bào)表布局供選擇。選擇完畢,單擊“下一步”按鈕,進(jìn)入“一對(duì)多報(bào)表向?qū)А钡牟襟E6。

(6)步驟6——完成。在“一對(duì)多報(bào)表向?qū)А钡牟襟E6對(duì)話框中要完成的操作參照建立單一報(bào)表的“步驟6——完成”對(duì)話框中的設(shè)置。

9.2快速制作報(bào)表

快速報(bào)表是自動(dòng)建立一個(gè)簡(jiǎn)單報(bào)表布局的快速工具,用戶只需選擇基本的報(bào)表組件,VisualFoxpro就會(huì)根據(jù)選擇的布局,自動(dòng)建立簡(jiǎn)單的報(bào)表。如果不滿意,則可以利用報(bào)表設(shè)計(jì)器對(duì)該報(bào)表進(jìn)行調(diào)整。下面還是以“dgd.dbf”表作為數(shù)據(jù)源,使用快速報(bào)表創(chuàng)建一份商品訂購單報(bào)表。

主要操作過程如下:

(1)在“文件”菜單中選擇“新建”命令,在打開的“新建”對(duì)話框中單擊“報(bào)表”,再單擊“新建文件”按鈕,打開報(bào)表設(shè)計(jì)器窗口,同時(shí)在VisualFoxpro菜單欄上出現(xiàn)“報(bào)表”菜單,如圖9.14所示。圖9.14報(bào)表設(shè)計(jì)器窗口

(2)單擊“報(bào)表”菜單中的“快速報(bào)表”菜單項(xiàng),彈出“打開”對(duì)話框。選擇報(bào)表數(shù)據(jù)源文件“dgd.dbf”,再單擊“確定”按鈕,就會(huì)彈出“快速報(bào)表”對(duì)話框,如圖9.15所示。圖9.15“快速報(bào)表”對(duì)話框

(3)在“快速報(bào)表”對(duì)話框中為報(bào)表選擇所需的字段、字段布局以及標(biāo)題和別名等選項(xiàng):

字段選擇為報(bào)表選擇指定的字段。單擊“字段”按鈕,打開“字段選擇器”對(duì)話框,如圖9.16所示。從中選擇要輸出的字段,完成后單擊“確定”按鈕,返回“快速報(bào)表”對(duì)話框。圖9.16“字段選擇器”對(duì)話框字段布局在“快速報(bào)表”中提供了兩種布局方式,左邊按鈕表示報(bào)表的字段在報(bào)表中以橫向排列,右邊按鈕表示報(bào)表的字段在報(bào)表中以縱向排列,本例選擇默認(rèn)狀態(tài)(橫向排列)。

復(fù)選框設(shè)置“標(biāo)題”表示在報(bào)表中為輸出的各個(gè)字段添加一個(gè)字段名標(biāo)題;“添加別名”表示在報(bào)表中的字段前面添加表的別名(注:此選項(xiàng)適用于數(shù)據(jù)源是多表的情況);“將表添加到數(shù)據(jù)環(huán)境中”表示將打開的數(shù)據(jù)表加到報(bào)表設(shè)計(jì)器的報(bào)表數(shù)據(jù)環(huán)境中作為報(bào)表的數(shù)據(jù)來源。本例只選中“標(biāo)題”和“將表添加到數(shù)據(jù)環(huán)境中”兩項(xiàng)。

(4)單擊“快速報(bào)表”中的“確定”按鈕,系統(tǒng)就會(huì)根據(jù)用戶的選擇創(chuàng)建一個(gè)快速報(bào)表,如圖9.17、9.18所示。圖9.17快速報(bào)表圖9.18快速報(bào)表預(yù)覽

9.3使用報(bào)表設(shè)計(jì)器制作報(bào)表

9.3.1報(bào)表設(shè)計(jì)器簡(jiǎn)介

1.啟動(dòng)報(bào)表設(shè)計(jì)器

在VisualFoxpro中啟動(dòng)報(bào)表設(shè)計(jì)器方法很多,常用方法有三種:

(1)項(xiàng)目管理器方法。打開“項(xiàng)目管理器”,選擇“文檔”選項(xiàng)卡中的“報(bào)表”選項(xiàng),單擊“新建”按鈕,在彈出“新建報(bào)表”對(duì)話框中,再單擊“新建報(bào)表”按鈕,如圖9.1所示。

(2)菜單方式。打開“文件”菜單中的“新建”子菜單,在文件類型欄中選擇“報(bào)表”,然后單擊“新建文件”按鈕。

(3)命令方式。

命令格式:CREATEREPORT[<報(bào)表文件名>]

以上三種方法都可以啟動(dòng)報(bào)表設(shè)計(jì)器,打開報(bào)表設(shè)計(jì)器窗口,此時(shí)主窗口中會(huì)自動(dòng)出現(xiàn)“報(bào)表設(shè)計(jì)器”工具欄,如圖9.19所示。圖9.19報(bào)表設(shè)計(jì)器

2.報(bào)表設(shè)計(jì)器窗口組成

VisualFoxpro報(bào)表設(shè)計(jì)器將整個(gè)報(bào)表劃分為若干個(gè)帶區(qū),系統(tǒng)會(huì)以不同的方式來控制打印各帶區(qū)的內(nèi)容。在默認(rèn)狀態(tài)下,報(bào)表設(shè)計(jì)器顯示三個(gè)帶區(qū):頁標(biāo)頭、細(xì)節(jié)、頁注腳。每個(gè)帶區(qū)的底部都有一個(gè)分隔欄。各分隔欄左側(cè)有一個(gè)向上的藍(lán)箭頭,表示此帶區(qū)位于分隔欄之上。

報(bào)表除了如圖9.19所示的三個(gè)默認(rèn)帶區(qū)之外,還可以向報(bào)表中添加表9.1所列的其他帶區(qū)。它們表示的意義各不相同,用戶可以根據(jù)自己的需要來確定選用和添加哪個(gè)帶區(qū)。表9.1報(bào)表可用帶區(qū)及作用

3.報(bào)表設(shè)計(jì)器工具欄介紹

報(bào)表設(shè)計(jì)器中包含各種常用的工具按鈕,它們表示的意義和用法如下:

數(shù)據(jù)分組按鈕顯示“數(shù)據(jù)分組”對(duì)話框,用于創(chuàng)建數(shù)據(jù)分組及指定其屬性。

數(shù)據(jù)環(huán)境按鈕顯示報(bào)表的“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口。

報(bào)表控件控制按鈕顯示或關(guān)閉“報(bào)表控件”工具欄。

調(diào)色板控制按鈕顯示或關(guān)閉顏色工具欄。

布局工具按鈕顯示或關(guān)閉布局工具欄。

4.報(bào)表控件介紹

該工具欄中各圖標(biāo)按鈕的功能如下:

選定對(duì)象控件移動(dòng)或更改控件的大小,創(chuàng)建一個(gè)控件后,系統(tǒng)會(huì)自動(dòng)選定對(duì)象按鈕,除非選中“按鈕鎖定”按鈕。

標(biāo)簽控件在報(bào)表上創(chuàng)建一個(gè)標(biāo)簽控件,用于顯示與記錄無關(guān)的數(shù)據(jù)。

域控件用于顯示字段、內(nèi)存變量或其他表達(dá)式的內(nèi)容。

線條控件用于設(shè)計(jì)各種各樣的線條。

矩形控件用于畫各種矩形。

圓角矩形控件用于畫各種橢圓和圓角矩形。

圖片/ActiveX綁定控件用于顯示圖片和通用型字段。

按鈕鎖定控件用于多次添加同一類型的控件而不用重復(fù)選定同一類型的控件。

5.布局工具欄介紹

使用“布局”工具欄可以在報(bào)表或表單上對(duì)齊和調(diào)整控件的位置。該工具欄按鈕功能如下:

左邊對(duì)齊、右邊對(duì)齊按鈕使選定的所有控件向其中最左邊/右邊的控件左側(cè)/右側(cè)對(duì)齊。

頂邊對(duì)齊、底邊對(duì)齊使選定的所有控件向其中最頂端/底端控件的頂邊/底邊對(duì)齊。

垂直居中對(duì)齊按鈕使所有選定控件的中心處在一條垂直軸上。

水平居中對(duì)齊按鈕使所有選定控件的中心處在一條水平軸上。水平居中、垂直居中按鈕使所有選定控件的中心處在帶區(qū)水平/垂直方向的中間位置。

相同寬度按鈕將所有選定控件的寬度調(diào)整到與其中最寬控件相同。

相同高度按鈕將所有選定控件的高度調(diào)整到與其中最高控件相同。

相同大小按鈕使所有選定控件具有相同的大小。

置前按鈕將選定控件移至其他控件的最上層。

置后按鈕將選定控件移至其他控件的最下層。9.3.2利用報(bào)表設(shè)計(jì)器設(shè)計(jì)報(bào)表

1.設(shè)置報(bào)表數(shù)據(jù)源

設(shè)計(jì)報(bào)表時(shí),首先要完成的任務(wù)是確定報(bào)表的數(shù)據(jù)源??梢栽跀?shù)據(jù)環(huán)境中簡(jiǎn)單地制定報(bào)表的數(shù)據(jù)源,用它們來填充報(bào)表中的控件。數(shù)據(jù)環(huán)境通過下列方式管理報(bào)表的數(shù)據(jù)源:

(1)打開或運(yùn)行報(bào)表時(shí)打開表或視圖。

(2)基于相關(guān)表或視圖收集報(bào)表所需數(shù)據(jù)集合。

(3)關(guān)閉或釋放報(bào)表時(shí)關(guān)閉表。

向數(shù)據(jù)環(huán)境中添加表或視圖作為數(shù)據(jù)源的步驟如下:

(1)從“顯示”菜單中選擇“數(shù)據(jù)環(huán)境”子菜單或在報(bào)表設(shè)計(jì)器中空白帶區(qū)里單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“數(shù)據(jù)環(huán)境”,此時(shí)會(huì)出現(xiàn)數(shù)據(jù)環(huán)境設(shè)計(jì)器,如圖9.20所示。圖9.20數(shù)據(jù)環(huán)境設(shè)計(jì)器

(2)在“數(shù)據(jù)環(huán)境”菜單中,選擇“添加”,或者在數(shù)據(jù)環(huán)境設(shè)計(jì)器中單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇添加,此時(shí)會(huì)彈出“添加表或視圖”對(duì)話框,如圖9.21所示。圖9.21“添加表或視圖”對(duì)話框

(3)在“添加表或視圖”對(duì)話框中,從“數(shù)據(jù)庫”框中選擇一數(shù)據(jù)庫。

(4)在“選定”區(qū)域內(nèi)選取“表”或“視圖”。

(5)在“數(shù)據(jù)庫中的表”框中,選取一個(gè)表或視圖。

(6)選擇“添加”按鈕。

本例是將“示例數(shù)據(jù)庫”中的“dgd”和“zg”兩個(gè)數(shù)據(jù)庫表添加到數(shù)據(jù)環(huán)境中,如圖9.20所示。在以后每次運(yùn)行報(bào)表時(shí),添加到“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口中的這兩個(gè)表都會(huì)被打開。如果報(bào)表不是固定使用同一個(gè)數(shù)據(jù)源,就不應(yīng)該把數(shù)據(jù)源直接放在報(bào)表的數(shù)據(jù)環(huán)境設(shè)計(jì)器窗口中。

2.使用報(bào)表帶區(qū)

一個(gè)完整的報(bào)表設(shè)計(jì)器窗口包括9個(gè)帶區(qū),如圖9.22所示,不同帶區(qū)功能各異(見表9.1),系統(tǒng)會(huì)以不同方式處理各帶區(qū)的數(shù)據(jù)。如果用戶要使用其他帶區(qū),可以采用下面方法添加。圖9.22報(bào)表設(shè)計(jì)器窗口中的帶區(qū)

1)添加帶區(qū)

(1)添加“標(biāo)題/總結(jié)”帶區(qū)。選擇“報(bào)表”菜單中的“標(biāo)題/總結(jié)”選項(xiàng),會(huì)打開“標(biāo)題/總結(jié)”對(duì)話框,如圖9.23所示。選中“標(biāo)題帶區(qū)”和“總結(jié)帶區(qū)”復(fù)選框,系統(tǒng)自動(dòng)在報(bào)表的頂部添加一個(gè)“標(biāo)題”帶區(qū),在報(bào)表的底部添加一個(gè)“總結(jié)”帶區(qū)。如果標(biāo)題和總結(jié)要單獨(dú)打印一頁,可以選中“報(bào)表標(biāo)題”中的“新頁”和“報(bào)表總結(jié)”中的“新頁”。圖9.23“標(biāo)題/總結(jié)”對(duì)話框

(2)添加“列標(biāo)頭/列注腳”帶區(qū)。如果要?jiǎng)?chuàng)建多欄報(bào)表,需要添加“列標(biāo)頭/列注腳”帶區(qū)。添加方法:選擇“文件”菜單中的“頁面設(shè)置”選項(xiàng),打開“頁面設(shè)置”對(duì)話框,如圖9.24所示。在“頁面設(shè)置”對(duì)話框中的“列數(shù)”框的列數(shù)值設(shè)置為所需要的列數(shù)(一般要使列數(shù)值>1),并將列寬和列間隔調(diào)整合適,系統(tǒng)就會(huì)在報(bào)表中添加一個(gè)“列標(biāo)頭”帶區(qū)和一個(gè)“列注腳”帶區(qū)。圖9.24“頁面設(shè)置”對(duì)話框

(3)添加“組標(biāo)頭/組注腳”帶區(qū)。在設(shè)計(jì)報(bào)表時(shí),有時(shí)所要報(bào)表的數(shù)據(jù)是成組出現(xiàn)的,需要以組為單位對(duì)報(bào)表進(jìn)行處理,就要使用“組標(biāo)頭/組注腳”帶區(qū)。利用分組可以明顯地分隔每組記錄,使數(shù)據(jù)以組的形式顯示。組的分隔是根據(jù)分組表達(dá)式進(jìn)行的,這個(gè)表達(dá)式通常由一個(gè)以上的表字段生成,有時(shí)也可以相當(dāng)復(fù)雜??梢蕴砑右粋€(gè)或多個(gè)組,更改組的順序,重復(fù)組標(biāo)頭或者更改、刪除組帶區(qū)。

添加“組標(biāo)頭/組注腳”帶區(qū)方法:選擇“報(bào)表”菜單中的“數(shù)據(jù)分組”命令,打開“數(shù)據(jù)分組”對(duì)話框,如圖9.25所示。在“分組表達(dá)式”中輸入分組表達(dá)式或單擊“…”命令按鈕打開表達(dá)式生成器,設(shè)置分組表達(dá)式。系統(tǒng)將在報(bào)表設(shè)計(jì)器中添加一個(gè)“組標(biāo)頭”和一個(gè)“組注腳”帶區(qū)。圖9.25“數(shù)據(jù)分組”對(duì)話框還可以對(duì)報(bào)表進(jìn)行多個(gè)數(shù)據(jù)分組,即嵌套分組。第一個(gè)表達(dá)式定義了基本分組,單擊“數(shù)據(jù)分組”框中的“插入”按鈕,就可以繼續(xù)添加分組表達(dá)式,后面添加的表達(dá)式就分別定義了一層層的子分組條件,而且在一個(gè)報(bào)表中可以最多建立20級(jí)分組。如果已經(jīng)定義了多級(jí)分組表達(dá)式,可以拖動(dòng)表達(dá)式左端的按鈕調(diào)整并改變分組的先后順序。

在“數(shù)據(jù)分組”對(duì)話框中的“組屬性”內(nèi)有四個(gè)復(fù)選框和一個(gè)微調(diào)按鈕,各選項(xiàng)意義如下:

每組從新的一列上開始,每組數(shù)據(jù)都重新開始一列。

每組從新的一頁上開始,每組數(shù)據(jù)都重新開始一頁。

每組的頁號(hào)重新從1開始,當(dāng)組改變時(shí),組在新頁上開始打印,并重置頁號(hào)。每頁都打印組標(biāo)頭,當(dāng)組分布在多頁上時(shí),指定在所有頁的頁標(biāo)頭后打印組標(biāo)頭。

小于右值時(shí)組從新的一頁上開始,要打印組標(biāo)頭時(shí),組標(biāo)頭距頁底的最小距離。

2)調(diào)整帶區(qū)高度

報(bào)表設(shè)計(jì)器窗口中各帶區(qū)的高度可以根據(jù)需要調(diào)整,但不能使帶區(qū)的高度小于添加到該帶區(qū)中的控件的高度。帶區(qū)高度調(diào)整方法有:

(1)用鼠標(biāo)選中要調(diào)整高度的帶區(qū)標(biāo)識(shí)欄,上下拖動(dòng)該帶區(qū),直到高度適合為止。

(2)雙擊帶區(qū)的標(biāo)識(shí)欄,在出現(xiàn)的對(duì)話框中直接輸入高度值。

3.使用報(bào)表控件

在報(bào)表設(shè)計(jì)器中,為報(bào)表新設(shè)置的帶區(qū)是空白的,通過在報(bào)表中添加控件來定義在頁面上顯示的數(shù)據(jù)項(xiàng),可以安排所要輸出的內(nèi)容。

1)標(biāo)簽控件

在報(bào)表中,標(biāo)簽一般用作說明性文字。例如在報(bào)表的頁標(biāo)頭帶區(qū)內(nèi)對(duì)應(yīng)字段變量的正上方加入一標(biāo)簽來說明該字段表示的意義,或者對(duì)于整個(gè)報(bào)表的標(biāo)題也可用標(biāo)簽來設(shè)置。

(1)添加標(biāo)簽控件。單擊“報(bào)表控件”工具欄上的“標(biāo)簽”按鈕,此時(shí)鼠標(biāo)形狀變成一條豎直線,移動(dòng)鼠標(biāo)至插入文本的位置,單擊左鍵,即可進(jìn)行文本輸入。

(2)編輯標(biāo)簽控件。加入了標(biāo)簽,輸入標(biāo)簽文本后,可以通過“格式”菜單,打開“字體”對(duì)話框,如圖9.26所示,設(shè)置選定文本的字體、大小、效果和顏色等。圖9.26“字體”對(duì)話框

2)域控件

使用域控件可以向報(bào)表中添加多個(gè)字段,也可以添加表達(dá)式。添加域控件的方法有以下兩種:

(1)從數(shù)據(jù)環(huán)境中添加域控件。在報(bào)表設(shè)計(jì)器窗口中,打開報(bào)表的數(shù)據(jù)環(huán)境,在“數(shù)據(jù)環(huán)境設(shè)計(jì)器”中用左鍵按住選定字段,拖動(dòng)到報(bào)表設(shè)計(jì)器的相應(yīng)位置。一般情況,數(shù)據(jù)源選擇表或視圖,字段放在細(xì)節(jié)帶區(qū)內(nèi)。

(2)從工具欄添加域控件。打開報(bào)表的數(shù)據(jù)環(huán)境,單擊“報(bào)表控件”工具欄中的“域控件”按鈕,在報(bào)表設(shè)計(jì)器的相應(yīng)帶區(qū)單擊鼠標(biāo),出現(xiàn)“報(bào)表表達(dá)式”對(duì)話框,如圖9.27所示。在“報(bào)表表達(dá)式”對(duì)話框中,選擇“表達(dá)式”框右邊的按鈕打開“表達(dá)式生成器”,如圖9.28所示,選擇需要的字段,或者創(chuàng)建一個(gè)表達(dá)式,單擊“確定”按鈕。在“報(bào)表表達(dá)式”對(duì)話框中,單擊“格式”框右邊的按鈕打開“格式”對(duì)話框,如圖9.29所示,設(shè)置數(shù)據(jù)輸出格式,單擊“確定”,關(guān)閉“格式”對(duì)話框。在“報(bào)表表達(dá)式”對(duì)話框中,選擇“確定”按鈕。就在表中添加了一個(gè)域控件。

如果添加的是可計(jì)算字段,可以單擊“報(bào)表表達(dá)式”對(duì)話框中的“計(jì)算”按鈕,打開“計(jì)算”按鈕對(duì)話框,如圖9.30所示,選擇一個(gè)表達(dá)式通過計(jì)算來創(chuàng)建一個(gè)域控件。圖9.27“報(bào)表表達(dá)式”對(duì)話框圖9.28“表達(dá)式生成器”對(duì)話框圖9.29“格式”對(duì)話框圖9.30“計(jì)算字段”對(duì)話框

3)添加線條、矩形和圓角矩形

可以使用“報(bào)表控件”工具欄所提供的線條、矩形和圓角矩形按鈕,在報(bào)表適當(dāng)?shù)奈恢蒙咸砑酉鄳?yīng)的圖形線條控件以設(shè)計(jì)相應(yīng)的各種圖形。

(1)添加。在“報(bào)表控件”工具欄上單擊“線條”、“矩形”或“圓角矩形”按鈕。然后在報(bào)表的一個(gè)帶區(qū)中拖曳光標(biāo)將分別生成線條、矩形或圓角矩形。

(2)編輯??梢愿拇怪?、水平線條,矩形和圓角矩形所用線條的粗細(xì),從細(xì)線到粗線;也可以更改線條的樣式。操作方法:選定希望更改的直線、矩形或圓角矩形。從“格式”菜單中,選擇“繪圖筆”子菜單。從子菜單中選擇適當(dāng)?shù)拇笮』驑邮健?/p>

4)添加OLE對(duì)象

OLE就是對(duì)象鏈接和嵌入技術(shù)。OLE對(duì)象可以是圖片、聲音、文檔等等。在VisualFoxpro的表中添加圖片時(shí),圖片不隨記錄變化;在添加ActiveX綁定控件時(shí),顯示的ActiveX內(nèi)容將隨記錄的不同而不同。操作步驟為:首先在“報(bào)表控件”工具欄中,單擊“圖片/ActiveX綁定控件”,然后在“報(bào)表設(shè)計(jì)器”窗口中的相應(yīng)帶區(qū)單擊鼠標(biāo),會(huì)彈出“報(bào)表圖片”對(duì)話框,如圖9.31所示。在“報(bào)表圖片”對(duì)話框中,圖片來源有“文件”和“字段”兩種形式,分別對(duì)應(yīng)的“插入圖片”和“添加通用字段”。圖9.31“報(bào)表圖片”對(duì)話框

(1)插入圖片。在“圖片來源”區(qū)域選擇“文件”選項(xiàng),并輸入一個(gè)文件的位置和名稱,或單擊右側(cè)的“…”擴(kuò)展按鈕選擇一個(gè)圖片文件。該方法插入的圖片是靜態(tài)的,它不隨每條記錄或每組記錄的變化而改變。

(2)添加通用字段??梢圆迦氚ê琌LE對(duì)象的通用型字段。在“圖片來源”區(qū)域選擇“字段”選項(xiàng),在“字段”框中鍵入字段名,或單擊擴(kuò)展按鈕來選取字段。單擊“確定”按鈕,通用字段的占位符將出現(xiàn)在定義的圖文框內(nèi)。如果圖文框較大,圖片保持其原始大小。

當(dāng)然,當(dāng)圖片與圖文框的大小不一致時(shí),可以通過“報(bào)表圖片”對(duì)話框中的“剪裁圖片”、“縮放圖片”等選項(xiàng)調(diào)整圖片。

5)控件的調(diào)整及編輯

如果創(chuàng)建的報(bào)表布局上已經(jīng)存在控件,則可以更改它們?cè)趫?bào)表上的位置和尺寸。

(1)調(diào)整。要調(diào)整控件大小,可以選定控件,然后拖動(dòng)控件四周的某個(gè)尺寸句柄改變控件的寬度和高度。

(2)復(fù)制與刪除。先選定控件,接著單擊工具欄上的“復(fù)制”按鈕,再單擊“粘貼”按鈕即可完成復(fù)制,也可以選擇“編輯”菜單中“復(fù)制”、“粘貼”選項(xiàng)。對(duì)于不需要的控件,選定后按Del鍵,或者單擊工具欄上的“剪切”按鈕,選擇“編輯”菜單中的“剪切”選項(xiàng)也可刪除控件。

(3)選擇。有兩種方法同時(shí)選定多個(gè)控件:其一是選定一個(gè)控件后,按住shift鍵再選定其他控件;其二是圈選,即在控件周圍拖動(dòng)以畫出選擇框,這種方法對(duì)于選定相鄰的控件很方便。同時(shí)選定的多個(gè)控件可以作為一組內(nèi)容來移動(dòng)、復(fù)制、設(shè)置或刪除。當(dāng)已經(jīng)設(shè)置格式并且對(duì)齊控件后,可以保存控件彼此之間的位置。

(4)對(duì)齊。首先選擇想對(duì)齊的控件,從“格式”菜單中選擇“對(duì)齊”子菜單,從子菜單中選擇適當(dāng)對(duì)齊選項(xiàng)。VisualFoxpro使用距離所選對(duì)齊方向最近的控件作為固定參照控件,也可以使用布局工具欄。使用工具欄,可以同距離所選一側(cè)最遠(yuǎn)的控件對(duì)齊,只要在單擊對(duì)齊按鈕時(shí)按下Ctrl鍵即可。

4.使用報(bào)表變量

在數(shù)據(jù)庫應(yīng)用系統(tǒng)中,變量的應(yīng)用最為廣泛,它能夠給應(yīng)有程序帶來極大的靈活性。特別是在總計(jì)中,往往是用變量來計(jì)算要求得到的值然后輸出。使用報(bào)表變量,可以計(jì)算各種值,并可利用這些值來計(jì)算其他相關(guān)值。

若要在報(bào)表中使用變量,先打開報(bào)表,然后在主菜單條上選擇“報(bào)表”菜單中的“變量”命令,彈出“報(bào)表變量”對(duì)話框,如圖9.32所示。

在“報(bào)表變量”對(duì)話框中可以為報(bào)表定義一個(gè)或多個(gè)變量,可以改變或刪除已有變量,或者改變變量的計(jì)算順序。圖9.32“報(bào)表變量”對(duì)話框

9.4報(bào)?表?的?輸?出

9.4.1頁面設(shè)置

1.設(shè)置左邊距

從“文件”菜單中選擇“頁面設(shè)置”選項(xiàng),如圖8.16所示,打開“頁面設(shè)置”對(duì)話框,在“左頁邊距”框中輸入邊距數(shù)值,頁面布局將按新的頁邊距顯示。

2.選擇紙張大小和方向

在“頁面設(shè)置”對(duì)話框中,單擊“打印設(shè)置”按鈕,打開“打印設(shè)置”對(duì)話框??梢詮摹按笮 绷斜碇羞x定紙張大小。默認(rèn)的打印方向?yàn)榭v向,若要改變紙張方向,可從“方向”區(qū)選擇橫向,再單擊“確定”按鈕。9.4.2預(yù)覽報(bào)表

通過預(yù)覽報(bào)表,不用打印就能看到它的頁面外觀。例如,可以檢查數(shù)據(jù)列的對(duì)齊和間隔,或者查看報(bào)表是否返回所

溫馨提示

  • 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)論