上机题选

更新时间:2023-11-29 12:05:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 将考生文件夹下文本文件T1.txt(或Excel文件T1.xls)中的数据导入或追加到当前数据库的数据表“T1”中。

【“文件|获取外部数据:导入”。】

2. 将考生文件夹下Excel文件T1.xls中的数据链接到当前数据库中。要求:数据 中的第一行作为字段名,链接表对象命名为“TC1”。 【“文件|获取外部数据|链接表”】

3. 将“samp0.mdb”数据库文件中的表对象“tTemp”导入到“samp1.mdb”数据库中。在“samp1.mdb”数据库中做表对象“tEmp”的备份,命名为“tEL”。

【打开samp1.mdb数据库,“文件|获取外部数据|导入”,选择samp0.mdb,打开“导入对象”对话框,选择 tTemp表对象。

打开samp1.mdb数据库,复制tEmp表对象。】

4. 将“学生”表中的数据导出到文本文件中,并以“学生.txt”文件名保存。

将当前数据库中的表对象导出到另一个数据库中,只导出表结构定义或导出定义和数据。

【“文件|导出”】

5. 将学号为某个学生的“照片”字段值设置为考生文件夹下的“photo.bmp”图像文件(要求使用“由文件创建”方式)。

【“插入|对象”】

6. 冻结“姓名”字段,并确保“姓名”字段列显示在“学号”字段列的后面。 【数据表视图下“格式|冻结列”,保存对布局的更改。 表设计视图下,调整字段位置,保存表】

7. 有效性规则

(1) 设置“年龄”字段的有效性规则为:不能是空值。 【is not null】

(2) 设置“入校时间”字段的有效性规则为只能输入1月(含)到10月(含)的日期。【Month([入校时间]) Between 1 And 10】

(3) 设置“入校时间”字段的有效性规则为:输入的入校时间必须为9月。 【like \】

8. 设置“聘用日期”字段的默认值为系统当前年一月一日(要求:当前年号必须由函数获取)。

【DateSerial(Year(Date()),1,1)】

9. 使用查阅向导建立“职务”字段的数据类型,向该字段键入的值为“职员”、“主管”或“经理”等固定常数。(为“职务”字段创建查阅列表)

1

10. 设置字段的输入掩码

(1)输入掩码为只能输入5位数字形式(5位数字或字母形式)。 【在字段属性的“输入掩码”行中输入00000】AAAAA (2)输入掩码格式为“220V- W”。其中,“-”与“W”之间为两位,且只能输入0~9之间的数字。

【\,\】 查看已有数据决定W前是一位数字还是两位数字 (3)输入掩码格式为短日期。 【0000-99-99】

(4)将“电话”字段的输入掩码设置为“010-********”的形式。其中,“010-”部分自动输出,后8位为0~9的数字显示。

【”010-”00000000】

11.将Student表中1975年到1980年之间(包括1975年和1980年)出生的学生记录删除。

【创建删除查询,并运行该查询,但不用保存查询】

12. 将student表拆分为两个新表tStudent和tOffice,并保留student表。

【建立2个生成表查询,然后为2个新表设置主键(先查看新表中的记录,如果主键值有重复的记录,则要先删除重复的记录再设置主键)。】

13. 将“工作时间”字段的显示格式设置为“××月××日××××”形式。 注意:要求月和日为2位显示,年4位显示,如“12月15日2005” 【“格式”属性:mm月dd日yyyy】

查询

1. 创建1个参数查询,查找学生的“学号”、“姓名”、“年龄”和“性别”4个字段内容。其中设置“年龄”字段为参数,参数值要求引用窗体“F1”上控件名为“age”的值。

【 在“年龄”字段对应的准则中输入:[Forms]![F1]![age]】

2. 现有1个已经建好的“F1”窗体。运行该窗体后,在文本框(文本框名称为Name)中输入要查询的科室名,然后按下“查询”按钮,即运行1个名为“QY4”的查询。“QY4”查询的功能是显示所查科室的“科室ID”和“预约日期”。

【在“科室名称”字段对应的准则中输入:[Forms]![F1]![Name],去掉对应“显示”中的勾选项。】

