《數(shù)據(jù)窗口對象》doc版.doc_第1頁
《數(shù)據(jù)窗口對象》doc版.doc_第2頁
《數(shù)據(jù)窗口對象》doc版.doc_第3頁
《數(shù)據(jù)窗口對象》doc版.doc_第4頁
《數(shù)據(jù)窗口對象》doc版.doc_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

/數(shù)據(jù)窗口對象的數(shù)據(jù)源-PB提供5種數(shù)據(jù)源:Quick Select(快速選擇類型)、SQL Select(SQL選擇類型)、Query(查詢類型)、External(外部類型)和Stored Procedure(存儲過程類型)-Quick Select只能從一個數(shù)據(jù)表或者視圖中選取數(shù)據(jù)(無關聯(lián)的表或者視圖)?-SQL Select1、選擇表可以一次選擇多個表2、選擇字段Select All /選擇所有字段Select Tables /重新選擇表Convert to Syntax /進入SQL語法狀態(tài)Compute /計算字段,右鍵-Columns /選擇字段 右鍵-Functions /選擇函數(shù)3、指定檢索條件Retrieval Arguments /定義檢索參數(shù)變量的類型和名稱where /檢索條件,右鍵-Columns /選擇字段 右鍵-Functions /選擇函數(shù) 右鍵-Arguments /選擇參數(shù) 右鍵-Value /選擇值 右鍵-Select /從其他表中選擇-QueryPB可以將特定的SQL語句保存為Query對象,不同的Query數(shù)據(jù)源的數(shù)據(jù)窗口都可以使用這些已經(jīng)保存好的SQL語句來提取數(shù)據(jù)-External當和不存在于數(shù)據(jù)庫中的數(shù)據(jù)打交道或者要利用數(shù)據(jù)窗口的某些特性但不進行數(shù)據(jù)處理時,使用此數(shù)據(jù)源。無SQL語句。-Stored Procedure使用已經(jīng)定義好的存儲過程來做數(shù)據(jù)源-/數(shù)據(jù)窗口對象的顯示樣式-數(shù)據(jù)窗口對象顯示樣式有11種:Grid、Tabular、Group、Freefrom、Label、N-Up、Crosstab、Graph、Composite、RichText、OLE2.0-Grid:字段橫向排列在detail band中,標簽橫向排列在header band中,和字段相對應,字段和字段之間有網(wǎng)格線分隔,類似于電子表格。在數(shù)據(jù)窗口的預覽狀態(tài)下可以調(diào)整字段的順序,并且自動反饋到數(shù)據(jù)窗口的設計狀態(tài)中,調(diào)整字段順序時,對應的標簽順序也相應地自動調(diào)整。缺省情況下,字段不能隨意移動,只能在detail band中做上下移動。這種顯示樣式的數(shù)據(jù)窗口布局整齊,但不能靈活地安排字段、標簽、表頭的布局,所以常用來顯示數(shù)據(jù)或錄入數(shù)據(jù),而很少用來做報表。Grid顯示樣式的數(shù)據(jù)窗口中,表頭只能和標簽放置在同一個header band中,在放置表頭處仍然有網(wǎng)格線。-Tabular:當剛剛創(chuàng)建這種樣式的數(shù)據(jù)窗口時,字段、標簽的布局和 Grid顯示樣式的數(shù)據(jù)窗口相同,都是橫向排列的,但是字段之間沒有網(wǎng)格線分隔。字段和標簽的布局可以隨意調(diào)整,在header band中的標簽可以隨意拖放到detail band中,detail band中的字段也可以拖動到header band中。這種顯示格式的數(shù)據(jù)窗口布局安排非常靈活,開發(fā)人員可以根據(jù)需要設計字段和標簽的布局,然后手工畫線制作表格,在制作中國式報表時經(jīng)常使用,雖然比較煩瑣,但是表格比較美觀,比較適合中國式報表的要求,另外,這種格式的數(shù)據(jù)窗口在數(shù)據(jù)錄入、查詢時也經(jīng)常使用。-Group:Group分組顯示樣式的數(shù)據(jù)窗口可以指定按哪個(或哪些)字段進行分組,可以用指定的分組條件將數(shù)據(jù)分組顯示,并且允許為每組指定一些計算。例如,要顯示某公司在各地區(qū)的銷售數(shù)據(jù),可以按地區(qū)分組,為每個分組指定統(tǒng)計計算,在地區(qū)改變時顯示地區(qū)的銷售總金額。當選擇多個字段時,這幾個字段共同作為分組的條件,而不是以每個字段都創(chuàng)建一個分組。使用Group類型只能創(chuàng)建一個分組,要創(chuàng)建多個分組必須在DataWindow畫板中完成。-Freefrom:前面討論的三種顯示樣式都是一次可以顯示多行數(shù)據(jù)的。對于比較重要的數(shù)據(jù),用戶可能需要一次只編輯一行這時可以使用Freefrom顯示樣式的數(shù)據(jù)窗口。該類型的數(shù)據(jù)窗口將標簽放置在字段的左例,字段和標簽放置在同一個detail band中,先從上到下再從左到右依次排列。實際上,這種顯示樣式的數(shù)據(jù)窗口布局也很靈活,可以隨意安排字段和標簽的位置。這種顯示樣式的數(shù)據(jù)窗口在卡片式數(shù)據(jù)的錄入和顯示方面也經(jīng)常使用。-Label:如果用戶想要生成郵件標簽,可以使用Label顯示樣式的數(shù)據(jù)窗口來實現(xiàn)。-N-Up:這是可以在同一頁上顯示多列相同字段的一種特殊的顯示樣式。當要顯示的字段比較少或者不同行之間的數(shù)據(jù)需要做比較時,經(jīng)常使用這種顯示樣式。使用向?qū)Э梢詣?chuàng)建N-up顯示樣式的數(shù)據(jù)窗口,需要指定的一個重要參數(shù)是每行重復顯示的字段的次數(shù),也就是Number of rows per detail band,缺省為2。該參數(shù)的大小視需要顯示的字段總長度和報表使用的打印紙寬度而定。N-up顯示樣式的數(shù)據(jù)從左到右顯示。另外,當選中行數(shù)據(jù)時,并不能選中實際上看到的一整行,而是邏輯上的一行。-CrossTab:當需要做數(shù)據(jù)統(tǒng)計和分析時,最好使用CrossTab顯示樣式的數(shù)據(jù)窗口,雖然報表在顯示格式方面不適合中國人的口味,但還沒有哪個C/S數(shù)據(jù)庫開發(fā)軟件將數(shù)據(jù)統(tǒng)計分析做得如此之好。使用CrossTab顯示樣式可以創(chuàng)建復雜的分類統(tǒng)計表,不管是表頭分類還是行分類。創(chuàng)建CrossTab顯示樣式的數(shù)據(jù)窗口時,有幾個重要參數(shù)需要指定。這些重要參數(shù)是行、列和統(tǒng)計值。每個參數(shù)可以指定多個字段,也可以使用表達式。當指定多個字段(或表達式)時,字段的順序決定在表中的分組順序。比如,統(tǒng)計某銷售公司某年各個月份各種產(chǎn)品、不同花色在各個地區(qū)的銷售情況,可以用月份和地區(qū)作為列,用產(chǎn)品名稱和花色作為行。在Columns列表框中按Month、Region的順序加入字段,沒有Month可以使用表達式Month(sales_date)來獲取銷售時的月份。Rows列表框中的字段對應數(shù)據(jù)窗口中左側(cè)的表頭,Columns列表框中的字段對應數(shù)據(jù)窗口中上面 表頭,Values是出現(xiàn)在數(shù)據(jù)窗口表格單元中的統(tǒng)計值;Source Data列表框中是可以使用的字段,使用鼠標選中并拖動到相應的列表框即可。在Rows、Columns、Values三個列表框中都可以用鼠標雙擊已有字段,可以在接下來的對話框中輸入組合表達式。比如,使用year作為Columns是可以的,也可以雙擊然后在上面的窗口中輸入下面的表達式:year+年-Graph:Graph顯示樣式的數(shù)據(jù)窗口可以以多種圖形樣式將數(shù)據(jù)顯示出來,例如餅圖、柱狀圖、折線圖等。Graph顯示樣式的數(shù)據(jù)窗口給用戶的感覺是使用方便、表達直觀。從開發(fā)者的角度來講,創(chuàng)建Graph顯示樣式的數(shù)據(jù)窗口也是很簡單的事情,所以在開發(fā)應用程序時不要忘記這費力不多卻很受用戶歡迎的顯示樣式。創(chuàng)建Graph顯示樣式的數(shù)據(jù)窗口時,最重要的參數(shù)是Category、Values及Series。在創(chuàng)建向?qū)е锌梢灾付ㄟ@幾個參數(shù)。指明這三個參數(shù)的操作很簡單,在下拉列表框中選擇合適的字段即可。Category可以理解成顯示在橫向坐標鈾上的字段,Values可以理解成顯示在縱向坐標軸上的字段,而Series是橫向坐標軸上同組比較時的分組標準。-Composite: 這種顯示樣式的數(shù)據(jù)窗口可以將多種類型的、多個邏輯上毫不相關的數(shù)據(jù)窗口放置到一起,是一種靈活的數(shù)據(jù)表現(xiàn)形式。因為Composite顯示樣式的數(shù)據(jù)窗口不允許修改其中的數(shù)據(jù),所以不能用于數(shù)據(jù)錄入和數(shù)據(jù)修改,只能在報表時使用這種顯示祥式的數(shù)據(jù)窗口。使用這種顯示樣式的數(shù)據(jù)窗口創(chuàng)建報表,經(jīng)常將對同一問題不同表現(xiàn)形式的數(shù)據(jù)窗口或者是關系緊密的數(shù)據(jù)放到一起。例如,將幾個關鍵數(shù)據(jù)的統(tǒng)計結(jié)果以Graph顯示樣式顯示在最上面,用CrossTab類型的數(shù)據(jù)窗口將比較詳細的數(shù)據(jù)統(tǒng)計結(jié)果顯示在中間,然后是Grid類型的詳細數(shù)據(jù),這樣的報表數(shù)據(jù)表現(xiàn)能力要比任何單一的一種數(shù)據(jù)窗口要強得多。-RichText:RichText祥式的數(shù)據(jù)窗口使數(shù)據(jù)庫中的數(shù)據(jù)和文字可以在一起排版,可以方便地特數(shù)據(jù)庫中的數(shù)據(jù)和文字內(nèi)容一起形成文檔、報告等;提供了很強的文字編輯處理能力,可以很方便地處理文字的多種格式:可以開發(fā)更有表現(xiàn)力的應用系統(tǒng),自動生成報告、文檔資料,省去了使用PowerBuilder的應用程序卻需要切換到其他文字處理軟件中的麻煩。-OLE 2.0:OLE是Object Link and Embedding的字頭縮寫,表示對象鏈接和嵌入。使用這種技術,可以將其他軟件的功能引入到PowerBuilder開發(fā)的應用程序中。PowerBuilder中不僅提供了OLE 2.0顯示樣式的數(shù)據(jù)窗口,而且在窗口中提供了OLE 2.0控件。例如,在數(shù)據(jù)庫中保存的圖像在OLE 2.0顯示樣式的數(shù)據(jù)窗口中,可以借助一些專門的圖像處理軟件來處理,并可以把處理結(jié)果返回保存到數(shù)據(jù)庫中。只有當數(shù)據(jù)庫的表中包含blob類型的字段時,才有必要使用OLE 2.0顯示樣式的數(shù)據(jù)窗口。將blob類型的字段作為OLE 2.0列,在處理其中的數(shù)據(jù)時,可以直接觸發(fā)調(diào)用相關的軟件進行處理,并能夠?qū)⑻幚斫Y(jié)果返回保存到數(shù)據(jù)庫中。例如,某字段中保存的是Excel文檔,可以創(chuàng)建OLE 2.0顯示樣式的數(shù)據(jù)窗口,當雙擊該字段時可以調(diào)用Excel,然后在Excel中編輯處理數(shù)據(jù),保存編輯結(jié)果返回到數(shù)據(jù)窗口時,可以將結(jié)果反映到數(shù)據(jù)窗口中。創(chuàng)建OLE 2.0顯示樣式的數(shù)據(jù)窗口,需要指定三類參數(shù)。Source Data框中顯示的是所有可用字段,可以使用鼠標選中并拖動到其他兩個列表框中;Group by列表框中顯示的是用來分組的字段,由于OLE 2.0數(shù)據(jù)窗口的特殊性,它的分組不在設計時創(chuàng)建,只能在向?qū)е袆?chuàng)建;Target Data框中顯示的是在數(shù)據(jù)窗口中要顯示的字段,使用了分組,則對該框中的字段做統(tǒng)計(字符串型的列將統(tǒng)計記錄數(shù),數(shù)值型的列將統(tǒng)計累加和),沒有使用分組,則直接顯示它們的值。接下來要設置的是和OLE對象關系緊密的內(nèi)容-/數(shù)據(jù)窗口對象的畫板、band和層次-數(shù)據(jù)窗口畫板整個數(shù)據(jù)窗口畫板由6個視窗構(gòu)成,分別是:Design:設計數(shù)據(jù)窗口對象視窗,可以使用菜單Design-Options來改變Design窗口的外觀Preview:預覽數(shù)據(jù)窗口的外觀,顯示相應表中的對應的數(shù)據(jù),及對數(shù)據(jù)的各種操作Control List:數(shù)據(jù)窗口中所有的部件構(gòu)成的一個列表Data:顯示此數(shù)據(jù)窗口對象所對應的表中的各個字段的值Properties:屬性Column Specification:該視窗是個比較重要的視窗,可以增加、刪除、修改列的初始值、檢驗表達式或者校驗信息-數(shù)據(jù)窗口對象的band數(shù)據(jù)窗口用帶-band將其分隔成四部分:Header:出現(xiàn)在每頁的頂端,用于顯示標題和列的題頭Detail:包含了數(shù)據(jù)窗口對象的主體,顯示了各行的數(shù)據(jù)和相關的標簽。在DataWindow對象高度的范圍內(nèi),細節(jié)條能夠按照需要自動擴大任意倍Footer:出現(xiàn)在每頁的底端,用來顯示文本和頁號Summary:出現(xiàn)在DataWindow對象的最后一頁,用來為整個數(shù)據(jù)窗口對象顯示總計和總和-數(shù)據(jù)窗口對象的層次數(shù)據(jù)窗口分為三個層次,即背景層(background)、帶層(band)和前景層(foreground)。在數(shù)據(jù)窗口上放置的部件可以屬于任意一個層次,但如果設計不當,數(shù)據(jù)顯示會凌亂不堪。通常情況下,背景層放置繪圖對象以設置漂亮的背景;帶層放置字段、計算域、標簽等和報表內(nèi)容緊密相關的內(nèi)容,在運行狀態(tài)下,PowerBuilder會自動格式化帶層;前景層放置一些無需打印的內(nèi)容,最典型的是Graph部件。 設置部件屬于哪個層的方法是首先選中部件,然后在屬性視窗中進入到Positon屬性頁,修改該部件的Layer屬性,在Layer下拉列表框中選擇適當?shù)膶蛹纯伞?不管哪個層上的對象,鼠標右鍵彈出菜單中都有Send to Back和Bring to Font兩個選項。這兩個功能和層之間有什么關系呢?沒有任何關系!不管部件屬于哪個層,都可以使用這兩個菜單項,使用完后部件也不會屬于其他的層,只是重疊部件的前后關系發(fā)生了變化。所以當部件沒有重疊時,使用這兩個菜單選項沒有什么意義,雖然這兩個菜單選項也可以使用。 選中數(shù)據(jù)窗口上的部件不區(qū)分層。也就是說,選中操作不受層的影響,可以同時選中不同層上的部件。當設置了較大的背景圖片時,可能不能使用拖動鼠標來直接選中多個對象,因為拖動時,鼠標的起點可能就在背景圖片上。解決方法是在所有操作都完成后再放置背景圖片,也可首先將背景圖片剪切掉,進行其他操作后再粘貼圖片,或者先將背景圖片拖到?jīng)]有其他對象的位置上,操作完成后再將圖片背景拖放到原來位置-/數(shù)據(jù)窗口對象及字段的修改屬性數(shù)據(jù)窗口只能修改一個數(shù)據(jù)表。當數(shù)據(jù)窗口的數(shù)據(jù)來源于不止一個數(shù)據(jù)表時,可以用腳本控制數(shù)據(jù)窗口的修改屬性來對數(shù)據(jù)表逐個進行修改。當數(shù)據(jù)窗口是用來接受用戶的手工錄入數(shù)據(jù)時,應該設置兩方面的屬性才能確保數(shù)據(jù)窗口能夠用來修改數(shù)據(jù)表。一個是修改數(shù)據(jù)窗口的修改屬性,另一個是用戶可以修改的字段的相關屬性值-數(shù)據(jù)窗口對象的修改屬性Rows-Update Properties如果數(shù)據(jù)窗口對應的數(shù)據(jù)表中定義了主鍵或者唯一性索引,則數(shù)據(jù)窗口創(chuàng)建時默認的就是允許修改,并且正確設置了所有的修改屬性。否則就需要手工進行設置。當增加、刪除、或者重新選擇了字段時,PB將數(shù)據(jù)窗口的的修改屬性為不允許,這時也應該進行手工設置。Allow Updates:允許更新。Table to Update:指定要被更新的表。Where Clause for Update/Delete:配置如何在Update和Delete SQL語句中構(gòu)造where子句1、Key Columns 當開發(fā)單用戶應用程序或者用戶都以加鎖方式訪問數(shù)據(jù)庫時可以選中該選項。該選項表示數(shù)據(jù)窗口只使用在“Unique Key Column”列表框中指定的唯一列進行數(shù)據(jù)更新。使用這種方式來修改數(shù)據(jù)庫,并發(fā)性很高,不同的用戶都可以并發(fā)地訪問數(shù)據(jù)庫,但是數(shù)據(jù)的完整性卻非常差。因此要保護數(shù)據(jù)完整性,只有在單用戶程序或者加鎖訪問方式下才使用這種修改方式。如:在add_book(通訊錄)數(shù)據(jù)表中定義了4個字段,id為主鍵,name,address,telephone三個字段為可修改字段,有如下一條數(shù)據(jù)(001,陳,杭州,1395813)。若想把name改為“萬”,數(shù)據(jù)窗口產(chǎn)生如下的update語句:update add_book set name = 萬 where id = 0012、Key and Updateable Columns 這種修改方式是默認的修改方式,它用主鍵列和可以修改的列來創(chuàng)建where子句,具有很高的數(shù)據(jù)完整性,但是并發(fā)性不是太好。推薦使用這種修改方式。保存數(shù)據(jù)時將產(chǎn)生如下的SQL語句:update add_book set name = 萬 where id = 001 and name = 陳 and address = 杭州 and telephone = 13958133、Key and Modified Columns 該方法是上面兩種方法的折中,當不同的用戶并發(fā)修改同一行數(shù)據(jù)的不同字段時,都能成功修改,所以它的并發(fā)性有了一定的限制,數(shù)據(jù)的完整性比第一種修改方式有所提高。這種修改方式使用主鍵和數(shù)據(jù)發(fā)生了變化的列來產(chǎn)生where子句。保存數(shù)據(jù)時產(chǎn)生如下的SQL語句:update add_book set name = 萬 where id = 001 and name = 陳Key Modification:該組框用來指定當用戶修改了主鍵時,數(shù)據(jù)窗口如何來更新數(shù)據(jù)表中的主鍵字段。有兩種選擇Use Delete then Insert和Use Update。第一個選項是先刪除原有的主鍵值,然后再使用新的主鍵值插入一個完整的行。使用這種更新主鍵的方式可以減少組織數(shù)據(jù)的工作量,但在數(shù)據(jù)庫中各個數(shù)據(jù)表之間存在父子制約關系,并且依賴該主鍵的外部鍵被指定為級聯(lián)刪除時,操作就不會成功的。因為級聯(lián)刪除方式要求當依賴主鍵的外部鍵有數(shù)據(jù)時就不能刪除主鍵。當DBMS允許更新主鍵列時,可以使用第二個選項,該選項直接修改主鍵值,所以防止了級聯(lián)刪除帶來的操作不成功的問題。Updateable Columns:指定被更新的字段。當數(shù)據(jù)窗口中的字段來自不止一個數(shù)據(jù)表時,這時一定要選擇同一個表中的字段,因為一個數(shù)據(jù)窗口一次只能更新一個數(shù)據(jù)表,當數(shù)據(jù)窗口中增添了字段時,新增添的字段往往是不允許修改的,一定要在該列表框中選擇該字段。Unique Key Column:選擇唯一標識一行的列。如果在定義數(shù)據(jù)表時定義了主鍵,單擊右面的“Primary Key”按鈕可以在該列表框中選中主鍵。Identity Column:該下拉列表框用于為下拉列表框中所指定的列(通常是主鍵列)生成序號,當且僅當DBMS支持序號生成時該作用才有效-數(shù)據(jù)窗口對象字段的修改屬性*相關屬性數(shù)據(jù)窗口中字段的相關屬性:1、字段的Tab Order值2、字段的Protect屬性3、字段的DisplayOnly屬性4、字段的Visible屬性 上述屬性前3個中任意一個都可以讓用戶無法修改字段中的數(shù)據(jù):最后一個屬性決定字段是否可見,不可見的字段不管其他屬性如何設置用戶都無法修改字段中的數(shù)據(jù)。 當字段的Tab Order值為0時,肯定不能獲得焦點,但是非0時也不一定能獲得焦點,還得看字段的Protect屬性是否設置為1;當字段的Tab Order值不為0,Protect屬性不為1并且字段的Visible屬性為True時,肯定可以獲得焦點。DisplayOnly屬性和焦點是否能夠獲得無關(即選中Displayonly時可以選中字段,可以復制,但不能更新)。*數(shù)據(jù)保護可以用以下三種方法將字段設置為用戶不可修改的字段:(1)在數(shù)據(jù)窗口設計時將這些字段的TabOrder值置為0,以使該字段不能獲得焦點,用戶無法選中和編輯該字段。(2)將字段的DisplayOnly屬性設置為True。該字段可以獲得焦點,可以選中該字段,還可以拷貝復制該字段的內(nèi)容,但不能編輯該字段中的內(nèi)容。(3)設置字段的Protect屬性。字段的Protect屬性如果設置為“1”,則該字段的TabOrder值即使不是0也不會得到焦點。使用該屬性可以保護一些重要的數(shù)據(jù)。-/數(shù)據(jù)窗口對象的字段操作-字段的編輯類型PB提供了六種編輯類型:1)Edit是字段的缺省編輯類型,可以用于所有類型的字段上。2)CheckBox編輯類型在這里是一種狀態(tài)選擇,可以為其規(guī)定選中和非選中狀態(tài)時的文字,當字段的輸入內(nèi)容非此即彼時,可以使用這種編輯類型。3)DropDownDW是一種用來限制用戶輸入數(shù)據(jù)的非常好的編輯方式,用戶只能通過選擇錄入數(shù)據(jù),并且選擇的數(shù)據(jù)來自其他數(shù)據(jù)窗口的某字段,從而可以確保數(shù)據(jù)的一致性和正確性。當錄入外部鍵時,經(jīng)常使用這種編輯類型。使用這種方式可以增強程序的適應性和靈活性。4)DropDownListBox在外觀上和DropDownDW類型相同,但它的數(shù)據(jù)不會發(fā)生變化,是固定的,適合用來錄入諸如學歷、省份、月份等范圍固定的數(shù)據(jù)項。5)EditMask經(jīng)常用來錄入整型或日期型數(shù)據(jù)。它底優(yōu)勢在于可以給用戶提供清晰的數(shù)據(jù)格式,對用戶的操作有很強的提示性;還可以為該編輯類型設置Spin,以便用鼠標單擊上下箭頭來增大或減小數(shù)據(jù)。6)Radio Buttons在錄入取值為比較小范圍內(nèi)的數(shù)據(jù)經(jīng)常使用,用戶使用鼠標進行選擇操作即可錄入數(shù)據(jù),操作比較方便。-字段的編輯格式1、Limit - 限制輸入長度可以規(guī)定在該字段中輸入的信息長度,缺省是字段在數(shù)據(jù)表中定義的長度。如果在數(shù)據(jù)窗口創(chuàng)建以后又添加了字段,這時缺省長度是0,這時用戶所能輸入的長度取決于編輯框的長度(如果沒有設置字段的AutoHorz Scroll屬性或者設置了該屬性并且Limit屬性為0,則用戶輸入的最大長度取決于編輯框所能接受的最大長度),應該手工修改其限制長度為字段在表中定義的長度。修改方法是,在字段屬性窗口的Edit頁Limited輸入框中輸入一個整數(shù)即可2、Display Only - 不允許用戶修改選中字段對應屬性窗口中的Display Only選項即可。在程序運行時,該字段中的內(nèi)容可以顯示,并且可以獲得焦點,但是用戶不能修改字段的內(nèi)容,從而起到保護數(shù)據(jù)的作用。建議使用這種方式來保護字段中的數(shù)據(jù),雖然不能編輯字段內(nèi)容,但可以選中并復制,比設置字段的Tab Order值有更多的靈活性3、Required - 必須輸入有些信息要求用戶必須輸入,這時可以選中字段的Required屬性。不輸入數(shù)據(jù)就無法離開該字段。4、Password - 密碼輸入選中字段屬性窗口中Edit頁上的Password屬性即可,字段上數(shù)據(jù)顯示為“*”號5、Format - 格式屬性視圖中Edit屬性頁中包含F(xiàn)ormat屬性,并且還有一個專門的Format屬性頁。Edit屬性頁的Format屬性可以設置字段編輯時的顯示格式,F(xiàn)ormat屬性頁中的Format設置字段不被編輯時的顯示格式。Format的設置:Numbers:可以使用“0”、“#”、“.”和一些算術符號來表示,使用保留字“general”或者“Currency”時,PB將使用操作系統(tǒng)的設置格式。關于操作系統(tǒng)的格式,Windows可以在控制面板的區(qū)域設置中修改。General 5 -5 0.50 5 -5 10.00 5.00 -5.00 0.50#,#0 5 -5 1#,#0.00 5.00 -5.00 0.50$#,#0;($#,#0) $5 ($5) $1$#,#0;-$#,#0 $5 -$5 $1$#,#0;RED($#,#0) $5 ($5) $1$#,#0.00;($#,#0.00) $5.00 ($5.00) $0.50$#,#0.00;RED($#,#0.00)$5.00 ($5.00) $0.500% 500% -500% 50%0.00% 500.00% -500.00% 50.00%0.00E+00 5.00E+00 -5.00E+00 5.00E-01Strings:可以用兩部分來表示該類型數(shù)據(jù)的顯示,前面是必需部分,后面是NULL時表示?!啊贝硪粋€字符。如:red()-Dates:使用幾個特定的字母代表特定的含義,它們的組合構(gòu)成Data類型的格式。d 表示天的數(shù)字,沒有前綴0 9dd 表示天的數(shù)字,有前綴0 09ddd 星期幾的英文縮寫 Mondddd 星期幾的英文全稱 Mondaym 沒有前綴0的月份 6mm 有前綴0的月份 06mmm 月份的英文縮寫 Junmmmm 月份的英文全稱 Juneyy 兩位數(shù)字表示的年份 97yyyy 四位數(shù)字表示的年份 1997兩位的年份如果小于50,PB則認為是21世紀;大于50則認為是20世紀。比如,“85”表示的年份PB認為是“1985”年;“40”表示的年份PB認為是“2040”。Times:使用幾個特定的字母代表特定的含義,它們的組合構(gòu)成Time類型的格式。h 沒有前綴0的表示小時的數(shù)字hh 有前綴0的表示小時的數(shù)字m 沒有前綴0的表示分鐘的數(shù)字,必須出現(xiàn)在h或者hh之后mm 有前綴0的表示分鐘的數(shù)字,必須出現(xiàn)在h或者hh之后s 沒有前綴0的表示秒的數(shù)字,必須出現(xiàn)在m或者mm之后ss 有前綴0的表示秒的數(shù)字,必須出現(xiàn)在m或者mm之后ffffff 沒有0前綴的毫秒,必須出現(xiàn)在s或者ss之后AM/PM 兩個大寫的縮寫字母,代表上午和下午am/pm 兩個小寫的縮寫字母,代表上午和下午A/P 一個大寫的縮寫字母,代表上午和下午a/p 一個小寫的縮寫字母,代表上午和下午6、Auto Selection - 自動選中當字段獲得焦點時,自動選中當前行字段中的內(nèi)容,這在需要刪除或者拷貝時用處比較大。選中字段對應屬性窗口中Edit頁上的auto selection即可。7、設置滾動條Auto Horz Scroll-自動橫向滾動Auto Vert Scroll-自動縱向滾動Horz Scroll Bar -橫向滾動條Vert Scroll Bar -縱向滾動條8、Use Code Table - 使用Code Table使用Code Table可以自動轉(zhuǎn)換用戶的輸入信息,也可以校驗用戶的輸入信息是否正確。a)選中字段的Use Code Table屬性b)在Code Table中定義代碼表,該輸入框中包括兩列,Display Value用來進行顯示,Data Value是和該顯示值對應的實際值,是保存在數(shù)據(jù)庫中的值。c)選中Validate選項,從而可以確保用戶的輸入必須是代碼表中定義了的,否則就出現(xiàn)報錯信息。9、Show Focus Rectangle - 顯示焦點邊框焦點邊框就是當字段獲得焦點時,在字段編輯框的周圍顯示一個矩形邊框,可以醒目地提醒用戶當前的輸入位置,這是一個比較好的界面,建議使用該屬性。選中字段對應屆性窗口Edit頁中的Show Focus Rectangle即可。Tabular默認選中10、Accelerator - 設置加速度可以為字段設置加速鍵,以便很快捷地定位到特定的字段上。只要在字段對應屬性窗口Edit頁的Accelerator編輯框中輸入字母或數(shù)字即可,只能輸入一個字符。加速鍵由Alt和所輸入的字母或數(shù)字構(gòu)成。程序運行時,使用加速鍵可以將焦點馬上轉(zhuǎn)移到有該加速鍵的字段上。11、Case - 選擇大小寫可以給字符型字段指定大寫、小寫、還是原樣顯示輸入內(nèi)容。在字段對應的屬性窗口Edit頁中的Case下拉列表框中選擇即可。Up代表始終大寫,Any代表原樣,Lower代表小寫。-增加和刪除字段進入數(shù)據(jù)窗口對象的SQL Select畫板后可以對字段進行以下三種操作:1、增加字段2、刪除字段3、重選字段。取消某字段,再重新選中該字段。這看起來好像沒有什么作用。實際上,這樣做可以同步數(shù)據(jù)窗口對象和數(shù)據(jù)表的定義。當創(chuàng)建了數(shù)據(jù)窗口后又修改了該數(shù)據(jù)窗口對象對應數(shù)據(jù)表中某字段的定義,例如,增加了字段的長度,這是應該保證字段和數(shù)據(jù)窗口中的定義一致,使用上面的方法就可以做到數(shù)據(jù)的一致*當添加字段時,PB不能正確設定新添加字段的默認屬性,必須認真檢查新添加的屬性,最重要的屬性是Limit的大小以及Show Focus Rectangle、Auto Selection和Auto Horz Scroll屬性是否選中。如果數(shù)據(jù)窗口對應的數(shù)據(jù)表中既沒有定義主鍵也沒有定義唯一性索引,并且數(shù)據(jù)窗口還是用來進行數(shù)據(jù)錄入的,這時不管是刪除了數(shù)據(jù)窗口中的字段或添加了字段,還是重新選擇了字段,都要仔細檢查并重新設置數(shù)據(jù)窗口的Update屬性了,如果數(shù)據(jù)表中定義了主鍵或者唯一性索引,就不用考慮這個問題了。-字段的顯示順序在大多數(shù)顯示樣式的數(shù)據(jù)窗口中都可以使用鼠標拖放直接改變字段的位置,惟獨grid類型的數(shù)據(jù)窗口在Design窗口中不能。解決方法是,在預覽窗口中拖動字段到適當?shù)奈恢?,Design窗口中的字段順序就會自動做相應的調(diào)整。 可以用字段名或者字段號來標識一個字段。例如,產(chǎn)生數(shù)據(jù)窗口的SQL語句是: select name,sex,address from addr_book; 在該數(shù)據(jù)窗口中,name和#1都是指同一個字段。顯示位置的調(diào)整不會影響字段號,字段號和產(chǎn)生數(shù)據(jù)窗口的SQL語句中字段的順序相對應,在SQL語句中,第一個字段對應的字段號為#1,依次增加一個。要調(diào)整字段號的順序,可以進入到SQL select畫板,取消所有字段,再按照正確的字段順序重新選擇字段;或者切換到語法狀態(tài),手工修改SQL語法中字段的順序。經(jīng)過這樣的調(diào)整后,可能字段在數(shù)據(jù)窗口中顯示的順序沒有變化,但是字段號卻進行了重新分配。因為在窗口腳本中引用數(shù)據(jù)窗口的數(shù)據(jù)時,有可能用到字段號,在數(shù)據(jù)窗口的計算域中也有可能用到字段號,所以要保證字段號正確設定,尤其是習慣使用字段號引用數(shù)據(jù)時。-/計算域是指在數(shù)據(jù)窗口的設計狀態(tài)下添加到數(shù)據(jù)窗口中的Computed Field部件,它是一個數(shù)據(jù)窗口部件,具有部件的屬性特征。計算字段是指在數(shù)據(jù)窗口對應的SQL語句中添加的表達式,計算字段是一個字段,它具有字段的屬性特征。它們的區(qū)別主要體現(xiàn)在腳本中。計算字段因為具有字段的特征,所以SetItem等對字段操作的函數(shù)可以用來操作計算字段而不能來操作計算域,當需要在程序中動態(tài)設置值時,就應該使用計算字段而不能使用計算域,典型情況是對計算出來的值進行誤差校正。這兩個對象都可以使用GetItem一類的函數(shù)來讀取取值。常用函數(shù):條件判斷If ( boolean, truevalue, falsevalue )Case ( column WHEN value1 THEN result1 WHEN value2 THEN result2 . ELSE resultelse )累積,(表格最右面一列各行是某列對應行前面所有行的累加和)CumulativeSum(columnfor range)其中,column是列名、列號,或者是由列名、列號、常量、運算符,甚至其他函數(shù)構(gòu)成的表達式,但取值必須是數(shù)值型的。For range是進行累積的范圍。大多數(shù)顯示樣式的數(shù)據(jù)窗口都可以使用如下內(nèi)容。All:缺省值,累積指定列的所有取值Group n:在指定的分組內(nèi)對指定字段進行累積運算。Group是保留字,n代表組號,如1。Page:在頁范圍內(nèi)進行累積運算。百分比Percent ( column FOR range DISTINCT expres1 , expres2 , . )Percent可以用來計算某字段在指定范圍內(nèi)當前行的取值占該范圍內(nèi)該字段累計和的比例。其中,column以及For range和上面CumulativeSum函數(shù)中的完全相同。選項DISTINCT用來指定只統(tǒng)計不相等的字段,表達式expresX是用來區(qū)分行是否相同的標準。該函數(shù)和表達式column/sum(column for range)是等價的。CumulativePercent(columnFOR range)用來計算當前的累積和占總和的比例其中的column和for range和上面的相同。該函數(shù)和下面的表達式是等價的:CumulativeSum(column for range)/sum(column for range)引用不同行的數(shù)據(jù)在數(shù)據(jù)窗口的表達式中,可以直接使用列名數(shù)組引用不同行的字段值,下標是一個相對數(shù),相對于當前行而言的。例如,假設在數(shù)據(jù)窗口中有一列名為

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論