对考生文件夹下的“学生住宿”管理数据库设计一个表单myf,表单标题为“宿舍查询”,表单中有
3个文本框和2个命令按钮“查询”和“关闭”。
运行表单时,在第一个文本框里输入某学生的学号(S1—S9),单击查询按钮,则在第二个文本框内会显示该学生的“姓名”,在第三个文本框里会显示第三个学生的“宿舍号”。
如果输入的某个学生的学号对应的学生不存在,则在第二个文本框内显示“该生不存在”,第三个文本框不显示内容;如果输入的某个学生的学号对应的学生存在,但在宿舍表中没有该学号对应的记录,则在第二个文本框内显示该生的“姓名”,第三个文本框显示“该生不住校”。
单击“关闭”按钮关闭表单。
参考答案:单击“文件”菜单中的“新建”,在类型选择框中选择“表单”,单击“新建文件”按钮,打开表单设计器。
在属性窗口中设置表单的Caption属性为“宿舍查询”,从“表单控件”工具栏中选择C个文本框,B个命令按钮放置在表单上。在属性面板中分别设置两个命令按钮的Caption属性分别为“查询”和“关闭”,结果如图C-A0H所示。
[*]
双击命令按钮“查询”,编写该控件的Click事件,程序代码如下:
******命令按钮CommandA(查询)的Click事件代码*****
SET TALK OFF
OPEN DATABASE 学生住宿管理
USE学生
GO TOP
LOCATE FOR 学生.学号==ALLTRIM(Thisform.TextA.Value)
IF 学生.学号<>ALLTRIM(Thisform.TextA.Value)
Thisform.TextB.Value="该生不存在!"
Thisform.TextC.Value=""
ELSE
SELECT 学生.姓名;
FROM 学生;
WHERE 学生.学号=ALLTRIM(Thisform.TextA.Value);
INTO CURSOR temp
Thisform.TextB.Value=temp.姓名
USE 宿舍
LOCATE FOR 宿舍.学号==ALLTRIM(Thisform.TextA.Value)
IF宿舍.学号<>ALLTRIM(Thisform.TextA.Value)
Thisform.TextC.Value="该生不住校!"
ELSE
SELECT 学生.姓名.宿舍.宿舍;
FROM 宿舍,学生;
WHERE 学生.学号=ALLTRIM(Thisform.TextA.Value)AND宿舍.学号=学生.学号;
INTO CURSOR temp
Thisform.TextB.Value=temp.姓名
Thisform.TextC.Value=temp.宿舍
ENDIF
ENDIF
CLOSEALL
SET TALK ON
***********************************************************
以同样的方法为“关闭”命令按钮编写Click事件代码;Thisform. Release。
保存表单文件为myf.scx到考生文件夹下,表单运行结果如图C-A0I所示。
[*]
解析:本大题考查了表单常用控件的基本设置,在程序设计部分,可将查询结果存放到一个临时表中,然后通过文本框的Value属性值来显示查询结果。