第一章作业分析Word文档格式.docx
- 文档编号:4336766
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:19
- 大小:174.38KB
第一章作业分析Word文档格式.docx
《第一章作业分析Word文档格式.docx》由会员分享,可在线阅读,更多相关《第一章作业分析Word文档格式.docx(19页珍藏版)》请在冰点文库上搜索。
查询设计视图如下图所示:
讨论:
如果查询设计视图上不出现导师表,则查询结果将达54行,为什么?
页首
第三章
实验题(11)输出导师马腾跃所带研究生中入学日期最早者姓名。
这是一个嵌套查询,步骤是首先找出马腾跃所带研究生的最早日期,再进一步查找马腾跃所带的研究生中谁的入学日期恰好与它相同,此时可输出这个(这些)研究生的名字。
SELECT研究生.姓名
FROM导师INNERJOIN研究生ON导师.导师编号=研究生.导师编号
WHERE入学日期=(SELECTMIN(入学日期)FROM导师INNERJOIN研究生ON导师.导师编号=研究生.导师编号WHERE导师.姓名='
马腾跃'
)AND导师.姓名='
本题最易犯的错误是省略最后部分的AND导师.姓名='
,此时执行查询,显示的结果也许还是对的,但从逻辑上说是错误的,为什么?
实验题(12)输出图示的交叉表,内容为各个导师(姓名)所带的不同研究方向男女研究生的最高分。
交叉表只能用“交叉表查询向导”完成。
交叉表向导的数据源只能是一个,而现在要求的内容涉及到两个表(导师表和研究生表)。
要解决这个问题,只能通过查询进行,将交叉表中相关字段在查询涉及视图中组成一个简单的查询,再以该查询作为交叉表的数据源,从而将多重数据源转换成单一数据源。
查询设计视图如下:
第五章
实验题(6)找出所有姓李的导师的姓名及其所带研究生的姓名,在立即窗口中输出。
102
李向明
男
51
冯山谷
101
103
马大可
女
58
杨柳
104
李小严
63
周旋敏
马力
马德里
潘浩
SubData_Plus()
DimAAsInteger,BAsInteger
DimCAsInteger,DAsInteger
'
4个原始数据
A=23:
B=12:
C=31:
D=19
CallLine1(20)'
调用过程绘制第一条横线(20个-)
Debug.PrintA;
Tab(6);
B;
Tab(12);
A+B
Debug.PrintC;
D;
C+D
CallLine1(30)'
调用过程绘制第二条横线(30个-)
Debug.PrintA+C;
B+D;
A+B+C+D
CallLine1(18)'
调用过程绘制第三条横线(12个-)
EndSub
SubLine1(NAsInteger)'
绘制N个"
-"
组成的横线
DimIAsInteger
IfN<
15OrN>
25ThenN=15
ForI=1ToN
Debug.Print"
;
NextI
Debug.Print'
取消最后的"
"
作用
EndSub
第六章
题目:
实验题(9)编写一个程序,上有一个文本框和一个按钮“四季”;
单击一次按钮,文本框中显示一个季节名称,依次是红色的“春”、黄色的“夏”、蓝色的“秋”和绿色的“冬”,文字大小为72磅,字体依次为宋、仿宋、楷、黑,再次单击重复显示“春”。
窗体保存为“实验8”,见下图:
1.选择“在设计视图中创建窗体”命令,在新窗体上添加一个文本框和一个按钮;
2.将按钮的标题修改为“四季”;
3.打开VBA代码窗口,在“对象”下拉列表框中选择按钮,本例为Command2,在“过程”下拉列表框中选择Click(单击事件);
4.在PrivateSubCommand2_Click()和EndSub之间输入下面的代码:
IfIsNull(Text0.Value)=TrueThen
Text0.ForeColor=vbRed
Text0.FontName="
宋体"
Text0.Value="
春"
ElseIfText0.Value="
Then
Text0.ForeColor=vbYellow
仿宋"
夏"
Text0.ForeColor=vbBlue
楷体"
秋"
Text0.ForeColor=vbGreen
黑体"
冬"
EndIf
5.在“对象”下拉列表框中选择窗体Form,在“过程”下拉列表框中选择Load(加载事件);
6.在PrivateSubForm_Load()和EndSub之间输入下列代码:
Text0.FontSize=100'
设置文本框中文字大小
Command2.SetFocus
Command2.Default=True'
任何时候按下回车键相当于鼠标单击该按钮
7.关闭代码窗口,切换到“窗体视图”,然后回到窗体设计视图中调整文本框的大小和窗体的大小;
8.保存窗体。
第七章
实验题(10)编写下图所示简易计算器,要求:
(1)参与计算的数据是1000及以内的实数,否则自动为0;
(2)计算精度均只保留小数两位;
(3)窗体启动和单击“清除”按钮后,4种运算符的单选按钮全部为灰色,文本框为0;
(4)除法运算时,如果除数为0则计算结果显示“ERROR”。
1.新建一个窗体,在上面添加所需控件见下图所示,注意应该先添加选项组控件,再增加选项按钮,见下图;
2.利用窗口设计视图中的“格式”菜单命令“大小”和“对齐”,调整窗体上各个控件的大小与对齐方式
3.在VBA代码窗口中建立相应的事件过程,输入下列代码:
PrivateSubCommand20_Click()
IfIsNull(Frame8.Value)=TrueThen
MsgBox"
请选择运算符!
"
EndIf
IfFrame8.Value=1Then
Text6.Value=Val(Text2.Value)+Val(Text4.Value)
IfFrame8.Value=2Then
Text6.Value=Val(Text2.Value)-Val(Text4.Value)
IfFrame8.Value=3Then
Text6.Value=Val(Text2.Value)*Val(Text4.Value)
IfFrame8.Value=4AndVal(Text4.Value)=0Then
除数不能为零!
IfFrame8.Value=4AndVal(Text4.Value)<
>
0Then
Text6.Value=Val(Text2.Value)/Val(Text4.Value)
Text6.Value=Format(Text6.Value,"
0.0000"
)
EndSub
PrivateSubCommand21_Click()
CallForm_Load
PrivateSubCommand22_Click()
DoCmd.Close
EndSub
PrivateSubForm_Load()
Text2.Value="
Text4.Value="
Text6.Value="
Text2.SetFocus
Command20.Default=True
Command21.Cancel=True
Frame8.Value=Null
第七章
实验题(3①~⑦)全部代码。
表7.4《数据库原理》成绩单
学号
姓名
成绩
等级
200401
刘伟
96
200402
秦建中
87
200403
张峻
67
200404
高萍
92
200405
林亦明
83
200406
宋海涛
71
……
代码:
DimCNAsADODB.Connection
DimRSAsADODB.Recordset
PrivateSubForm_Load()
OnErrorGoToloop1
文本8.Locked=True'
该文本框表示等级,不能直接输入成绩值
DoCmd.OpenTable"
数据库原理"
'
成绩单表存在
DoCmd.CloseacTable,"
acSaveNo
命令26.Enabled=False'
表存在,无需创建表
SetCN=CurrentProject.Connection
SetRS=NewADODB.Recordset
RS.LockType=adLockOptimistic
RS.Open"
CN,,,adCmdTable
IfRS.EOF=TrueAndRS.BOF=TrueThen'
表中没有记录
命令15.Enabled=False
命令16.Enabled=False
文本12.Enabled=False
ExitSub
EndIf
文本2.Value=RS!
学号
文本4.Value=RS!
姓名
文本6.Value=RS!
成绩
文本8.Value=RS!
等级
loop1:
IfErr.Number=7874Then
文本2.Value=Null
文本4.Value=Null
文本6.Value=Null
文本8.Value=Null
MsgBox"
成绩单不存在"
命令14.Enabled=False
命令18.Enabled=False
命令24.Enabled=False
EndSub
PrivateSub命令14_Click()'
新纪录按钮
建立新记录
RS.AddNew
PrivateSub命令15_Click()'
前一记录按钮
RS.MovePrevious
IfRS.BOF=FalseThen
Else
RS.MoveNext
PrivateSub命令16_Click()'
后一记录按钮
IfRS.EOF=FalseThen
PrivateSub命令17_Click()'
退出按钮
DoCmd.Close
PrivateSub命令18_Click()'
保存记录按钮
保存对当前记录的修改
IfRS.BOF=TrueAndRS.EOF=TrueThen'
如果没有记录,添加新纪录
RS!
学号=文本2.Value
姓名=文本4.Value
成绩=文本6.Value
等级=文本8.Value
RS.Update
命令15.Enabled=True
命令16.Enabled=True
命令24.Enabled=True
PrivateSub命令24_Click()'
删除当前记录按钮
进行删除确认
DimSureAsByte
Sure=MsgBox("
是否要删除当前记录(数据间左侧文本框)?
vbYesNo+vbQuestion,"
成绩管理"
IfSure=vbNoThenExitSub
RS.Delete
RS.MoveLast'
转至最后记录,准备继续删除空记录
PrivateSub命令26_Click()'
创建表按钮
DoCmd.RunSQL"
createtable成绩单(学号text(6),姓名text(3),成绩byte,等级text(4))"
命令14.Enabled=True'
可以增加新纪录
命令18.Enabled=True'
可以保存记录
命令18.SetFocus
本命令按钮无效
成绩单"
PrivateSub文本21_Click()'
均方差计算文本框
DimAvgAsSingle,IAsByte,NAsInteger,FAsSingle
上述变量分别表示均数、循环变量、记录数、均方差
RS.MoveFirst
DoWhileRS.EOF=False
Avg=Avg+RS!
N=N+1
Loop
Avg=Avg/N
ForI=1ToN
F=F+(RS!
成绩-Avg)^2
NextI
F=Sqr(F/(N-1))
文本12.Value=F
PrivateSub文本6_LostFocus()'
根据成绩字段值,计算等级
当插入点离开本文本框时,计算出“等级”值
IfVal(文本6.Value)>
=85Then
文本8.Value="
优秀"
ElseIfVal(文本6.Value)>
=60Then
及格"
不及格"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章 作业 分析