3. 创建追加查询,将表对象“学生”中的“学号”、“姓名”、“性别”和“年龄”4个字段内容追加到目标表“T1”的对应字段内。(规定:“姓名”字段的第1个字符为姓。要求将学生学号和学生的姓组合在一起,追加到目标表的“标识”字段中)

【“标识”字段:[学号]+Left([姓名],1)】

4. 创建一个查询,将tTemp表中女员工编号的第一个字符更改为“1”。 【“编号”字段更新到:”1” & mid([编号],2,5)】

2

5. 创建一个查询,查找有档案信息但无工资信息的职工,显示其\职工号\和\姓名\两个字段的信息。

【查询?新建:查找不匹配项查询向导】

6. 创建1个查询“QY2”,将所有学生设置为非党员。

【更新查询,“党员否”字段数据类型为“是/否”,设置更新值为“0”、“False”或“No”之一。】

7. 创建1个查询“QY4”,将有不及格成绩的学生的“姓名”、“性别”、“课程名”和“成绩”字段信息追加到“T1”表的对应字段中,并确保“T1”表中男生记录在前、女生记录在后;要求创建此查询后,运行该查询,并查看运行结果。

【追加查询,对查询结果排序,并运行查询,然后查看“T1”表】

8. 创建1个查询“QY3”,删除表对象“T1”内所有“预约日期”为10月的记录。 【“预约日期”数据类型为“日期/时间”,获取日期中的月份Month(预约日期)】

9. 创建一个查询,查找年龄小于平均年龄的学生,并显示其姓名。

10. 创建一个查询qT3,查找教师的“编号”、“姓名”和“联系电话”三个字段,要求将“编号”与“姓名”两个字段合二为一,查询结果中只显示“编号姓名”和“联系电话”两列。

【第一列 “编号姓名:[编号]+[姓名]”】

11.按系别统计各自男、女学生的平均年龄,显示字段标题为“所属院系”、“性别”和“平均年龄”。

12. 创建一个查询,将表“tBmp”中的“编号”字段值的前面均增加“05”两个字符。 【更新查询,\编号]】

13.查找“房间号”字段第4位至第6位值为“102”的记录。

【在“房间号”字段的条件行中输入:mid([房间号],4,3)= ”102”】

14.创建一个查询,删除表对象\中年龄为奇数的记录。 【在“年龄”字段的“条件”行输入:[年龄] mod 2 <> 0 】

3

15. 创建一个查询,查找某月出生雇员的售书信息,并显示“姓名”、“书籍名称”、“订购日期”、“数量”和“单价”。运行该查询时,提示框中显示“请输入月份:”。

16.创建一个查询,按输入的班级编号查找并显示\班级编号\、\姓名\、\课程名\和\成绩\的内容。其中\班级编号\数据由计算得到,其值为\表中\学号\的前6位。运行该查询时,应显示提示信息:\请输入班级编号:\。

17. 以表对象\为数据源创建一个交叉表查询,使用房间号统计并显示每栋楼的各类房间个数。行标题为\楼号\,列标题为\房间类别\。注:房间号的前两位为楼号。

4

窗体

1. 在窗体“F1”中,以命令按钮“com1”为基准(这里按钮“com1”和“com3”尺寸相同、左边对齐),调整命令按钮“com2”的大小与位置。要求:按钮 “com2”的大小尺寸与按钮“com1”相同、左边界与按钮“com1”左对齐、竖直方向位于按钮“com1”和“com3”的中间位置。

【 同时选中com1和com2,“格式|大小:至…”,“格式|对齐:靠左” 同时选中3个按钮控件,“格式|垂直间距相同”】

2. 将“F1”窗体上名为“com”的命令按钮由灰色无效状态改为有效状态。 【将com按钮的“可用”属性改为”是”】

3. 窗体“fEmp”加载时将图片文件“test.bmp”设置为窗体的背景。背景图片当前路径必须用currentProject.Path获得。

Private Sub Form_Load()

Form.Picture = CurrentProject.Path & \End Sub

4.设置命令按钮bc的单击事件,用户单击该命令按钮后,label0标签的显示颜色改为红色。要求用VBA代码实现。

【 Label0.ForeColor = 255,颜色值可查看属性窗口获取 或 Label0.ForeColor = vbRed 】

