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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

7、過命令按鈕來控制輸出。,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)控件提供一組選項,用戶可以從中選擇一個或者多個選項。 列表框顯示其中的若干選項,用戶可以通過滾動條瀏覽其他選項。 要求掌握的屬性: ControlSource、RowSource、Ro

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

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

10、體內使用通項公式進行計算; 5、將最終的計算結果放在輸出的控件中。,C2-類型2-(計算字母的ASCII碼值) 設計表單form1,表單中有命令按鈕command1、一個編輯框edit1和一個文本框text1,在edit1中輸入下面內容:“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)計滿足下面條件的字符的ASCII碼值的和:字符的ASCII碼值能被3整除;并將結果顯示在text1中。注意:內容中不包含任意回車換行符。,做題思路: 1、字符串賦給一變量; 2、取字符串變量的長度,即字符總個數(shù); 3、變量賦初值; 4、fo

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

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

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

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

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

17、擊命令按鈕將1910年到2254年間的國慶節(jié)添加到combo1中,然后計算出1910年到2254年間的每個國慶節(jié)是星期日的次數(shù),并將計算結果顯示在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、三個set 設置語句; 2、賦初始值; 3、for 循環(huán) 4、將數(shù)值型的年份用str()函數(shù)進行轉換,再加上 表示月和日的字符串; 5、將字符串日期轉變成日期用ctod()函數(shù); 6、判斷日期為星期幾,用函數(shù)dow()或cdow(); 7、將最終的結果在指定的控件上顯示輸出。,c2-類型3-日期 設計表單form1,表單中有命令按鈕command1、一個文本框text1和一個列表框list1, 單擊命令按鈕將1800年到1900年間的元旦日添加到list1中,然后利用函數(shù)計算出1800年到1900年間的每個元旦日是星期幾,并將該函數(shù)值累加,將計算結果顯示在

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ù)庫、表單放在同一個文件夾下),現(xiàn)有兩個自由表和,將兩文件下載到你的考試文件夾,然后按下面要求完成程序設計: 1. 建立一個數(shù)據(jù)庫stu

20、data,并將上面兩個自由表添加到數(shù)據(jù)庫中;以學號(xuehao)為主關鍵字建立student和score1兩表之間的關聯(lián),student為父表。 2. 設計一個表單,以studata中的兩個表作為表單的數(shù)據(jù)環(huán)境,在表單中添加一個命令按鈕 command1和一個標簽label1。 command1的標題為“最高平均分”。,3. 單擊command1按鈕求出所有學生中平均分最高的學號和平均分,并將它們分兩行顯示在label1中。成績字段名為chengji。平均分是指每個學生所有課程的平均分。 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)有兩個自由表和,先將兩文件下載到你的考試文件夾,然后按下面要求完成程序設計: 1. 建立一個數(shù)據(jù)庫scoredata,并將上面兩個自由表添加到數(shù)據(jù)庫中;以學號(xuehao)為主關鍵字建立兩表之間的關聯(lián),score3為父表。 2. 設計一個表單,以scoredata作為表單的數(shù)據(jù)環(huán)境,在表單中添加一個命令按鈕command1和 一個編輯框edi

22、t1。 command1的標題為“至少一門及格人的最高助學金”。,C4-9(至少一門不少于某一分數(shù)類),3. 單擊command1按鈕將統(tǒng)計四門成績至少有一門不小于60的人的最高助學金(zhuxuejin),并將它顯示在edit1中。四門課程成績字段名分別為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)有兩個自由表和,先將兩文件下載到你的考試文件夾,然后按下面要求完成程序設計: 1. 建立一個數(shù)據(jù)庫scoredata,并將上面兩個自由表添加到數(shù)據(jù)庫中;以學號(xuehao)為主關鍵字 建立兩表之間的關聯(lián),score3為父表。 2. 設計一個表單,以scoredata作為表單的數(shù)據(jù)環(huán)境,在表單中添加一個命令按鈕command1和一個組合框combo1。 command1的標題為“男生全及格人數(shù)”。,C4-9(均不少于某一分數(shù)類),3. 單擊command1按鈕將統(tǒng)計每個年級(2002-2005)男生(

24、xingbie為真)中四門成績均不小于60的人數(shù),并將它們顯示在combo1中。四門課程成績字段名分別為cj1、cj2、cj3和cj4。年級字段名為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(學號中含有某些數(shù)字類),現(xiàn)有兩個自由表和,按下面要求完成程序設計: 1. 建立一個數(shù)據(jù)庫studata,并將上面兩個自由表添加到數(shù)據(jù)庫中;以學號(xuehao)為主關鍵字 建立student和score1兩表之間的關聯(lián),student為父表。 2. 設計一個表單,以studata中的兩個表作為表單的數(shù)據(jù)環(huán)境,在表單中添加一個命令按鈕 command1和一個編輯框edit1,command1的標題為“含4和5平均分”。,3. 單擊com

28、mand1按鈕求出學號中同時含有4和5的所有學生中的平均分最低的姓名和平均分,并將它們顯示在edit1中。成績字段名為chengji。 平均分是指每個學生所選各門課程的平均分。 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 楊中國 68,在做題之前,應對題中所用到表有所熟悉:自由表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,注:做題之前要設置默認目錄(將所做好的表單文件及表文件都放在該文件夾下),請將自由表下載到你的考試文件夾中,并按下面的要求完成程序設計:

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

