《數(shù)據(jù)庫(kù)表單的創(chuàng)建》PPT課件.ppt_第1頁(yè)
《數(shù)據(jù)庫(kù)表單的創(chuàng)建》PPT課件.ppt_第2頁(yè)
《數(shù)據(jù)庫(kù)表單的創(chuàng)建》PPT課件.ppt_第3頁(yè)
《數(shù)據(jù)庫(kù)表單的創(chuàng)建》PPT課件.ppt_第4頁(yè)
《數(shù)據(jù)庫(kù)表單的創(chuàng)建》PPT課件.ppt_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第11章 表單設(shè)計(jì)與應(yīng)用,學(xué)習(xí)目標(biāo),掌握表單的創(chuàng)建與運(yùn)行 掌握表單的操作 掌握表單中常用控件 標(biāo)簽、命令按鈕、文本框、編輯框、列表框、組合框、表格,11.1 表單的建立與運(yùn)行,創(chuàng)建表單的過程,就是定義控件的屬性,確定事件或方法、代碼的過程。 表單就是一個(gè)容器,它可以容納多個(gè)控件。 11.1.2 用表單設(shè)計(jì)器創(chuàng)建表單 Create form 文件/新建/表單/新建文件,11.1 表單的建立與運(yùn)行,2.表單設(shè)計(jì)器環(huán)境 (1)屬性窗口 表單及其控件均稱為對(duì)象,每個(gè)對(duì)象都有自己屬性,事件和方法。 有的屬性值可以在設(shè)置框中輸入,有的需要從系統(tǒng)所提供的一組屬性值中指定 有的屬性是只讀的,用戶不能修改,斜體

2、顯示 要為屬性設(shè)置一個(gè)字符值,可以在設(shè)置框中直接輸入,不要加定界符。,11.1 表單的建立與運(yùn)行,(2)表單控件工具欄 要求會(huì)使用的控件: 標(biāo)簽、文本框、編輯框、命令按鈕、組合框、列表框和表格 (3)表單設(shè)計(jì)器工具欄 (4)表單菜單 表單中的對(duì)象設(shè)計(jì)過程: 向表單添加控件-設(shè)置屬性-設(shè)計(jì)代碼,11.1.3 表單的運(yùn)行,有2種方法可以運(yùn)行表單: (1)直接使用命令 DO FORM 表單名 (2)在表單設(shè)計(jì)器窗口,選擇“表單”菜單中的“運(yùn) 行”命令,或直接單擊工具欄中的紅色驚嘆號(hào)。 保存表單時(shí),表單將被保存為一個(gè)表單文件(擴(kuò)展名是.scx)和一個(gè)表單備注文件(擴(kuò)展名是.sct)(P196),11.

3、2 表單的操作,11.2.1表單的屬性 1.常用表單屬性 表單屬性很多,但絕大多數(shù)很少用到。 表11.3中列出了有關(guān)表單的一些重要屬性,這些屬性規(guī)定了表單的外觀和行為,經(jīng)常在表單設(shè)計(jì)時(shí)用到。 請(qǐng)大家參考表11.3。,事件:一種系統(tǒng)預(yù)先定義而由用戶或系統(tǒng)發(fā)出的動(dòng)作 2.表單事件 以下3個(gè)事件用于表單和表單集: (1)Load事件:該事件代碼從表單裝入內(nèi)存至表單被釋放期間僅被運(yùn)行一次。 (2)UnLoad事件:在表單被釋放時(shí)發(fā)生,是釋放表單或表單集的最后一個(gè)事件。 (3)Activate事件:常用設(shè)置表單上控件的初值和初始屬性。,11.2.2 常用事件與方法,3.鼠標(biāo)事件 Click事件:鼠標(biāo)左鍵

4、單擊對(duì)象時(shí)發(fā)生的事件。 4.鍵盤事件 InteractiveChange事件。 7.常用方法 Release方法:從內(nèi)存中釋放表單 Refresh方法:刷新表單數(shù)據(jù),11.3 常用表單控件,11.3.1 添加表單控件 表單中添加什么樣的控件是根據(jù)需求決定的,一旦確定了控件的類型,就要定義控件的屬性、確定事件和方法代碼。,11.3.2 表單控件及其屬性 1標(biāo)簽控件(Label) “標(biāo)簽”控件是按一定格式顯示在表單上的文本信息,用來(lái)顯示表單中各種說明和提示信息。一旦“標(biāo)簽”控件的屬性、事件和方法被定義,輸出信息將根據(jù)這些定義,按指定的格式輸出。 “標(biāo)簽”控件的屬性主要包括:Caption,Name