5. 按如下控件顺序设置Tab键次序。

“CmdEdit”? “tUser” ? “tRemark” ? …… 【在“属性”窗口中依次选择各个控件,设置其“Tab键索引”属性,顺序为0,1,2,……】

6. 将命令按钮的外观设置为图片显示。

【将按钮控件的“图片”属性设置为给定的图像文件。】

7.在命令按钮事件过程中补充语句,动态设置窗体记录源为查询对象\。 【Form.RecordSource = \】

8. 当单击按钮\,将文本框中输入的内容与文本串\等级考试测试\连接,并消除连接串的前导和尾随空白字符,用标签\显示连接结果。

【 bTitle.Caption = Trim(tText) & \等级考试测试\】

9. 假设\表中,\学号\字段的第5位和6位编码代表该生的专业信息,当这两位编码为\时表示\信息\专业,为其他值时表示\管理\专业。设置窗体中名称为\的文本框控件的相应属性,使其根据\学号\字段的第5位的第6位编码显示对应的专业名称。

【=IIf(Mid([学号],5,2)=\,\信息\,\管理\】

10.按照以下窗体功能,补充事件代码设计。

5

窗体中有“修改”(CmdEdit)、“保存”(CmdSave)和“退出”(cmdquit)三个命令按钮。单击“保存”按钮,若在“口令”和“确认口令”两个文本框中输入的信息相同,则保存修改后的信息,并先将“保存”命令按钮变为不可用,…….,再将“用户名”(tUser_1)文本框中的内容以只读方式显示;若两个文本框中输入的信息不同,则显示提示框,显示内容为“请重新输入口令”,提示框中只有一个“确定”按钮。单击“退出”按钮,关闭当前窗体。

Private Sub CmdSave_Click() If Me!tPass = Me!tEnter Then ‘ 保存修改后的信息,代码略

' *********************** Add1 ************************************* CmdSave.Enabled = False

' *********************** Add1 ************************************* ‘ 代码略

' *********************** Add2 ************************************* tUser_1.Locked = True

' *********************** Add2 ************************************* Else

' *********************** Add3 ************************************* MsgBox \请重新输入口令!\

' *********************** Add3 ************************************* End If End Sub

Private Sub cmdquit_Click()

' *********************** Add4 ************************************* DoCmd.Close

' *********************** Add4 ************************************* End Sub

报表

1. 设置报表“R1”按照“性别”字段升序(先男后女)排列输出;将报表页面页脚区域内名为“Page”的文本框控件设置为“-页码/总页数-”形式的页码显示(如-1/15-、-2/15-、...)。

【 [Page] 代表当前页,[Pages] 代表总页数。

在文本框中输入表达式 =\】

2. “性别”文本框控件依据报表记录源的“性别”字段值来显示信息:性别为1,显示“男”;性别为2,显示“女”。

【控件来源: =IIf([性别]=\男\女\】

3. 设置报表主体节区内文本框tDept的控件来源为计算控件。要求该控件可以根据报表数据源里的“所属部门”字段值,从非数据源表tGroup(包含“名称”,“部门编号”两个字段)中检索出对应的部门名称并显示输出(提示:使用DlookUp函数)。

【=DLookUp(\名称\部门编号='\所属部门] & \】

6

4. 在报表适当位置添加一个文本框控件(名称为txtAvg),计算每本图书的平均单价。 说明:报表适当位置指报表页脚、页面页脚或组页脚。 要求:使用Round函数将计算出的平均单价保留两位小数。 【按“书籍名称”分组,在组页脚中放置txtAvg文本框, 控件来源:=Round(Avg([单价]),2)】

5. 在报表页脚处添加一个文本框控件(txtIf),判断所售图书的金额合计,如果金额合计大于30000,txtIf控件中显示“达标”,否则显示“未达标”。

【控件来源:=IIf(Sum([数量]*[单价])>30000,\达标\未达标\】

6. 在报表主体区内有一个名为tOpt的复选框控件,根据报表记录源的“性别”字段和“年龄”字段的值来显示状态信息:性别为“男”且年龄小于20时显示为选中状态,否则显示为不选中状态。

【控件来源:=IIf([性别]=\男\年龄]<20,\

或 =IIf([性别]=\男\年龄]<20,True,False) 】

7.将报表中的数据按\年龄\升序排列,年龄相同情况下按\所属部门\升序排列。 【两级排序】

8.将报表记录数据按照姓氏分组升序排列,同时要求在相关组页眉区域添加一个文本框控件(命名为\,设置属性显示出姓氏信息,如 \陈\、\刘\、..等。

文本框控件(tm)的控件来源:=Left([姓名],1)

7

VBA

1. 按照以下窗体功能,补充事件代码设计。

单击\计算\按钮(名为bt),事件过程使用ADO数据库技术计算出表对象\中党员职工的平均年龄,然后将结果显示在窗体的文本框\内并写入外部文件中。

Private Sub bt_Click() '对象定义

'设置当前数据库连接

Set cn = CurrentProject.Connection

strSQL = \年龄) from tEmp where 党员否\

rs.Open strSQL, cn, adOpenDynamic, adLockOptimistic '*****Add1*****

If rs.EOF Then 或 If rs.RecordCount = 0 Then '*****Add1*****

MsgBox \无党员职工的年龄数据\ sage = 0 Exit Sub Else

sage = rs.Fields(0) End If

'*****Add2***** Me!tAge = sage

'*****Add2*****

'关闭并清除对象,再将结果写入外部文件 End Sub

2. 在窗体中有一个\显示全部记录\命令按钮(名称为bList),单击该按钮,应实现将 \表中的全部记录显示出来的功能。请按照VBA代码中的指示将代码补充完整。

Private Sub bList_Click()

'**************** 请在下面双引号内添入适当的SELECT语句 *************' BBB.Form.RecordSource = \

'*******************************************************************' [Text2] = \End Sub

3. 根据以下窗体功能要求,对已给的命令按钮事件过程进行补充和完善。在\窗体上单击\输出\命令按钮(名为\,弹出一输入对话框,其提示文本为\请输入大于0 的整数值\。

输入1时,相关代码关闭窗体(或程序)。

输入2时,相关代码实现预览输出报表对象\。

输入 >= 3 时,相关代码调用宏对象\以打开数据表\。 Private Sub btnP_Click()

Dim k As String

k = InputBox(\请输入大于0的整数值\

8

If k = \ Select Case Val(k) '*****Add1***** Case >=3

'*****Add1*****

DoCmd.RunMacro \ Case 2

'*****Add2*****

DoCmd.OpenReport \ '*****Add2***** Case 1

DoCmd.Close

End Select End Sub

4. \窗体上单击\输出\命令按钮(名为\,实现以下功能:计算Fibonacci 数列第19项的值,将结果显示在窗体上\的文本框内并输出到外部文件保存。

Fibonacci数列:

F1 = 1,n = 1 ; F2 =1,n = 2; Fn = Fn-1 + Fn-2,n >= 3 调试完毕后,必须点击\输出\命令按钮生成外部文件,才能得分。 Private Sub btnP_Click()

Dim i As Integer,s As Integer '*****Add1*****

Dim f(19) As Integer '*****Add1***** f(1) = 1: f(2) = 1 For i = 3 To 19 '*****Add2*****

f(i) = f(i - 1) + f(i - 2) '*****Add2***** Next i

'数据输出到文本框内 '*****Add3***** Me!tData = f(19) '*****Add3***** '以下是文件操作(略) End Sub

5. 在窗体的4个文本框内输入合法的职工信息后,单击\追加\按钮(名为bt1),程序首先判断职工编号是否重复,如果不重复则向表对象\中添加职工记录,否则出现提示; 当单击窗体上的\退出\按钮(名为bt2) 时,关闭当前窗体。

Private Sub bt1_Click() '定义对象,并建立连接

Set ADOcn = CurrentProject.Connection

9

ADOrs.ActiveConnection = ADOcn

ADOrs.Open \编号 From tEmp Where 编号='\

\

'*****Add1*****

If Not ADOrs.EOF Then '*****Add1*****

MsgBox \该编号已存在,不能追加!\ Else

'添加职工记录 End If

'关闭并清除对象 End Sub

10

本文来源:https://www.bwwdw.com/article/ftjt.html

Top