31、鈕將關閉表單。,C3-例題1(查找姓名或編號類),編號查詢按鈕代碼:,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)有自由表, 按下面要求完成程序設計: 1. 設計一個表單,表單的標題為“密碼處理”,名稱為tjform,表單中有三個命令按鈕和兩個標簽, 三個按鈕的標題分別為“處理密碼”,“最高位統(tǒng)計”和“退出”。 2. 單擊“處理密碼”按鈕將每個記錄的密碼(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“ ( 注意:在調試之前必須將t3.DBF文件備份,因為每次調試可能要改變原始表中的數(shù)據(jù))。結果:667 9,C3-例2(密碼類型題),3. 單擊“最高位統(tǒng)計”按鈕將統(tǒng)計所有記錄的密碼中最左邊數(shù)字的和以及它們中的最大值,并將結果分別顯示在兩個標簽中。 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. 單擊“退出”按鈕將關閉表單。 thisform.release,請將自由表下載到你的考試文件夾中,并按下面的要求完成程序設計: 1. 設計一個表單,表單的標題為“顯示姓名和統(tǒng)計”,名稱為tjform,表單中有三個命令按鈕、 兩個列表框list1和list2,一個文本框text1,三個按鈕的標題分別為“顯示姓名”,“統(tǒng)計”和“退出”。 2. 單擊“顯示姓名”按鈕將所有記錄的姓名(xingming)添加到list1中。 use t3 do while .not. eof() thisform.list1.additem(xingmin

35、g) skip enddo use,C3-例3(添加姓名與日期統(tǒng)計類型題),3. 單擊“統(tǒng)計”按鈕統(tǒng)計出參加工作時間(gongzsj與出生日期(chusny)均為星期一的人數(shù),將人數(shù)顯示在text1中,并將他們的記錄號分別顯示在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(“下一個”按鈕類型題),請將自由表下載到你的考試文件夾中,并按下面的要求完成程序設計: 1. 設計一個表單,表單的標題為“等于平均人數(shù)和瀏覽”,名稱為tjform,表單中有三個按鈕、一個組合框和一個文本框,三個按鈕的標題分別為“下一個”,“等于平均”和“退出”。 2. 單擊“下一個”按鈕將在組合框中添加下一個記錄的姓名(xingming)。如果到表尾,將添加第一個記錄中的姓名。 設置表單的load事件:use t3 skip thisform.list1.additem(xingming) if eof() go top thisform.list1.additem(xingming)

37、 endif thisform.refresh,3. 單擊“大于平均年齡”按鈕統(tǒng)計出年齡等于所有記錄平均年齡的記錄個數(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. 單擊“退出”按鈕將關閉表單。 thisform.re

38、lease,C3-17(表格類型題),請將自由表下載到你的考試文件夾中,并按下面的要求完成程序設計: 1. 設計一個表單,表單的標題為“統(tǒng)計年齡和查詢”,名稱為tjform, 表單中有三個命令按鈕、一個 文本框和一個窗格(grid),三個按鈕的標題分別為“查詢”,“統(tǒng)計年齡”和“退出”。 2. 單擊“查詢”按鈕將在窗格中顯示所有工資(gongzi)不大于1330的記錄,窗格中顯示編號(bianhao)、 姓名(xingming)、出生年月(chusny)和工資(gongzi)。 設置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)計年齡”按鈕統(tǒng)計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. 單擊“退出”按鈕將關閉表單。 Thisform.release 3095,C3-19(添加記錄類型) 請將自由表下載到你的考試文件夾中,并按下面的要求完成程序設計: 1. 設計一個表單,表單的標題為“統(tǒng)計工資小數(shù)和”,名稱為gzform,表單中有三個命令按鈕和 一個文本框,三個按鈕的標題分別為“增加”,“統(tǒng)計工資小數(shù)”和“退出”。 2. 單擊“增加”按鈕將向表第一個記錄前增加一條空記錄,編號(bianhao)和姓名(xingming)字段 的值分別為“00000001”和“李正軍”,工資(gongzi)字段的值為100

41、0.32,其它字段內容任意。 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)計工資小數(shù)”按鈕將計算所有記錄工資(gongzi)中小數(shù)點后的數(shù)字之和,并將計算結果顯示 在文本框中。如:工資為199.62,僅計算0.62。顯示的結果是指單擊一次“增加”按鈕后的值。 select sum(gongzi-int(gongzi) as s from t3 into

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

43、zi=gongzi-gongzi*0.1067 close all,C3-4(修改字段內容類型),3. 單擊“千元統(tǒng)計”按鈕將統(tǒng)計所有記錄減少后的工資(gongzi)中的千位數(shù)字的和及千位數(shù)字中的最 大值,并將統(tǒng)計的兩個數(shù)值分兩行顯示在列表框中。只計算千位中值,沒有千位按0計算。 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. 單擊“退出”按鈕將關閉表單。 Thisform.release 128 2,C4-new,現(xiàn)有兩個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論