5、,F(xiàn)ontName,F(xiàn)ontSize,例11.3 表單中有3個(gè)標(biāo)簽。當(dāng)鼠標(biāo)單擊任何一個(gè)標(biāo)簽時(shí),其他兩個(gè)標(biāo)簽的標(biāo)題文本互換。 T=thisform.label2.caption Thisform.label.caption=thisform.label3.caption Thisform.label.captio=T,11.3.2 命令按鈕控件 “命令按鈕”控件主要用來(lái)控制程序的執(zhí)行過程,以及對(duì)表中數(shù)據(jù)的操作等。 “命令按鈕”控件的屬性主要包括:caption,name “命令按鈕”控件的事件:click,11.3.3 文本框控件 “文本框”控件主要用于表中非備注型和通用型字段值的輸入、輸出,以

6、及內(nèi)存變量賦值和輸出等操作。 “文本框”控件與“標(biāo)簽”控件最主要的區(qū)別在于它們使用的數(shù)據(jù)源是不同的。 常用屬性:Value, ControlSource,“標(biāo)簽”控件的數(shù)據(jù)源來(lái)自于其“Caption”屬性,“文本框”控件的數(shù)據(jù)源來(lái)自于其“ControlSource”屬性,可以是表中的非備注型、通用型字段和內(nèi)存變量。 “文本框”控件的屬性主要包括:“文本框”的大小,“文本框”中輸入、輸出信息字體的大小、風(fēng)格和顏色等。,11.3.3 編輯框控件 和文本框相似,也是用來(lái)輸入用戶的數(shù)據(jù),但編輯框的內(nèi)容只能是文本數(shù)據(jù)。 例子11.4 求100到1000間能被37整除的數(shù)。要求在編輯框中顯示輸出結(jié)果,并通

7、過命令按鈕來(lái)控制輸出。,k=0 for x=100 to 1000 if x%37=0 thisform.edit1.value=thisform.edit1.value+str(x,5) k=k+1 if k%5=0 thisform.edit1.value=thisform.edit1.value+chr(13) endif endif endfor,11.3.6 列表框與組合框控件 列表框(listbox)控件提供一組選項(xiàng),用戶可以從中選擇一個(gè)或者多個(gè)選項(xiàng)。 列表框顯示其中的若干選項(xiàng),用戶可以通過滾動(dòng)條瀏覽其他選項(xiàng)。 要求掌握的屬性: ControlSource、RowSource、Ro

8、wSourceType 常用方法: AddItem:給RowSourceType屬性為0的列表添加一項(xiàng)。 RemoveItem:從RowSourceType屬性為0的列表刪除一項(xiàng)。 Requery:當(dāng)RowSource中的值改變時(shí)更新列表。,11.3.6 列表框與組合框控件 “組合框”控件由一個(gè)列表框和一個(gè)編輯框組成。 兩種類型: 1、下拉組合框style屬性為0的組合框 可以通過滾動(dòng)條查看也可以在框中直接輸入查看 2、下拉列表框style屬性為2的組合框 只能通過滾動(dòng)條查看,任意時(shí)刻只能看見一項(xiàng),11.3.7 表格控件(Grid) 表格是一個(gè)容器對(duì)象,包含列(Column)。 每個(gè)列對(duì)象包含

