



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——在PB中巧用下拉數(shù)據(jù)窗口在PB中巧用下拉數(shù)據(jù)窗口
PowerPB提供了下拉數(shù)據(jù)窗口(DropDownDataWindow),使數(shù)據(jù)窗口更靈活、更便利。在用數(shù)據(jù)窗口進(jìn)行數(shù)據(jù)錄入時(shí),經(jīng)常要用到代碼錄入,即對(duì)經(jīng)常輸入的某些值設(shè)置代碼,錄入時(shí)直接錄入代碼即可。例如,有兩個(gè)表,主表main_table和代碼表code_table,錄入時(shí)主表中需要代碼表中的數(shù)據(jù),但不允許錄入不在代碼表中的數(shù)據(jù)。下面介紹如何使用下拉數(shù)據(jù)窗口實(shí)現(xiàn)上述功能。
靜態(tài)設(shè)計(jì)下拉數(shù)據(jù)窗口
首先對(duì)主表和代碼表設(shè)計(jì)兩個(gè)數(shù)據(jù)窗口dw_main和dw_code,其中dw_main包括字段id、name、sex、city和unit;dw_code包括字段code和data。假設(shè)unit字段有幾個(gè)常用值可使用代碼錄入,則在設(shè)計(jì)dw_main時(shí),用鼠標(biāo)右鍵點(diǎn)擊字段unit,在下拉菜單中選擇Properties...(屬性),則系統(tǒng)會(huì)彈出unit列的屬性對(duì)話框;在其中選擇Edit(編輯)項(xiàng),并在Style(風(fēng)格)下拉列表框中選擇DropDownDW項(xiàng);然后在下面的Options(選項(xiàng))框中作具體的選項(xiàng)配置:在DataWindow下拉框中選擇已設(shè)計(jì)好的代碼數(shù)據(jù)窗口dw_code作為下拉數(shù)據(jù)窗口;在DisplayColumn(顯示列)下拉框中選擇code字段;在DataColumn(數(shù)據(jù)列)下拉框中選擇data字段,這表示顯示的是code字段的內(nèi)容,而實(shí)際存于表main_table中的是data字段的內(nèi)容。至此,數(shù)據(jù)窗口設(shè)計(jì)完畢。設(shè)計(jì)完數(shù)據(jù)窗口后,需要建立一個(gè)數(shù)據(jù)錄入的窗口(window),名字為w_input;在窗口w_input上建立一個(gè)數(shù)據(jù)窗口的控件dw_1,其屬性DataWindowObjectName設(shè)為dw_main,并在w_input的open事件中寫(xiě)入以下語(yǔ)句:dw_1.SetTransObject(SQLCA)dw_1.Retrieve()
這樣,在執(zhí)行此窗口時(shí),在unit字段上就會(huì)出現(xiàn)一個(gè)下拉列表框,列出了表code_table中所有的內(nèi)容,用戶可以用鼠標(biāo)選擇錄入。
動(dòng)態(tài)改變SQL語(yǔ)句在上面的例子中,假使表main_table中的字段city也需要代碼錄入,則還需為city字段新建一個(gè)表,這樣很麻煩,由于有幾個(gè)字段需要代碼,就需有幾個(gè)表與之對(duì)應(yīng)。我們可利用下拉數(shù)據(jù)窗口的一些特點(diǎn)來(lái)解決這一問(wèn)題??梢韵鄳?yīng)地修改表code_table的結(jié)構(gòu),加一個(gè)字段field(char(30)),以存儲(chǔ)需要代碼的字段名,這樣,就可利用SQL語(yǔ)句對(duì)之進(jìn)行檢索,以得到某字段的所有代碼。具體實(shí)現(xiàn)如下:重新設(shè)計(jì)數(shù)據(jù)窗口dw_code,把field字段加上并使它不可見(jiàn)(由于用戶不需要見(jiàn)到該字段的內(nèi)容),數(shù)據(jù)窗口dw_main和窗口w_input的設(shè)置同上,只是在數(shù)據(jù)窗口dw_1中需要進(jìn)行一些編程。在ItemFocusChanged事件中,參與如下代碼:Stringls_sqlIntegerrtncode
DataWindowChildfield_child
//dwo為該事件的參數(shù),其name屬性的值表示獲得焦點(diǎn)的字段名ChooseCaselower()Case‘city'//city字段獲得焦點(diǎn)
//獲得city字段下拉數(shù)據(jù)窗口的句柄
rtncode=dw_1.GetChild(\
Ifrtncode=-1ThenMessageBox(\//設(shè)置事務(wù)對(duì)象
field_child.SetTransObject(SQLCA)//獲得下拉數(shù)據(jù)窗口的SQL語(yǔ)句ls_sql=field_child.GetSQLSelect()//重新設(shè)置SQL語(yǔ)句,加上Where條件
ls_sql=ls_sql+\field_child.SetSQLSelect(ls_sql)//取得滿足條件的數(shù)據(jù)field_child.Retrieve()Case‘unit'unit字段獲得焦點(diǎn)
//獲得unit字段下拉數(shù)據(jù)窗口的句柄
rtncode=dw_1.GetChild(\……(此處編程同上)EndChoose
動(dòng)態(tài)設(shè)置取值參數(shù)上例中采用動(dòng)態(tài)改變SQL語(yǔ)句,其實(shí),下拉數(shù)據(jù)窗口有一種更簡(jiǎn)單的方法就是設(shè)置取值參數(shù)(RetrievalArguments),但這種方法適合從固定表中取數(shù)據(jù),假使是從動(dòng)態(tài)表(即表名不固定)中取數(shù)據(jù),則只能通過(guò)改變SQL語(yǔ)句來(lái)實(shí)現(xiàn)。
修改數(shù)據(jù)窗口dw_code,在圖形方式下,選擇Design菜單下的RetrievalArguments…,設(shè)置取值參數(shù)的類型為String,名字可任取,假設(shè)為field_data。然后在窗口下面的Where標(biāo)簽中選擇Column為\為\為取值參數(shù)的值:field_data(變量名前加冒號(hào)表示該變量的值),至此,取值參數(shù)設(shè)置完畢。同上例,也需要在窗口w_input中的數(shù)據(jù)窗口控件dw_1中的ItemFocusChanged事件中進(jìn)行如下編程:Integerrtncode
DataWindowChildfield_child
//dwo為該事件的參數(shù),其name屬性的值表示獲得焦點(diǎn)的字段名ChooseCaselower()Case‘city'//city字段獲得焦點(diǎn)//獲得city字段下拉數(shù)據(jù)窗口的句柄
rtncode=dw_1.GetChild(\
Ifrtncode=-1ThenMessageBox(\//設(shè)置事務(wù)對(duì)象
field
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人力資源管理概述
- 大就業(yè)安全教育
- 2025年版企業(yè)股權(quán)轉(zhuǎn)讓合同范本
- 2025標(biāo)準(zhǔn)版廣告合同(雜志上投放)
- 2025企業(yè)經(jīng)營(yíng)保證貸款合同
- 品牌管理與保護(hù)操作手冊(cè)
- 就業(yè)協(xié)議書(shū)模板在找
- 2025《合同管理與招投標(biāo)策略》工程管理專業(yè)講義
- 智能制造系統(tǒng)集成知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春上海電機(jī)學(xué)院
- 中國(guó)當(dāng)代文學(xué)知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春鶴崗師范高等??茖W(xué)校
- 班主任培訓(xùn)課件如何開(kāi)好家長(zhǎng)會(huì)學(xué)習(xí)資料
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目申報(bào)書(shū)(模板)
- 爭(zhēng)做最美班級(jí)主題班會(huì)課件
- 鐵路職工政治理論應(yīng)知應(yīng)會(huì)題庫(kù)
- 2020年交安A、B、C證(公路)考試題庫(kù)1088題(含答案)
- 墻繪驗(yàn)收單模板
- 節(jié)后復(fù)工檢查表
- 財(cái)務(wù)有哪些制度要上墻
- 醫(yī)學(xué)教學(xué)課件:軟組織腫瘤影像診斷
- 礦山礦石損失與貧化管理規(guī)程
- 安全生產(chǎn)晨會(huì)管理制度
評(píng)論
0/150
提交評(píng)論