表单复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VFP表单部分总结
表单部分,笔试和上机都是重点部分!!!!!
一、对象模型和事件模型
重点是概念的记忆与区分,这些概念是学好表单和控件的基础。
1、知识点
1.OOP:面向对象的程序设计。
2.类和对象的概念,类的特点
●类是对象的抽象,对象是类的实例;类是静态概念,对象是动态概念;
●类的特点:继承性、抽象性、多态性、封装性
3.对象的属性、事件和方法
●属性定义对象的特征或某一方面行为,如:颜色、大小;
●事件是对象识别的一个动作,事件集合是固定的,用户不能创建新的事件
●方法是对象能够执行的一个操作,方法可以由用户自己创建
4.基类、子类和父类
●基类:VFP提供的内部定义的类,
基类的最小事件集:
✧Init 当对象创建时激活
✧Destroy 当对象从内存中释放时激活
✧Error 当类中的事件或方法程序运行中发生错误时激活
最小属性集:
✧Class 该类属于何种类型
✧BaseClass 该类由何种基类派生而来
✧ClassLibrary 该来属于那种类库
✧ParentClass 对象所基于的类
●子类:以其他类为起点,为某一种对象建立的新类;
●父类:子类所基于的类,子类将继承任何对父类所做的修改;
●子类继承父类所有的属性,但属性值不一定相同。
子类有的属性父类不一定有,即
使有,属性值也不一定相同。
5.容器类和控件类
●容器类:包容其他类的基类。
如:表单集、表单、表格(表格列)、选项按钮组、
页框(页面)、命令按钮组等;
●控件类:包含在容器类中的基类。
如:命令按钮、文本框、标签、复选框等。
6.对象的引用
●绝对引用
●相对引用:相对于某个容器层次的引用。
引用的关键字有:this,thisform,parent,thisformset等。
7.对象属性的设置
●在属性对话框中直接设置;
●使用:引用对象.属性=值
如:thisform.caption=”my form”
bel2.backcolor=rgb(255,0,0)
8.调用对象的方法程序
引用对象.方法程序
9.事件激发的顺序
几个重要事件的激发顺序:
焦点事件:When→GotFocus→V alid→LostFocus
表单的几个相关事件:Load→Init→Destroy→Unload
10.事件驱动和事件循环
事件循环由READ EVENTS命令建立,CLEAR EVENTS命令终止。
2、典型考题
(一)选择题
1、设某子类Q具有P属性,则_________。
A. Q的父类也必定具有P属性,且Q的P属性值必定与其父类的P属性值相同
B. Q的父类也必定具有P属性,但Q的P属性值可以与其父类的P属性值不同
C. Q的父类要么不具有P属性,否则由于继承性,Q与其父类的P属性值必相同
D. Q的父类未必具有P属性,即使有,Q与其父类的P属性值也未必相同
2、下列对于事件的描述不正确的是_____。
A. 事件是由对象识别的一个动作
B. 事件可以由用户的操作产生,也可以由系统产生
C. 如果事件没有与之相关联的处理程序代码,则对象的事件不会发生
D. 有些事件只能被个别对象所识别,而有些事件可以被大多数对象所识别
3、从CommandButton基类创建子类cmdA和cmdB,再由cmdA类创建cmdAA子类,则cmdA、cmdB和cmdAA必具有相同的_________。
A. Caption属性
B. Name属性
C. BaseClass属性
D. ParentClass属性
4、下列几组控件中,均为容器类的是 _________ 。
A. 表单、列、组合框
B. 页框、页面、表格
C. 列表框、列、下拉列表框
D. 表单、命令按钮组、OLE控件
5、下列四组基类中,组中各个基类全是容器型的是______。
A. FORM,PageFrame,Column
B. Grid,Column,TextBox
C. CommandButton,ListBox
D. CommandGroup,DataEnvironment,Header
6、某表单FrmA上有一个命令按钮组CommandGroup1,命令按钮组中有四个命令按钮:CmdTop,CmdPrior,CmdNext,CmdLast。
要求按下CmdLast时,将按钮CmdNext的Enabled 属性置为.F.,则在按钮CmdLast的Click事件中应加入_______ 命令。
A. This.Enabled=.F.
B. This.Parent.CmdNext.Enabled=.F.
C. This.CmdNext.Enabled=.F.
D. Thisform.CmdNext.Enabled=.F.
7、设有一个页框含有3个页面,其中第一个页面的名字为Page1,上面有二个命令按钮:CmdOk、CmdPrint,如果要在CmdPrint的Click事件中引用CmdOk的Click事件代码,则采用_______ 。
A. This.Parent.CmdOk.Click( )
B. Thisform.Page1.CmdOk.Click( )
C. This.CmdOk.Click( )
D. Thisform.CmdOk.Click( )
8、设页框PageFrame1是页面Page1的父对象,Page是Page1的父类,在Page1的某事件代码中包含“THIS.Parent”,则该代码引用的是____。
A. PageFrame1页框
B. Page1所在的表单
C. PageFrame1页框的父类
D. Page1页面的父类
9、设表单frmA包含命令按钮组cmgB,cmgB中包含命令按钮cmdC和cmdD,在cmdD的click 事件代码中要引用cmdC,则在下列引用方法中不能正确引用的是_____。
A. THISFORM.cmg
B.cmgD B. THIS.Parent.cmdC
C. cmdB.cmdC
D. THIS.Parent.Parent.cmgB.cmdC
10、从CommandButton基类创建子类cmdA和cmdB,再由cmdA类创建cmdAA子类,则cmdA、cmdB和cmdAA必具有相同的_________。
A. Caption属性
B. Name属性
C. BaseClass属性
D. ParentClass属性
11、下列对象中不能以表单作为直接容器的是____。
A. 页框
B. 页面
C. 命令按钮组
D. 命令按钮
12、下列几组控件中,均可以直接添加到表单中的是____。
A. 命令按钮组、选项按钮、文本框
B. 页面、页框、表格
C. 命令按钮、选项按钮组、列表框
D. 页面、选项按钮组、组合框
13、如果表单中有一命令按钮组,且已分别为命令按钮组和命令按钮组中的各个命令按钮设置了click事件代码,则在表单的运行过程中单击某命令按钮时,系统执行的代码是___。
A. 该命令按钮的click事件代码
B. 该命令按钮组的click事件代码
C. 先该命令按钮组的click事件代码,后该命令按钮的click事件代码
D. 先该命令按钮的click事件代码,后该命令按钮组的click事件代码
14、下列属于鼠标事件的有__________。
A. LeftClick
B. GotFocus
C. DbClick
D. KeyPress
15、当调用一个表单的show方法时,可能激发表单的___。
A. Init事件
B. Load事件
C. Click事件
D. Activate事件
16、下列属于方法名的是___。
A. GotFocus
B. SetFocus
C. LostFocus
D. Activate
17、下列属于容器的最高层次的是_____。
A. ActivateForm
B. _Screen
C. THIS
D. THISFORM
18、以下_____不是VFP的基类。
A. CommandGroup
B. Image
C. Form
D. Subclass
(二)填空题
1、某表单中含有一个命令按扭。
要求运行表单时,单击该命令按钮可以调节表单的init 事件中的全部程序代码,则需要在命令的Click事件中写入语句_________。
2、事件对象能够识别的一个动作,方法是对象能够执行的一组操作。
对于SetFocus和GotFocus,____________是方法,_______________是事件。
3、若命令按扭组及其所含的各命令按扭分别设置了Click事件代码,Visual Foxpro系统将根据用户单击的位置执行相应的程序代码;若单击命令按钮组区域内、命令按钮区域外,________的click事件将被触发;而单击命令按钮组内某一命令按钮,则相应命令按钮的click事件被触发。
4、在表单的Load、Activate和Init这三个事件中,______事件不能引用表单及表单中的对象,______事件最后一个被触发。
5、如果要把一个文本框对象的初值设置为当前日期,可在该文本框的Init事件中设置代码________。
6、某表单Form1上有一个命令按钮组cmg,其中有两个命令按钮(分别为cmd1和cmd2),要在cmd1的click事件代码中设置cmd2不可用,其代码为:
THIS._______.cmd2.enabled=.F.
7、某表单fm1中有“下一记录”的记录定位命令按钮cmdnext,请完成该按钮的click事件代码:
Select xs
Skip
If eof()
Go bottom
________
Else
Thisform.refresh
endif
8、要求当按下“求实发工资”按钮时,显示该职工的实发工资。
显示实发工资的文本框的name属性的值为txtsfgz。
该按钮的click事件的代码如下:
Local insfgz
Insfgz=jsgz.jbgz+jsgz.zwgz+jsgz.jj
This.______.value=insfgz
Thisform.refresh
二、表单
1、知识点
1.表单的常用属性以及设置
常用属性:书P.185.表6-6
●属性的设置:
(1)通过属性对话框
(2)使用语句thisform.属性名=值
(3)用WITH……ENDWITH语句设置同一对象的多个属性值,如:
with bel2
. caption=”welcome”
. backcolor=rgb(255,0,0)
. forecolor=rgb(255,255,255)
endwith
(4)使用SETALL方法设置容器类对象中某类控件指定一个属性设置,如:Thisform.grid1.setall (…backcolor‟,rgb(0,255,0),‟Column‟)
2.表单的数据环境
●数据环境中表的添加和移去;
●数据环境中对象属性的设置——利用属性对话框;
●数据环境中一对多关系的建立;
●将字段、表或视图从“数据环境设计器”窗口拖动到表单,在表单中创建相应的控
件:
表→表格
逻辑型字段→复选框
备注型字段→编辑框
通用型字段→OLE绑定型控件
其他类型的字段→文本框
3.集合属性和计数属性
●所有容器对象具有集合属性和计数属性;
●集合属性是指包含在容器中的对象,是一个数组,如:页框是一个容器控件,它包
含的对象就是页面,即Pages;
●计数属性是一个数值,表明容器中包含的对象的数目,如:页框中包含了3个页面,
则计数属性PageCount=3。
4.表单的常用事件
●Load事件:当表单加载到内存的时候发生,在该事件中编写代码时必须注意,此时
表单上的各种控件还未生成,不能使用这些控件对象;
●Init事件:表单初始化的时候激活。
该事件中可以引用表单上各种控件对象;
●Click事件:单击表单空白处时激活。
5.表单的常用方法
●release方法:释放表单。
Thisform.release (也可以使用命令:release thisform)
●refresh方法:重画表单,刷新所有值。
Thisform.refresh
●hide方法:通过把visible属性设置为.F.,隐藏表单(集)或工具栏。
6.表单的保存和运行
●表单文件的扩展名为.scx,备注文件的扩展名为:.sct;
●运行表单:DO FORM 表单文件名[WITH 参数列表]。
要使得表单可以传递参数,
必须在接受参数传来值的表单的Init事件中用PARAMETERS定义参数。
7.表单的管理
●子表单:包含在父表单中的表单,不能移出父表单。
ShowWindow属性值为0或1,
Desktop属性值为.F.;
●浮动表单:属于父表单的一部分,可以不位于父表单中,但不能在父表单后台移动。
ShowWindow属性值为0或1,Desktop属性值为.T.;
●顶层表单:独立的、无模式的、无父表单的表单。
ShowWindow属性值为2;
2、典型考题
(一)选择题
1、用表单设计器设计表单,下列叙述中错误的是。
A.可以创建表单集
B.可以将表单以类的形式保存在类库中
C.可以对表单添加新属性和新方法
D.数据环境对象是表单所包含的子对象,可以添加到表单中
2、表单的Name属性是用于。
A.作为保存表单时的文件中
B.引用表单对象
C.显示在表单标题栏中
D.作为运行表单程序时的程序名
3、不可以在表单或表单集的数据环境中添加或创建的是。
A.表B.表之间的临时关系
C.查询D.视图
4、以下容器的集合属性是一致的。
A.表单、表单集、_SCREEN
B.命令按钮组、选项按钮组
C.页框、页面、表格
D.页面、表格、工具栏
5、如果要在运行表单时向表单中传递参数,则应在表单的事件代码中包含PARAMETERS。
A.Init B.Load C.Activate D.数据环境的BeforeOpenTables
6、要创建一个顶层表单,应将表单的ShowWindow属性设置为。
A.0 B.1 C.2 D.3
7、下列表单最小化时,会出现在任务栏中的是。
A.主表单B.子表单
C.顶层表单D.浮动表单
8、不能打开数据环境设计器的方法是。
A.在启动表单设计器后,从“查看”菜单中选择“数据环境”选项
B.从表单(集)的快捷菜单中选择“数据环境”选项
C.从表单设计器工具栏中选择“数据环境”按钮
D.可以设置启动表单设计器的同时打开相应的“数据环境”
9
A.表单C.控件D.数据环境
10、描述表单集中包含的表单数目的属性。
A.设计时可用,运行时可以读写B.设计时可用,运行时只读
C.设计时不可用,运行时可以读写D.设计时不可用,运行时只读
11、表单不可以用于输入、修改和显示中的数据。
A.自由表B.视图C.查询D.数据库表
12、在设计阶段,不能运行表单的方法是。
A.“!”按钮B.“表单”菜单中的“运行表单”命令
C.Do Form命令D.Run Form命令
13、描述控件文字的粗体、斜体、下划线、删除线样式的属性分别是。
A.FontBold,FontItalic,FontUnderLine,FontStrikeThru
B.FontItalic,FontUnderLine,FontBold,FontStrikeThru
C.FontUnderLine,FontBold,FontItalic,FontStrikeThru
D.FontStrikeThru,FontBold,FontItalic,FontUnderLine,
14、若想选中表单中的多个控件对象,可按住的同时再单击欲选中的控件对象。
A.Ctrl B.Shift C.Alt D.Tab
(二)填空题
1、设表单集FrmSet1中含有若干张表单,将奇数表单的背景颜色设为淡蓝色,偶数表单的背景颜色设为系统省略值(即保持原定义的颜色)。
完善以下FrmSet1表单集的Init事件代码。
FOR n=1 TO
IF n%2=0
ENDIF
THIS.FORMS(n).BackColor=RGB(128,255,255)
ENDFOR
2、在Visual Foxpro中,可以为表单添加新的的方法。
设已经向某表单中添加了一个新的方法(FormColor)。
FormColor方法的程序代码是:
THISFORM. BackColor= &&设置该表单的背景颜色为绿色
该表单的Init事件、Click事件、Right Click事件的程序代码分别是:
Init事件:THISFORM. BackColor=RGB(128,255,255)&&设置背景颜色为淡蓝色Click事件:THISFORM. Init
RightClick事件:THISFORM. FormColor
该表单运行时,若用鼠标右击该表单,则该表单的背景颜色为;若用鼠标单击该表单,则该表单的背景颜色为。
绿色:rgb(0,255,0)
红色:rgb(255,0,0)
蓝色:rgb(0,0,255)
3、设PR1.PRG、FM1.SCX、CD1.MPR分别是某管理系统中的主文件、用于输入口令的表单文件和使用管理系统的主菜单文件。
(2002秋等级考试题)主文件PR1.PRG的程序代码如下所示:
PR1.PRG的程序代码:
PUBLIC N,PASS
N=0 &&口令输入次数计数变量
PASS=.F.
DO FORM FM1
IF PASS
DO CD1.MPR
ELSE
QUIT
ENDIF
输入口令表单FM1.SCX如下图所示,其中WindowType属性值为:1-模式。
“用户名”文本框的Name属性值为TxtUser、“口令字”文本框的Name属性值为TxtPass。
完善下列表单FM1.SCX中“确认”按钮的Click事件代码,实现对用户名和口令字输入的验证。
要求:“用户名”为“VFP”,同时口令字为“123”时可以进入管理系统,并且在用户名或口令字不正确时,用户名和口令字允许输入三次。
IF AND THISFORM.Txtpass.V ALUE=“123”
WAIT “欢迎使用本系统!” WINDOW TIMEOUT 2
PASS=.T.
THISFORM.RELEASE
ELSE
N=N+1
IF N=3
WAIT “用户名或口令字不对!登录失败!” WINDOW TIMEOUT 2
THISFORM.RELEASE
ELSE
WAIT “用户名或口令字不对!请重输!” WINDOW TIMEOUT 2
ENDIF
ENDIF
4、某表单含有2个标签对象、2个文本框对象(Text1、Text2)、1个形状对象(Shape1)和1个命令按钮。
其中,文本框Text1用来输入圆半径数据,文本框Text2用于显示圆面积,形状对象用于显示圆的图形,命令按钮的标题属性为“计算”。
单击命令按钮时,应完成功能:当圆半径的值介于10~100之间时(含10和100),形状对象显示圆的图形、计算圆面积并显示之;当圆半径的值介于10~100范围之外时(不含10和100),显示提示窗口。
运行界面如下图所示。
完善下列的命令按钮的Click事件代码:
LOCAL X
X=THISFORM.Text1.V ALUE
IF
THISFORM.Shape1.V isible=.F.
THISFORM.Text2.V ALUE=""
=MessageBox("半径取值必在10~100之间!",48,"提示窗口")
ELSE
THISFORM.Shape1.Height=X*2
THISFORM.Shape1.Width=X*2
THISFORM.Shape1.V isible=.T.
THISFORM.Text2.V ALUE=
ENDIF
5、有一表单frmA,该表单中包含一个页框pgfB,页框中包含的页面数未知。
在刷新表单时,为了刷新页框中的所有页面,可在页框pgfB的REFRESH方法中编写一段FOR循环结构的代码实现,请完善如下代码:
FOR i=1 to This.
This.Pages(i).Refresh
ENDFOR
6、“表单”菜单在时出现在VFP主菜单中。
7、一对多表单中的表格显示的是的数据。
8、“表单”菜单中的移除表单命令仅在存在时有效。
9、在属性窗口中给表单标题赋当前日期的正确写法是。
10、子表单的父表单可以是VFP主窗口或。
三、控件
重点是掌握常用控件的各种属性、事件和方法,特别是对于控件的特有属性、事件和方法。
1、知识点
1.控件和数据的关系
●绑定型控件:指其内容与后端的表、视图或查询中的字段,或内存变量相关联的控
件。
绑定型控件有:复选框、列、组合框、命令组、编辑框、列表框、选项按钮、
选项组、微调框、文本框、表格等。
绑定型控件除表格外通过ControlSource属性和数据源绑定,表格通过RecordSource
和数据源绑定。
●非绑定型控件
2.常用控件
重点掌握各种控件与其他控件所不同的特有属性、事件和方法。
●标签:通常用来显示固定不变的内容,比如说明性信息。
✧Caption:标签显示的内容;
✧AutoSize:是否自动调整标签的大小;
✧WordWrap:是否允许回车换行;
●文本框:通常用来接收输入数据或显示数据。
(1)常用属性:
✧CountrolSource:指定与文本框绑定的数据源;
✧V alue:文本框的当前选定值;
✧InputMask:控制数据的输入格式和显示方式;
✧Format:指定数据的输入限制条件和显示格式;
✧PassWordChar:经常设置为*号,输入的内容显示给用户的就是一串*号。
(2)常用方法
setfocus:获得焦点。
如:thisform.text1.setfocus
●列表框和组合框:主要用来显示一组预定的值,可以通过滚动条来操作选择。
(1)常用属性
✧RowSource T ype:指定数据源的类型;书P204 表8-3
✧RowSource:指定数据源;
这两个属性控制列表显示的内容。
✧ControlSource:相绑定的数据源,控制从列表中选择的值保存至何处;
✧Value:列表框或组合框当前选定的值;
✧ColumnCount:列的个数;
✧ColumnWidths:列的宽度;
✧BoundColumn:与V alue属性相绑定的列;
✧组合框的Style:为1时,下拉组合框,兼有列表框和文本框的功能;为2时,
下拉列表框。
(2)常用事件
InteractiveChange:当列表框或组合框的值改变时发生。
●选项按钮组
(1)常用属性
✧ButtonCount:指定按钮的个数;
✧Value:表明用户选定了哪个按钮;
✧ControlSource:绑定的数据源,可以将选定的按钮的标题保存到该数据源。
✧各个按钮的Caption:控制各个按钮的显示标题。
(2)常用事件
Click:单击选项按钮组时发生,由value属性值决定执行的操作。
●复选框
(1)常用属性
✧Caption:设置复选框的显示信息;
✧Alignment:控制信息左边还是右边显示;
✧Value:为0或.F.,表示未被选中;为1或.T.,表示选中;为2或NULL,表
示不可用。
(2)常用事件
Click
●表格
(1)常用属性
✧RecordSource
✧RcordSourceType
这两个属性用来控制表格的数据源,如果表格是直接从数据环境中拖放形成,
则这两个属性系统自动设置。
✧ColumnCount:表格的列数;
✧DeleteMark:控制表格是否出现删除标记列。
✧DynamicFontName、DynamicFontSize DynamicForeColor等属性:设置动态字
体、字号、颜色等
●微调框
✧ControlSource:绑定的数据源;
✧V alue:微调框的当前值;
✧KeyBoardHighV alue:键盘输入的最大值;
✧KeyBoardLow V alue:键盘输入的最小值;
✧SpinnerHighV alue:鼠标单击微调按钮输入的最大值;
✧SpinnerLow V alue:鼠标单击微调按钮输入的最小值;
✧Increment:单击上下箭头时,微调框中数值的增加量或减小量。
●命令按钮与命令按钮组
(1)命令按钮
✧Caption:命令按钮上显示的文本;
✧Picture:指定命令按钮的图片;
✧Default:设置为.T.,可以按回车键选择此命令;
✧Cancel:设置为.T.,可以按【Esc】键选择此命令;
✧Enabled:设置为.T.,表示可以单击该命令按钮;设置为.F.,按钮不能响应。
(2)命令按钮组:主要掌握“上一条”、“下一条”命令按钮的使用。
●计时器
✧Interval:指定计时器Timer事件之间的时间间隔,单位为毫秒。
如:每个5
分钟可设置为50000;
✧Enabled:控制计时器是否起作用。
调用RESET方法可以重置计时器,从0开始。
●线条和形状
对于形状控件,Curvature属性:决定显示什么样的图形,0表示矩形,1~98为圆角矩形,99为圆或椭圆。
●页框
(1)页框主要属性
✧PageCount:包含页面的个数;
✧T abs:决定页面的“选项卡”是否可见;
✧T abStyle:为.T.,指定页面选项卡大小均相等且与页框宽度相等;
✧ActivePage:指定活动页面。
(2)页面的主要属性
✧Caption:各个页面显示的标题;
✧TabStretch:为1(裁减),只显示能防入选项卡的标题字符;为0(堆积),选
项卡会堆积起来使标题内容全部显示出来。
3.访问键的设置
在按钮的Caption属性中设置,如:\<Q,表示按Alt+Q键等同于按该按钮。
4.工具提示文本的设置
首先将表单的showtips属性设置为.T.,然后设置控件的tooltiptext属性值。
二、典型考题
(一)选择题
1、将某个控件绑定到一个字段,移动记录后字段的值发生变化,这时该控件的_______属性的值也随之变化。
A.V alue
B. Name
C. Caption
D. 没有
2、文本框绑定到一个字段后,对文本框中的内容进行输入或修改时,文本框中的数据将同时保存到______中。
A.V alue和Name
B. V alue和该字段
C. V alue和Caption
D. Name和该字段_
3、关于表格控件,下列说法中不正确的是_______。
A. 表格的数据源可以是表、视图、查询
B. 表格中的列控件不包含其它控件
C. 表格能显示一对多关系中的子表
D. 表格是一个容器对象
4、下列各组控件中,全部可与表中数据绑定的控件是_____。
A. EditBox、Grid、Line
B. ListBox、Shape、OptonButton
C. ComBox、Grid、TextBox
D. CheckBox、Separator、EditBox
5、命令按钮中显示的文字内容,是在属性_______中设置的。
B. Caption
C. FontName
D. ControlSource
6、若要建一个有5个按钮的选项组,应将属性_____的值改为5。
A. Optiongroup
B. Buttoncount
C. BoundColumn
D. ControlSource
7、当用鼠标使组合框的内容发生变化时,将首先触发_______事件。
A. InteractiveChange
B. Click
C. Init
D. DownClick
8、列表框是_______控件。
A. 数据绑定型
B. 非数据绑定型
C. 数值型
D. 逻辑型
9、页框(PageFrame)能包容的对象是_____。
A. 页面(Page)
B. 列(Column)
C. 标头(Header)
D. 表单集(FormSet)
10、学生管理数据库中有二个表:学生表和成绩表,表结构分别如下,
xs.dbf | cj.dbf
学号xh c, 8 | 学号xh c, 8
姓名xm c,8 | 课程号kch c, 4
性别xb c,2 | 课程名kcm c, 20
出生日期csrq d | 成绩cj n,3
有一个按班级号查该班每一个学生总成绩的表单:班级号由学生学号的前4位组成。
该表单组合框的RowSource Type属性为3-SQL 语句,则它的RowSource属性为_______。
A. SELECT DISTINCT SUBSTR(xh,1,4) FROM xs INTO CURSOR xtmp
B. SELECT SUBSTR(xh,4) FROM xs INTO CURSOR xtmp
C. SELECT DISTINCT xh FROM xs INTO CURSOR xtmp
D. SELECT DISTINCT SUBSTR(xh,1,4) FROM xs INTO xtmp
(二)填空题
1、如果要把一个文本框对象的初值设置为当前日期则在该文本框的Init事件中设置代码为__________________________________。
2、选项按钮组是_____________对象,它的V alue属性表明用户选定了哪个按钮。
假定现有一个选项按扭组有六个选项按钮,该选项按钮组的ControlSource 属性值是一个整型字段,如果用户选择了第四个按钮,则选项按钮组的V alue属性值为_____________。
3、复选框控件可以为三种状态,其V alue 属性值分别为.F. 、.T. 或________________ 。
4、组合框的数据源由RowSource属性和RowSourceType属性给定,如果RowSource属性中写入一条SELECT-SQL语句,则它的RowSourceType属性应设置为_____________。
5、商品数据库中含有两个表:商品基本信息表(SPXX.DBF)和销售情况表(XSQK.DBF),
表结构分别如下:
商品基本信息表销售情况表
商品编号SPBH C,6 | 流水号LSH C,6
商品名称SPMC C,20 | 销售日期XSRQ D
进货价JHJ N,12,2 | 商品编号SPBH C,6
销售价XSJ N,12,2 | 销售数量XSSL N,8,2
备注BZ M
根据spxx.dbf和xsqk.dbf创建表单用来录入每笔销售业务。
表单的数据环境包括______________。
表单中商品编号为组合框,它的RowSource为______________,ControlSource为____________ ,销售价文本框的ControlSource为____________。
输入销售数量以后打回车键,此时自动显示销售金额,则销售数量文本框的V alid事件代码为:(销售金额文本框的Name属性值为Txtxse)
Thisform.Txtxse.V alue=________________
6、某表单中有一"下一记录"的记录定位命令按钮CmdNext,请完成该按钮的Click事件代码:(假定该表单所用到的表为XS.DBF)
SELECT XS
________________________
IF EOF()
GO BOTTOM
This._______________ &&让该按钮不响应用户操作
ELSE
Thisform.Refresh
ENDIF
7、已知教师工资表(JSGZ.DBF)的结构如下:
JSGZ.DBF
工号(GH)C,5
姓名(XM)C,8
性别(XB)C,2
基本工资(JBGZ)N,6
职务工资(ZWGZ)N,6
奖金(JJ)N,4
将上述JSGZ.DBF加入到表单的数据环境中,创建表单:
要求当按下求实发工资按钮时,显示该职工的实发工资。
显示实发工资的文本框的NAME属性的值为Txtsfgz。
该按钮的Click事件的代码如下,请将它写完整:
Local lnsfgz
lnsfgz=jsgz.jbgz+jsgz.zwgz+jsgz.jj
This.Parent.Txtsfgz. ___________________=lnsfgz
Thisform.refresh
表单中的性别设置成组合框,如果它的RowSourceType设
置成1-值,则它的RowSource为________________ ,该组合框的
ControlSource为________________ 。
8、设表XS.DBF的结构如下:
字段名类型长度小数位含义
XH C10学号
XM C8姓名
XB C2性别
CSRQ D8出生日期
XIMING C18系名
以下是数据环境为XS表的表单,表单上含有两个列表框:“系名列表”(LIST1)显示各个系的系名,“学生名单”(LIST2)显示学生的学号和姓名。
当选中系名列表中的某个在“学生名单”列表中仅显示相应系的学生的学号和姓名。
表单的Caption属性值应为______ ,“学生名单”列表框的ColumnCount属性值最小可为______ ,“系名列表”的InteractiveChange事件代码为:xxmm=This. ____________
Thisform.list2.RowsourceType=3
Thisform.list2.Rowsource=”Select xh+Space(1)+xm f rom xs where ______ ”
Thisform.Refresh。