9、一個(gè)標(biāo)頭(Header)和若干控件。 “表格”控件的主要屬性是:Columncount,用來(lái)定義表格的列數(shù)。 標(biāo)頭的主要屬性:Caption,C2-類型1-(帶有通項(xiàng)公式的計(jì)算) 設(shè)計(jì)表單form1,表單中有命令按鈕command1和編輯框edit1,單擊命令按鈕時(shí)將計(jì)算下面數(shù)列前n項(xiàng)(設(shè)n=50)中偶數(shù)項(xiàng)的和(結(jié)果取4位小數(shù)),并將結(jié)果顯示在edit1中。 1/(123),1/(234),1/(345),1/(n(n+1)(n+2), 結(jié)果:0.0568,做題思路: 1、如有前n項(xiàng),使用for 循環(huán),無(wú)用 do while循環(huán); 2、賦初值; 3、循環(huán):for 或do while; 4、循環(huán)

10、體內(nèi)使用通項(xiàng)公式進(jìn)行計(jì)算; 5、將最終的計(jì)算結(jié)果放在輸出的控件中。,C2-類型2-(計(jì)算字母的ASCII碼值) 設(shè)計(jì)表單form1,表單中有命令按鈕command1、一個(gè)編輯框edit1和一個(gè)文本框text1,在edit1中輸入下面內(nèi)容:“The authors would like to sincerely thank series editor David Chappellfor his invaluable assistance in reviewing several early drafts of the manuscript and providing unwavering cla

11、rity and vision during major rewrites to guide the book toward its current form. We would also like to thank Rich Bonneau for his help during the initial planning stages.”, 單擊命令按鈕統(tǒng)計(jì)滿足下面條件的字符的ASCII碼值的和:字符的ASCII碼值能被3整除;并將結(jié)果顯示在text1中。注意:內(nèi)容中不包含任意回車換行符。,做題思路: 1、字符串賦給一變量; 2、取字符串變量的長(zhǎng)度,即字符總個(gè)數(shù); 3、變量賦初值; 4、fo

12、r或 do while 循環(huán) 5、在循環(huán)體內(nèi),用substr()函數(shù)取單個(gè)字符; 6、循環(huán)體內(nèi)用單個(gè)字符的ASCII碼值進(jìn)行累加或累乘計(jì)算; 7、將最終的結(jié)果放在表單上指定的控件上輸出。,C2-類型2-(數(shù)字字符串的計(jì)算) 設(shè)計(jì)表單form1,表單中有命令按鈕command1、兩個(gè)編輯框edit1和edit2,在edit1中輸內(nèi)容:54636346342421439843 9583252341243452350932059549786546845684509345348 36834680346658934989543438943943468328943872338496834967834863

13、06830669343954359309346834893436438683496346346348765324234234235459487634534345345324 345634634631513534534634323867867846474,單擊按鈕分別統(tǒng)計(jì)出1、2和3在上面字符串中出現(xiàn)的次數(shù),并將統(tǒng)計(jì)結(jié)果分三行顯示在edit2中。 結(jié)果:4 15 60,做題思路: 1、字符串賦給一變量; 2、取字符串變量的長(zhǎng)度,即字符總個(gè)數(shù); 3、變量賦初值; 4、for或 do while 循環(huán) 5、在循環(huán)體內(nèi),用substr()函數(shù)取單個(gè)字符,并轉(zhuǎn)換成數(shù)值類型; 6、循環(huán)體內(nèi)用轉(zhuǎn)換后的數(shù)值進(jìn)

14、行累加或累乘計(jì)算; 7、將最終的結(jié)果放在表單上指定的控件上輸出。,設(shè)計(jì)表單form1,表單中有命令按鈕command1和兩個(gè)文本框text1及text2,在text1中輸入字符串How and why Web services provide the ideal foundation for SOA, 單擊命令按鈕計(jì)算該字符串奇數(shù)位置中每個(gè)字符的ASCII碼值的和,即H、W、a等,并將結(jié)果顯示在text2框中。 結(jié)果:2906,C2-類型2-例4,幾點(diǎn)有用的規(guī)律,1.文本框的value屬性可以是文本也可以是數(shù)值 2.編輯框的value屬性只能是文本 3.向列表框list或者組合框combo顯示

15、內(nèi)容,需要用additem方法,其格式為: Thisform.list1.additem(添加內(nèi)容) Tbo1.additem(添加內(nèi)容) 其中,添加內(nèi)容必須是文本格式,若不是請(qǐng)進(jìn)行轉(zhuǎn)換 4.將結(jié)果顯示在文本框或者是編輯框中,可以表示為: Thisform.text1.value=內(nèi)容 Thisform.edit1.value=內(nèi)容(必須是文本) 5.將結(jié)果顯示在標(biāo)簽label中,可以表示為: Thisform.label1.caption=內(nèi)容(必須是文本) 6.單擊命令按鈕退出,使用如下代碼:thisform.release,有關(guān)日期的函數(shù) Ctod 將字符串轉(zhuǎn)換成日期 Dtoc 將日期轉(zhuǎn)

16、換為字符串 set century on Set date to ymd Set stri to 0 Dow(日期表達(dá)式):返回每周的第幾天,即星期幾 Cdow(日期表達(dá)式):返回英文星期幾 將數(shù)值轉(zhuǎn)換成字符串函數(shù):str STR(數(shù)值型表達(dá)式1,數(shù)值型表達(dá)式2,數(shù)值型表達(dá)式3 ) 功能:將表達(dá)式1的值轉(zhuǎn)換成字符串,轉(zhuǎn)換成字符串的長(zhǎng)度 由表達(dá)式2決定,保留的小數(shù)位數(shù)由表達(dá)式3決定。 省略表達(dá)式3時(shí),轉(zhuǎn)換后無(wú)小數(shù)部分;省略表達(dá)式2和表達(dá)式3時(shí),字符串長(zhǎng)度為10,無(wú)小數(shù)部分,C2-類型3-日期 設(shè)計(jì)表單form1,表單中有命令按鈕command1、一個(gè)文本框text1和一個(gè)組合框combo1, 單

17、擊命令按鈕將1910年到2254年間的國(guó)慶節(jié)添加到combo1中,然后計(jì)算出1910年到2254年間的每個(gè)國(guó)慶節(jié)是星期日的次數(shù),并將計(jì)算結(jié)果顯示在text1中。 參考答案:49,set cent on set date to ymd set stri to 0 n=0 for i=1910 to 2254 d=str(i)+/10/01 bo1.additem(alltrim(d) t=ctod(alltrim(d) xq=cdow(t) if xq=Sunday |if cdow(ctod(alltrim(d)=“Sunday” n=n+1 endif Endfor thisform.tex

18、t1.value=n,做題思路: 1、三個(gè)set 設(shè)置語(yǔ)句; 2、賦初始值; 3、for 循環(huán) 4、將數(shù)值型的年份用str()函數(shù)進(jìn)行轉(zhuǎn)換,再加上 表示月和日的字符串; 5、將字符串日期轉(zhuǎn)變成日期用ctod()函數(shù); 6、判斷日期為星期幾,用函數(shù)dow()或cdow(); 7、將最終的結(jié)果在指定的控件上顯示輸出。,c2-類型3-日期 設(shè)計(jì)表單form1,表單中有命令按鈕command1、一個(gè)文本框text1和一個(gè)列表框list1, 單擊命令按鈕將1800年到1900年間的元旦日添加到list1中,然后利用函數(shù)計(jì)算出1800年到1900年間的每個(gè)元旦日是星期幾,并將該函數(shù)值累加,將計(jì)算結(jié)果顯示在

19、text1中。 參考答案:403,set century on set date to ymd Set stri to 0 (p37) n=0 for i=1800 to 1900 d=str(i)+/01/01 thisform.list1.additem(alltrim(d) dd=ctod(d) n=n+dow(dd) |n=n + dow( ctod(d) ) endfor thisform.text1.value=n,C4-例1(將用到的表及建立的數(shù)據(jù)庫(kù)、表單放在同一個(gè)文件夾下),現(xiàn)有兩個(gè)自由表和,將兩文件下載到你的考試文件夾,然后按下面要求完成程序設(shè)計(jì): 1. 建立一個(gè)數(shù)據(jù)庫(kù)stu

20、data,并將上面兩個(gè)自由表添加到數(shù)據(jù)庫(kù)中;以學(xué)號(hào)(xuehao)為主關(guān)鍵字建立student和score1兩表之間的關(guān)聯(lián),student為父表。 2. 設(shè)計(jì)一個(gè)表單,以studata中的兩個(gè)表作為表單的數(shù)據(jù)環(huán)境,在表單中添加一個(gè)命令按鈕 command1和一個(gè)標(biāo)簽label1。 command1的標(biāo)題為“最高平均分”。,3. 單擊command1按鈕求出所有學(xué)生中平均分最高的學(xué)號(hào)和平均分,并將它們分兩行顯示在label1中。成績(jī)字段名為chengji。平均分是指每個(gè)學(xué)生所有課程的平均分。 select xuehao, avg(chengji) as che from score1 group

21、 by xuehao order by che desc into cursor dc thisform.label1.caption=thisform.label1.caption+xuehao+chr(13)+str(che) 656566 96,現(xiàn)有兩個(gè)自由表和,先將兩文件下載到你的考試文件夾,然后按下面要求完成程序設(shè)計(jì): 1. 建立一個(gè)數(shù)據(jù)庫(kù)scoredata,并將上面兩個(gè)自由表添加到數(shù)據(jù)庫(kù)中;以學(xué)號(hào)(xuehao)為主關(guān)鍵字建立兩表之間的關(guān)聯(lián),score3為父表。 2. 設(shè)計(jì)一個(gè)表單,以scoredata作為表單的數(shù)據(jù)環(huán)境,在表單中添加一個(gè)命令按鈕command1和 一個(gè)編輯框edi

22、t1。 command1的標(biāo)題為“至少一門及格人的最高助學(xué)金”。,C4-9(至少一門不少于某一分?jǐn)?shù)類),3. 單擊command1按鈕將統(tǒng)計(jì)四門成績(jī)至少有一門不小于60的人的最高助學(xué)金(zhuxuejin),并將它顯示在edit1中。四門課程成績(jī)字段名分別為cj1、cj2、cj3和cj4。 select max(zhuxuejin) as m from score3,score4 where (score3.cj1=60 or score3.cj2=60 or score4.cj3=60 or score4.cj4=60 ) and score3.xuehao=score4.xuehao in

23、to cursor s thisform.edit1.value=str(s.m) 996,現(xiàn)有兩個(gè)自由表和,先將兩文件下載到你的考試文件夾,然后按下面要求完成程序設(shè)計(jì): 1. 建立一個(gè)數(shù)據(jù)庫(kù)scoredata,并將上面兩個(gè)自由表添加到數(shù)據(jù)庫(kù)中;以學(xué)號(hào)(xuehao)為主關(guān)鍵字 建立兩表之間的關(guān)聯(lián),score3為父表。 2. 設(shè)計(jì)一個(gè)表單,以scoredata作為表單的數(shù)據(jù)環(huán)境,在表單中添加一個(gè)命令按鈕command1和一個(gè)組合框combo1。 command1的標(biāo)題為“男生全及格人數(shù)”。,C4-9(均不少于某一分?jǐn)?shù)類),3. 單擊command1按鈕將統(tǒng)計(jì)每個(gè)年級(jí)(2002-2005)男生(

24、xingbie為真)中四門成績(jī)均不小于60的人數(shù),并將它們顯示在combo1中。四門課程成績(jī)字段名分別為cj1、cj2、cj3和cj4。年級(jí)字段名為nianji。 select count(*) as a from score3,score4 where score3.xuehao=score4.xuehao and score3.cj1=60 and score3.cj2=60 and score4.cj3=60 and score4.cj4=60 and xingbie=.t. and nianji=2002 into cursor t1 bo1.additem(str(t1.a) sel

25、ect count(*) as a from score3,score4 where score3.xuehao=score4.xuehao and score3.cj1=60 and score3.cj2=60 and score4.cj3=60 and score4.cj4=60 and xingbie=.t. and nianji=2003 into cursor t2 bo1.additem(str(t2.a),select count(*) as a from score3,score4 where score3.xuehao=score4.xuehao and score3.cj1

26、=60 and score3.cj2=60 and score4.cj3=60 and score4.cj4=60 and xingbie=.t. and nianji=2004 into cursor t3 bo1.additem(str(t3.a) select count(*) as a from score3,score4 where score3.xuehao=score4.xuehao and score3.cj1=60 and score3.cj2=60 and score4.cj3=60 and score4.cj4=60 and xingbie=.t. and nianji=

27、2005 into cursor t4 bo1.additem(str(t4.a) 2002(8) 2003(12) 2004(11) 2005(6),C4-4(學(xué)號(hào)中含有某些數(shù)字類),現(xiàn)有兩個(gè)自由表和,按下面要求完成程序設(shè)計(jì): 1. 建立一個(gè)數(shù)據(jù)庫(kù)studata,并將上面兩個(gè)自由表添加到數(shù)據(jù)庫(kù)中;以學(xué)號(hào)(xuehao)為主關(guān)鍵字 建立student和score1兩表之間的關(guān)聯(lián),student為父表。 2. 設(shè)計(jì)一個(gè)表單,以studata中的兩個(gè)表作為表單的數(shù)據(jù)環(huán)境,在表單中添加一個(gè)命令按鈕 command1和一個(gè)編輯框edit1,command1的標(biāo)題為“含4和5平均分”。,3. 單擊com

28、mand1按鈕求出學(xué)號(hào)中同時(shí)含有4和5的所有學(xué)生中的平均分最低的姓名和平均分,并將它們顯示在edit1中。成績(jī)字段名為chengji。 平均分是指每個(gè)學(xué)生所選各門課程的平均分。 select avg(score1.chengji) as ch,student.xingming from student,score1 where student.xuehao like %4% and student.xuehao like %5% and student.xuehao = score1.xuehao group by score1.xuehao order by ch into cursor t

29、2 thisform.edit1.value=xingming+chr(13)+str(ch,10,2) 569084 楊中國(guó) 68,在做題之前,應(yīng)對(duì)題中所用到表有所熟悉:自由表t3.dbf 包含如下字段: bianhao字符型,寬度8 xingming字符型,寬度8 mima字符型,寬度6 chusny日期型,寬度8 gongzsj日期型,寬度8 hunfo邏輯型,寬度1 jiangjin數(shù)值型,寬度7,小數(shù)位數(shù)2 gongzi數(shù)值型,寬度7,小數(shù)位數(shù)2,注:做題之前要設(shè)置默認(rèn)目錄(將所做好的表單文件及表文件都放在該文件夾下),請(qǐng)將自由表下載到你的考試文件夾中,并按下面的要求完成程序設(shè)計(jì):

30、1. 設(shè)計(jì)一個(gè)表單,表單的標(biāo)題為“最大年齡人數(shù)和編號(hào)查詢”,名稱為tjform,表單中有三個(gè)命令按鈕 和三個(gè)編輯框edit1、edit2和edit3 ,三個(gè)按鈕的標(biāo)題分別為“編號(hào)查詢”,“最大年齡人數(shù)”和 “退出”。 2. 在edit1中輸入編號(hào)(bianhao),單擊“編號(hào)查詢”按鈕將在文本框edit2中顯示該編號(hào)的姓名(xingming)。 如果沒有找到該編號(hào),將在edit2中顯示NO FOUND。 3. 單擊“最大年齡人數(shù)”按鈕統(tǒng)計(jì)出年齡等于所有記錄最大年齡的記錄個(gè)數(shù),并將它顯示在文本框edit3中。 (注:年齡=2005出生年份+1,出生年月字段為chusny)。 4. 單擊“退出”按

31、鈕將關(guān)閉表單。,C3-例題1(查找姓名或編號(hào)類),編號(hào)查詢按鈕代碼:,a=alltrim(thisform.edit1.value) use t3 locate for bianhao=a if found() thisform.edit2.value=xingming else thisform.edit2.value=No Found! endif use,最大年齡按鈕代碼:,select count(*) as a1 from t3 where 2005-year(chusny)+1=(select max(2005-year(chusny)+1)from t3) into cursor

32、 t1 thisform.edit3.value=str(t1.a1) close all,退出按鈕代碼: Thisform.release,現(xiàn)有自由表, 按下面要求完成程序設(shè)計(jì): 1. 設(shè)計(jì)一個(gè)表單,表單的標(biāo)題為“密碼處理”,名稱為tjform,表單中有三個(gè)命令按鈕和兩個(gè)標(biāo)簽, 三個(gè)按鈕的標(biāo)題分別為“處理密碼”,“最高位統(tǒng)計(jì)”和“退出”。 2. 單擊“處理密碼”按鈕將每個(gè)記錄的密碼(mima)最左邊的位加1(如果加1后大于9,則取9),其它位不變,并將處理后密碼寫入表中。 update t3 set mima=; str(val(substr(mima,1,1)+1,1)+substr(mi

33、ma,2,5); where substr(mima,1,1)!=9“ ( 注意:在調(diào)試之前必須將t3.DBF文件備份,因?yàn)槊看握{(diào)試可能要改變?cè)急碇械臄?shù)據(jù))。結(jié)果:667 9,C3-例2(密碼類型題),3. 單擊“最高位統(tǒng)計(jì)”按鈕將統(tǒng)計(jì)所有記錄的密碼中最左邊數(shù)字的和以及它們中的最大值,并將結(jié)果分別顯示在兩個(gè)標(biāo)簽中。 select sum(val(substr(mima,1,1) as he, max(val(substr(mima,1,1) as zuida from t3 into cursor t31 thisform.label1.caption=str(he,10) thisform

34、.label2.caption=str(zuida,1) 4. 單擊“退出”按鈕將關(guān)閉表單。 thisform.release,請(qǐng)將自由表下載到你的考試文件夾中,并按下面的要求完成程序設(shè)計(jì): 1. 設(shè)計(jì)一個(gè)表單,表單的標(biāo)題為“顯示姓名和統(tǒng)計(jì)”,名稱為tjform,表單中有三個(gè)命令按鈕、 兩個(gè)列表框list1和list2,一個(gè)文本框text1,三個(gè)按鈕的標(biāo)題分別為“顯示姓名”,“統(tǒng)計(jì)”和“退出”。 2. 單擊“顯示姓名”按鈕將所有記錄的姓名(xingming)添加到list1中。 use t3 do while .not. eof() thisform.list1.additem(xingmin

35、g) skip enddo use,C3-例3(添加姓名與日期統(tǒng)計(jì)類型題),3. 單擊“統(tǒng)計(jì)”按鈕統(tǒng)計(jì)出參加工作時(shí)間(gongzsj與出生日期(chusny)均為星期一的人數(shù),將人數(shù)顯示在text1中,并將他們的記錄號(hào)分別顯示在list2中。 n=0 use t3 do while .not. eof() if cdow(gongzsj)=Monday and cdow(chusny)=Monday n=n+1 thisform.list2.additem(str(recno() endif skip enddo thisform.text1.value=str(n) close all,C3

36、-14(“下一個(gè)”按鈕類型題),請(qǐng)將自由表下載到你的考試文件夾中,并按下面的要求完成程序設(shè)計(jì): 1. 設(shè)計(jì)一個(gè)表單,表單的標(biāo)題為“等于平均人數(shù)和瀏覽”,名稱為tjform,表單中有三個(gè)按鈕、一個(gè)組合框和一個(gè)文本框,三個(gè)按鈕的標(biāo)題分別為“下一個(gè)”,“等于平均”和“退出”。 2. 單擊“下一個(gè)”按鈕將在組合框中添加下一個(gè)記錄的姓名(xingming)。如果到表尾,將添加第一個(gè)記錄中的姓名。 設(shè)置表單的load事件:use t3 skip thisform.list1.additem(xingming) if eof() go top thisform.list1.additem(xingming)

37、 endif thisform.refresh,3. 單擊“大于平均年齡”按鈕統(tǒng)計(jì)出年齡等于所有記錄平均年齡的記錄個(gè)數(shù),并將它顯示在文本框中。 (注:年齡=2005出生年份+1, 出生年月字段為chusny)。 select avg(2005-year(chusny)+1) as a from t3 into cursor t4 select count(*) as m from t3 where 2005-year(chusny)+1t4.a into cursor t5 thisform.text1.value=str(t5.m) 4. 單擊“退出”按鈕將關(guān)閉表單。 thisform.re

38、lease,C3-17(表格類型題),請(qǐng)將自由表下載到你的考試文件夾中,并按下面的要求完成程序設(shè)計(jì): 1. 設(shè)計(jì)一個(gè)表單,表單的標(biāo)題為“統(tǒng)計(jì)年齡和查詢”,名稱為tjform, 表單中有三個(gè)命令按鈕、一個(gè) 文本框和一個(gè)窗格(grid),三個(gè)按鈕的標(biāo)題分別為“查詢”,“統(tǒng)計(jì)年齡”和“退出”。 2. 單擊“查詢”按鈕將在窗格中顯示所有工資(gongzi)不大于1330的記錄,窗格中顯示編號(hào)(bianhao)、 姓名(xingming)、出生年月(chusny)和工資(gongzi)。 設(shè)置grid的屬性:ColumnCount=4 RecordSourceType=4-SQL說明 1 thisfor

39、m.grid1.recordsource=select bianhao,xingming,chusny from t3 where gongzi=1330 into cursor t4 2 close all,3. 單擊“統(tǒng)計(jì)年齡”按鈕統(tǒng)計(jì)1976年1月1日(包括1976年1月1日)以后出生(chusny)的已婚(hunfo為真) 的年齡總和,并將年齡總和顯示在文本框中。(注:年齡=2005出生年份+1)。 1 select sum(2005-year(chusny)+1) as s from t3 where chusny=1976/01/01 and hunfo into cursor t

40、4 2 thisform.text1.value=str(t4.s) 4. 單擊“退出”按鈕將關(guān)閉表單。 Thisform.release 3095,C3-19(添加記錄類型) 請(qǐng)將自由表下載到你的考試文件夾中,并按下面的要求完成程序設(shè)計(jì): 1. 設(shè)計(jì)一個(gè)表單,表單的標(biāo)題為“統(tǒng)計(jì)工資小數(shù)和”,名稱為gzform,表單中有三個(gè)命令按鈕和 一個(gè)文本框,三個(gè)按鈕的標(biāo)題分別為“增加”,“統(tǒng)計(jì)工資小數(shù)”和“退出”。 2. 單擊“增加”按鈕將向表第一個(gè)記錄前增加一條空記錄,編號(hào)(bianhao)和姓名(xingming)字段 的值分別為“00000001”和“李正軍”,工資(gongzi)字段的值為100

41、0.32,其它字段內(nèi)容任意。 1 use t3 2 go top 3 insert blank before 4 dimension y(8) 5 y(1)=00000001 6 y(2)=李正軍 7 y(8)=1000.32 8 go top 9 gather from y 10 close all,3. 單擊“統(tǒng)計(jì)工資小數(shù)”按鈕將計(jì)算所有記錄工資(gongzi)中小數(shù)點(diǎn)后的數(shù)字之和,并將計(jì)算結(jié)果顯示 在文本框中。如:工資為199.62,僅計(jì)算0.62。顯示的結(jié)果是指單擊一次“增加”按鈕后的值。 select sum(gongzi-int(gongzi) as s from t3 into

42、cursor t6 thisform.text1.value=t6.s 4. 單擊“退出”按鈕將關(guān)閉表單。 Thisform.release 53.33,請(qǐng)將自由表下載到你的考試文件夾中,并按下面的要求完成程序設(shè)計(jì): ( 注意:在調(diào)試之前必須將t3.DBF文件備份,因?yàn)槊看握{(diào)試可能要改變?cè)急碇械臄?shù)據(jù))。 1. 設(shè)計(jì)一個(gè)表單,表單的標(biāo)題為“統(tǒng)計(jì)和減少工資”,名稱為tjform,表單中有三個(gè)命令按鈕和一個(gè)列 表框, 三個(gè)按鈕的標(biāo)題分別為“減少工資”,“千元統(tǒng)計(jì)”和“退出”。 2. 單擊“減少工資”按鈕將每個(gè)記錄的工資(gongzi)減少原工資的10.67%。 update t3 set gong

43、zi=gongzi-gongzi*0.1067 close all,C3-4(修改字段內(nèi)容類型),3. 單擊“千元統(tǒng)計(jì)”按鈕將統(tǒng)計(jì)所有記錄減少后的工資(gongzi)中的千位數(shù)字的和及千位數(shù)字中的最 大值,并將統(tǒng)計(jì)的兩個(gè)數(shù)值分兩行顯示在列表框中。只計(jì)算千位中值,沒有千位按0計(jì)算。 select sum(int(gongzi/1000) as s,max(int(gongzi/1000) as ma from t3 into cursor t2 thisform.list1.additem(str(t2.s) thisform.list1.additem(str(t2.ma) 4. 單擊“退出”按鈕將關(guān)閉表單。 Thisform.release 128 2,C4-new,現(xiàn)有兩個(gè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論