资源描述
Access数据库
Access
一、新建数据库
操作步骤如下:
⑴点击“开始|所有程序|Microsoft Office|Microsoft Office Access 2003”,启动Acess开发环境。
⑵选择菜单栏的“文件”,在下拉菜单选择“新建”菜单项,如图10.2所示。
⑶单击右侧“新建文件”嵌入式对话框中的“空数据库”,出现保存文件弹出式对话框,如图10.3所示。选择存盘路径,在“文件名”输入数据库的名称“教学数据库”,然后单击对话框右下的“创建(C)”按钮。
⑷在出现“教学数据库.mdb”的数据库操作对话框中,设计数据库中的其他对象,如图10.4所示。
图10.3 数据库文件保存对话框 图10.4 Access数据库
二、新建数据表
操作步骤如下:
⑴“对象”选择类型为“表”,鼠标双击窗口中的“使用设计器创建表”,打开数据表的设计视图。
⑵在“字段名称”栏,写入字段的名称,在“数据类型”栏中选择字段对应的数据类型和每个字段“常规”选项卡各个项目的设置如字段大小,在“说明”栏中输入特定字段的注释信息。
⑶重复上述步骤,直至所有字段都添加并设置完成。
⑷设置数据表的关键字,单击鼠标选中职工号字段所在的行,这时整行为黑色选中状态,再单击菜单栏中的“编辑”下拉后选中“主键”后单击,完成设置职工号为主关键字的设置。如图10.5所示。
⑸单击常用工具栏的“保存”按钮,在对话框中输入表名“教师信息表”,这样就完成一个数据表的建立。
⑹同理,可使用上述的方法完成另外数据表“学生基本信息表”和“学生课程信息表”的创建。如图10.6和图10.7所示。
⑺最后两个数据表“任课信息表”和“学生成绩表”的建立与以上数据表的建立相似,但是不创建主键。完成所有字段的添加和设置之后,单击“保存”按钮出现图10.8对话框,单击“是”,系统自动完成主键的创建,字段名称为“编号”,数据类型为自动编号。
图10.5“教师信息表”表结构设计 图10.6 “学生基本信息表”表结构设计
图10.7“学生课程信息表”表结构设计 图10.8
⑻在这里建立的数据表都没有添加索引,系统将使用添加的主键或者默认的主键“编号”做索引,排序次序为:升序,索引属性中主索引和唯一所以状态为“是”,忽略nulls状态为“否”。如果要自行添加索引,打开表设计器后,可单击“视图”菜单下拉后选中“索引”选项单击,可设置索引名、索引字段、排序方式和索引属性。“任课信息表”“学生成绩表”的所有字段、主键和索引创建完毕后如图10.9至11.12所示。
图10.9 “设置任课信息表”主键 图10.10 “设置任课信息表”索引
当所有数据表的创建完毕,这时“教学数据库”的数据库视图如图10.13所示。
图10.13 Acess数据库 图10.14显示表对话框
三、创建数据表间关系
在建立好数据库和数据表后,就可以建立“教师信息表”——<任课信息表>——“学生课程信息表”之间的关系,即“讲授”联系,再建立“学生基本信息表”——<学生成绩表>——“学生课程信息表”的关系,即“选修”联系。
操作步骤如下:
⑴打开“教学数据库”,进入数据库视图,单击菜单“工具”下拉后,选中“关系”单击,出现“关系”窗口,单击菜单“关系”下拉后,选中“显示表”后单击,则出现“显示表”对话框,如图10.14所示。
⑵在“显示对话框”中依次添加要建立关系的表——“教师信息表”、“任课信息表”、“学生课程信息”、“学生基本信息表”和“学生成绩表”,将所有表都添加到关系窗口中,单击“关闭”按钮,关闭显示表对话框。
⑶在关系窗口中选中“教师信息表”中的“职工号”字段,拖曳至“任课信息表”中的“职工号”字段后,释放鼠标左键,会出现编辑关系对话框,如图10.15所示。
⑷选中“实施参照完整性(E)”后,单击“创建”按钮,就在“教师信息表”与“任课信息表”之间建立了一个一对多的关系。
⑸使用同样的方法建立“学生课程信息表”与“任课信息表”、“学生基本信息表”与“学生成绩表”和“学生课程信息表”与“学生成绩表”三个联系。这样数据表之间关系创建完毕,最终的关系如图10.16所示。
图10.15 编辑关系对话框 图10.16 关系状态图
四、教学管理系统的实现
A登陆界面的设计
设计步骤如下:
⑴打开要设计窗体的数据库文件“教学数据库.mdb”。建立数据表“用户表”,添加一条数据记录,用户名为“admin”,密码是“123”.
⑵在“对象”选项组中选择“窗体”,在数据库窗口中双击“在设计视图中创建窗体”。这时会弹出一个窗体设计视图,如图10.17所示。
⑶单击“视图”菜单,选中“属性”菜单选项,显示窗体属性对话框。在窗体属性对话框中更改以下的窗体属性设置:滚动条:两者均无;记录选择器:否;导航按钮:否;分隔线:否;边框样式:无。属性设置如图10.18所示。
图10.17 窗体设计视图 图10.18窗体属性
⑷在窗体属性对话框中设置添加图片背景。单击“格式选项”卡,选中下面的“图片”,会显示有三个点的按钮,单击打开“插入图片”对话框,并在其中选择作为背景的图片,如图10.19所示,将“图片的缩放模式”属性改为“拉伸”。
图10.19插入图片对话框
⑸选中窗体设计视图,点击“视图”菜单中的“工具箱”选项。使用工具箱中的标签按钮给窗体添加三个标签控件(label0 ,label2 和label4),两个文本框控件(text1和text3)。文本框控件的属性为系统默认,标签控件的属性如下。
①标签1(label0)的属性为:标题:“欢迎使用教学管理”。字体名称:幼圆。字号:24。字体粗细:加粗。背景样式:透明。边框样式:透明。
②标签2(label2)的属性为:标题:“用户名”。字体名称:宋体。字号:16。字体粗细:正常。背景样式:透明。边框样式:透明。
③标签4(label4)的属性为:标题:“密码”。字体名称:宋体。字号:16。字体粗细:正常。背景样式:透明。边框样式:透明。
⑹使用工具箱中的命令控件按钮给窗体添加两个按钮控件Command5和Command6。所有控件添加完毕如图10.20所示。
①按钮控件Command5的属性为:标题:“登陆”。字体名称:宋体。字号:10。字体粗细:正常。
②按钮控件Command6的属性为:标题:“退出”。字体名称:宋体。字号:10。字体粗细:正常。
⑺选中“登陆”按钮,右键鼠标,在弹出的快捷菜单中选择事件生成器,在弹出的对话框选择“代码生成器”,这样就进入了VBA的设计界面,如图10.21所示。
图10.20 教学管理用户登陆界面 图10.21 VBA程序开发环境
⑻给按钮控件Command5的Click事件添加事件代码:
Private Sub Command1_Click()
’定义Connection对象
Dim cn As ADODB.Connection
’定义Recordset对象
Dim rs As New ADODB.Recordset
Dim username As String
Dim userpass As String
Dim sql As String
’使用Access内置Connection对象
Set cn = CurrentProject.Connection
Text1.SetFocus
username = Text1.Text
Text3.SetFocus
userpass = Text3.Text
sql = "select * from users_1 where username='" & username & "'and
password='" & userpass & "'"
rs.Open sql, cn
If rs.EOF Then
MsgBox "登录失败"
Text1.SetFocus
Text1.Text = ""
Text3.SetFocus
Text3.Text = ""
Else
DoCmd.Close
DoCmd.OpenForm "主界面"
MsgBox "登录成功"
End If
’关闭Recordset对象和Connection对象并释放内存资源
rs.Close
cn.Close
Set rs = Nothing
End Sub
⑼同样的方法给“退出”按钮添加事件代码。程序代码的功能是关闭登陆窗体,代码如下:
Private Sub Command6_Click()
DoCmd.Close
End Sub
五、主界面的设计
在教学管理欢迎界面上单击“进入”就会显示其应用程序主界面,下面介绍主界面的设计过程。
图10.22 “教学管理”系统主界面
⑴打开“教学数据库”。在“对象”选项组双击“在设计视图中创建窗体”,进入窗体设计视图。
⑵与上一单元所介绍方法相同,添加5个按钮控件和两个组合框控件,设置窗体和各个控件属性,调整好各个控件的位置和标题文字的大小。①组合框控件1的“行来源类型”属性为“值列表”,“行来源”属性设置为:教师基本信息查询;教师任课信息查询。②组合框控件2的“行来源类型”属性为“值列表”,“行来源”属性设置为:学生基本信息查询;学生选课信息查询。如图10.22所示。
⑶给各个按钮控件的单击事件添加代码,代码功能为关闭“主界面”窗体,打开相应模块的窗体界面。以“教师信息管理”按钮和组合框控件1为例,其代码如下:
’命令按钮教师信息管理
Private Sub Command1_Click()
DoCmd.Close
DoCmd.OpenForm “教师信息管理”
End Sub
’ 组合框控件1
Private Sub Combo8_BeforeUpdate(Cancel As Integer)
If Combo8.Value = "教师基本信息查询" Then
DoCmd.Close
DoCmd.OpenForm "教师基本信息查询"
Else
If Combo8.Value = "教师任课信息查询" Then
DoCmd.Close
DoCmd.OpenForm "教师任课信息查询"
End If
End If
End Sub
六、其他窗体设计
利用前面章节所学知识将教学管理各个功能模块逐一实现,其中教师信息管理有两个功能:“教师信息管理”和“教师信息浏览”。
1.教师信息管理
教师信息管理包括修改记录,删除记录,添加新记录。
操作步骤如下:
⑴在Access中建立一个以“教师信息表”为数据源的纵栏式窗体。
⑵将窗体的标题属性设置成“教师信息管理”。
⑶通过命令按钮向导将第一项记录、前一项记录、下一项记录、最后一项记录、保存记录、删除记录、添加记录、查找记录按钮依次放置到数据源窗口中。
⑷添加“返回”按钮,返回的功能是关闭当前窗体并打开主界面窗体,并编写起单击事件代码如下:
Private Sub Command27_Click()
DoCmd.Close
DoCmd.OpenForm “主界面”
End Sub
⑸调整好各个控件的位置、标题文字的大小,设置相应属性。保存并将窗体命名为“教师信息管理”。教师信息管理窗体如图10.23所示。
图10.23“教师信息管理”窗体设计
2.学生基本信息管理
学生基本信息管理有两个功能:学生信息管理、学生信息浏览。学生信息管理包括修改记录,删除记录,添加新记录。
操作步骤如下:
⑴在Access中建立一个以“学生基本信息表”为数据源的纵栏式窗体。
⑵将窗体的标题属性设置成“学生基本信息管理”。
⑶通过命令按钮向导将第一项记录、前一项记录、下一项记录、最后一项记录、保存记录、删除记录、添加记录、查找记录按钮依次放置到数据源窗口中。
⑷添加“返回”按钮,返回的功能是关闭当前窗体并打开主界面窗体,并编写起单击事件代码如下:
Private Sub Command28_Click()
DoCmd.Close
DoCmd.OpenForm “主界面”
End Sub
⑸调整好各个控件的位置、标题文字的大小,设置相应属性。保存并将窗体命名为“学生基本信息管理”。学生基本信息管理窗体如图10.24所示。
图10.24“学生基本信息”窗体设计
3.教师基本信息查询
教师信息查询的功能是:输入教师职工号,查询该教师基本信息,也可以查询该教师的任课情况。
操作步骤如下:
⑴打开“教学数据库”。在“对象”选项组双击“在设计视图中创建窗体”,进入窗体设计视图。
⑵将窗体的标题属性设置成“教师基本信息查询”。
⑶通过“控件工具箱”依次添加所需控件,调整好各个控件的大小位置、标题文字的字体和大小。保存并将窗体命名为“教师信息查询1”。教师信息查询1窗体如图10.25所示。
图10.25“教师信息查询”窗体设计
⑷编写“返回”命令按钮和“查询基本信息”命令按钮的单击事件代码。返回的功能是关闭当前窗体并打开主界面窗体,代码同上。查询基本信息的功能是如果存在输入工号显示该教师信息并提示“成功找到该教师信息”,不存在输入工号提示“不存在该教师信息”。其代码如下:
Private Sub Command34_Click()
’定义Connection对象
Dim cn As ADODB.Connection
’定义Recordset对象
Dim rs As New ADODB.Recordset
Dim sql As String
Dim string1 As String
Dim bool1 As Boolean
’使用Access内置Connection对象
Set cn = CurrentProject.Connection
Text32.SetFocus
string1 = Trim(Text32.Text)
bool1 = False
sql = "select * from 教师信息表"
rs.Open sql, cn
rs.MoveFirst
Do While Not rs.EOF
If rs.Fields("职工号") = string1 Then
bool1 = True
职工号.SetFocus
职工号.Text = rs.Fields(0)
系别.SetFocus
系别.Text = rs.Fields(1)
姓名.SetFocus
姓名.Text = rs.Fields(2)
性别.SetFocus
性别.Text = rs.Fields(3)
工作日期.SetFocus
工作日期.Text = Str(rs.Fields(4))
职称.SetFocus
职称.Text = rs.Fields(5)
学位.SetFocus
学位.Text = rs.Fields(6)
政治面貌.SetFocus
政治面貌.Text = rs.Fields(7)
联系电话.SetFocus
联系电话.Text = rs.Fields(8)
婚姻状况.SetFocus
婚姻状况.Value = rs.Fields(9)
MsgBox "成功找到该教师信息"
End If
rs.MoveNext
Loop
If bool1 = False Then
MsgBox "不存在该教师信息"
End If
’关闭Recordset对象和Connection对象并释放内存资源
rs.Close
cn.Close
Set rs = Nothing
End Sub
4.教师任课信息查询
操作步骤如下:
⑴打开“教学数据库”。在“对象”选项组双击“在设计视图中创建窗体”,进入窗体设计视图。
⑵将窗体的标题属性设置成“教师任课信息查询”。
⑶通过“控件工具箱”依次添加所需控件,调整好各个控件的大小位置、标题文字的字体和大小。保存并将窗体命名为“教师信息查询2”,如图10.26所示。
图10.26教师信息查询2窗体 图10.27课程信息子窗体
⑷按上述步骤在建立一个窗体。窗体的默认视图属性设置为“数据表”。保存并将窗体命名为“课程信息子窗体”,如图10.27所示。
⑸在数据库窗口中选中窗体“教师信息查询2”,单击“设计”,然后选中窗体“课程信息子窗体”将其拖曳到“教师信息查询2”的下方,Access将自动将“课程信息子窗体”加入到“教师信息查询2”上作为子窗体,如图10.28所示。
⑹编写“返回”命令按钮和“查询任课信息”命令按钮的单击事件代码。返回的功能是关闭当前窗体并打开主界面窗体,代码同上。查询基本信息的功能是如果存在输入工号主窗体显示出教师信息并在子窗体中的显示该教师的任课信息,并提示“成功找到该教师任课信息”,不存在输入工号提示“不存在该教师任课信息”。其代码类似上面的教师基本信息查询,这里只给出教师信息表、任课信息表和学生课程信息表的多表查询的SQL语句如下:
①查询所有任课教师的任课信息:SELECT 教师信息表.职工号, 系别, 姓名, 职称, 学生课程信息表.课程号, 课程类别, 课程名称, 学时FROM 学生课程信息表 INNER JOIN (教师信息表 INNER JOIN 任课信息表 ON 教师信息表.职工号=任课信息表.职工号) ON 学生课程信息表.课程号=任课信息表.课程号;
②通过工号查询某个教师的任课信息:
SELECT 学生课程信息表.课程号, 课程类别, 课程名称, 学时 FROM 学生课程信息表 INNER JOIN (教师信息表 INNER JOIN 任课信息表 ON 教师信息表.职工号=任课信息表.职工号) ON 学生课程信息表.课程号=任课信息表.课程号
where 教师信息表.职工号='" & string1 & "'
图10.28 教师信息查询2窗体
5.学生基本信息查询和学生选课查询
⑴“学生基本信息查询”窗体的功能是在查询文本框中输入“学号”值,如果存在输入的“学号”值在数据表中存在,则显示该学生基本信息并提示“成功找到该学生信息”,否则提示“不存在该学生信息”。
⑵“学生选课查询窗体”的功能是在查询文本框中输入学号,如果存在输入学号主窗体显示出学生信息并在子窗体中的显示该学生的选课信息,并提示“成功找到该学生选课信息”,不存在输入学号提示“不存在该学生选课信息”。按照上面类似的步骤可完成这两个窗体的设计。如图10.29和图10.30所示。
图10.31“课程信息录入”窗体 图10.32“学生课程查询”向导
⑵将窗体的标题属性设置成“课程信息录入”。
⑶通过命令按钮向导将第一项记录、前一项记录、下一项记录、最后一项记录、保存记录、删除记录、添加记录、查找记录按钮依次放置到数据源窗口中。
⑷添加“返回”按钮,返回的功能是关闭当前窗体并打开主界面窗体,并编写起单击事件代码。
⑸调整好各个控件的位置、标题文字的大小,设置相应属性。保存并将窗体命名为“课程信息录入”。课程信息录入窗体如图10.31所示。
7.学生成绩录入
⑴使用查询设计视图建立一个选择查询“学生课程查询”,从学生课程信息表、学生成绩表和学生基本信息表三个表中查询学号,姓名,系别,课程号,课程名称,课程类别,学时和成绩字段。SQL查询语句如下:
SELECT 学生基本信息表.学号, 姓名, 系别, 学生课程信息表.课程号, 课程名称, 课程类别, 学时, 成绩 FROM 学生课程信息表 INNER JOIN (学生基本信息表 INNER JOIN 学生成绩表 ON 学生基本信息表.学号=学生成绩表.学号) ON 学生课程信息表.课程号=学生成绩表.课程号;
⑵通过向导创建一个数据源是“学生课程查询”的带有子窗体的窗体。如图10.32所示。
⑶通过命令按钮向导将保存记录、查找记录按钮依次放置到数据源窗口中。
⑷添加“返回”按钮,返回的功能是关闭当前窗体并打开主界面窗体,并编写起单击事件代码。
⑸调整好各个控件的位置、标题文字的大小,设置相应属性。保存并将窗体命名为“学生成绩录入”。学生成绩录入窗体如图10.33所示。
图10.33“学生成绩录入”运行图 图10.34“学生选课”窗体设计
8.学生选课
“学生选课”模块功能是可以让学生选修相应课程。
⑴使用查询设计视图建立一个选择查询“课程详细查询”,从学生课程信息表、任课表和教师基本信息表三个表中查询课程号,课程名称,课程类别,学时和任课教师字段。SQL查询语句如下:
SELECT 学生课程信息表.课程号, 课程类别, 课程名称, 学时,姓名 as 任课教师FROM 学生课程信息表 INNER JOIN (教师信息表 INNER JOIN 任课信息表 ON 教师信息表.职工号=任课信息表.职工号) ON 学生课程信息表.课程号=任课信息表.课程号
⑵使用窗体设计器,在窗体上依次添加如图10.34所示的各个控件,调整好各个控件的位置、标题文字的大小,设置相应属性。
⑶编写“确定”按钮的单击事件代码。如果学号存在,将学生的学号、系别和姓名信息显示在标签label22中;学号不存在提示“请重新输入学号”,代码如下:
Private Sub Command24_Click()
Dim cn As ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql1 As String
Dim string1 As String
Set cn = CurrentProject.Connection
Text21.SetFocus
string1 = Text21.Text
sql1 = "select * from 学生基本信息表 where 学号='" & string1 & "'"
rs.Open sql1, cn
If rs.EOF Then
MsgBox "请重新输入学号"
Text21.SetFocus
Text21.Text = ""
Else
MsgBox "你可以开始选课了"
Label22.SetFocus
Label22.Visible = True
Label22.Caption = rs.Fields("姓名") & "你好,你的学号是" &
rs.Fields("学号") & ",系别为" & rs.Fields("系别")
End If
rs.Close
Set cn = Nothing
End Sub
⑷编写“返回”按钮和“选课”按钮的单击事件代码。“选课”按钮的功能是向学生成绩表中插入一条记录。代码如下:
Private Sub Command20_Click()
Dim cn As ADODB.Connection
Dim rs As New ADODB.Recordset
Dim ins As String
Dim sql As String
Dim string0 As String
Dim string1 As String
Set cn = CurrentProject.Connection
课程号.SetFocus
string0 = Trim(课程号.Text)
Text21.SetFocus
string1 = Trim(Text21.Text)
ins = "insert into 学生成绩表(课程号,学号) values('" & string0 & "','" &
string1 & "')"
DoCmd.SetWarnings False
DoCmd.RunSQL ins
DoCmd.SetWarnings True
sql = "select * from学生成绩表where 课程号='" & string0 & "'
and 学号='" & string1 & "'"
rs.Open sql, cn
If rs.EOF Then
MsgBox "添加记录失败"
Else
MsgBox "添加记录成功"
End If
rs.Close
cn.Close
Set rs = Nothing
End Sub
七、设计自动起动宏
⑴在打开“教学管理”数据库后,在数据库操作对话框中的“对象”栏选择宏,然后单击“新建”按钮,打开宏设计视图。
⑵在宏设计视图的“操作”列中选择“OpenForm”,在“窗体名称”下拉列表框中选中“系统登陆”,保存
八、选择查询
(1) 打开数据库,在“数据库”窗口中选择“查询”,双击右侧列表的“在设计视中创建查询”,打开查询设计视图和“显示表”对话框,如图3.1所示。
(2)在“显示表”对话框中依次将学生基本信息表、学生课程信息表和学生成绩表添加到查询设计视图中,如图3.2所示。
(3)依次双击“系别”、“学号”、“系别”、“课程名称”和“成绩”字段,将其加添加到设计视图的“条件”栏,并在“成绩”字段的“条件”栏输入:<60,如图4.3所示。
(4)在菜单栏中选择“视图”菜单的“数据表视图”命令,查看查询结果,如图4.4所示。
(5)如果查询结果不满足要求,则选择“视图”菜单的“设计视图”命令,返回设计视图修改查询。如果结果满足要求,则单击工具栏的“保存”按钮,弹出“另存为”对话框,在“查询名称”对话框中输入查询名“不及格学生名单查询”,如图4.5所示,然后单击“确定”按钮。
(6)关闭查询设计视图,可以通过双击“查询”列表的“不及格学生名单查询”运行查询。
图3.1 “显示表”对话框 图3.2 设计视图
图4.4 选择查询结果 图4.5 “另存为”对话框
2.总计查询
(1)打开设计视图,并将学生基本信息表添加到设计视图中,双击“出生地点”和“学号”字段,将其分另添加到“字段”栏。
(2)选择“视图”菜单的“总计”命令,设计视图的“表”和“排序”栏之间添加了一个“总计”栏,并将“出生地点”和“学号”字段的“总计”项设置为“分组”,如图4.6所示。
3)由于以“出生地点是安徽”为条件而不要求显示该字段,所以将“出生地点”字段的“总计”项设置为“条件”,单击“总计”栏,然后单击其右侧出现的向下箭头,在弹出的下拉列表中选择“条件”;并在“条件”栏内输入查询准则:Left([出生地点],2)="安徽",取消其“显示”栏复选框的选中。
图4.6 添加“总计”栏 图4.7 总计查询设置
(4)统计学生人数可以对“学号”字段值计数得到,将“学号”字段的“总计”项设置为“计数”,具体设置结果如图4.7所示。
(5)单击工具栏上的“保存”按钮,弹出“另存为”对话框,在“查询名称”文本框内输入:安徽籍学生人数统计,然后单击“确定”按钮保存查询。
(6)在数据库窗口的“查询”对象列表中,单击选中查询“安徽籍学生人数统计”,然后选择“视图”菜单的“数据表视图”命令,运行查询,查询结果如图4.8所示。选中查询后也可以单工具栏的上运行按钮来运行查询。
(7)图4.8的查询结果不符合题目要求,需将“学号之计数”更改为“安徽籍人数”。单击工具栏的“视图”按钮切换到设计视图作如图4.9所示的修改即可,最后的查询结果如图4.10所示。
图4.8 总计查询一 图4.9自定义字段名称
3.分组总计查询
(1)打开设计视图,将学生基本信息表添加到设计视图中。双击“政治面貌”和“学号”字段分别将其添中到设计视图中。
(2) 选择“视图”菜单的“总计”命令,设计视图的“表”和“排序”栏之间添加了一个“总计”栏,并将“政治面貌”和“学号”字段的“总计”项设置为“分组”。
(3)要求统计各党派人数,要按“政治面貌”分组,所以保持“政治面貌”的“总计”项为默认的“分组”不变。将“学号”字段的“总计”项设置为“计数”,如图4.11所示。
(4)由于要求显示“政治面貌”和“人数字段”,其中“人数”字段属于新建字段,值来源于对“学号”计数,故将设计视图修改如图4.12所示。
图4.11分组总计查询设过程一 图4.12分组总计查询过程二
(5)单击工具栏上的“保存”按钮,弹出“另存为”对话框,在“查询名称”文本框内输入:各党派学生人数统计,然后单击“确定”按钮保存查询。
(6)单击工具栏上的运行按钮,切换到“数据表”视图,显示查询结果如图4.13所示。
图4.13分组总计查询结果
4.交叉表查询
由于本查询的数据源为学生基本信息表、学生课程表和学生成绩表,可以利用前面的“不及格学生名单查询”为数据源使用“交叉表查询向导”来创建。
(1)在数据库的“查询”对象列表中选择“新建”按钮,在弹出的“新建查询”对话框中选择“交叉表查询向导”,如图4.14所示,然后单击“确定”按钮。
(2)弹出“交叉表查询向导”第1个对话框,在 “视图”处选择“查询”,在上方的列表框内列出已有查询,选择“不及格学生名单查询”,如图4.15所示,然后单“下一步”按钮。
(3) 弹出“交叉表查询向导”第2个对话框,设置交叉表的行标题。在“可用字段”列表中双击“课程名称”,将其添加到“选定字段”列表中,如图4.16所示,然后单击“下一步”按钮。
(4) 弹出“交叉表查询向导”第3个对话框,设置交叉表的列标题。在列表框中单击选择“系别”字段,如图4.17所示,然后单击“下一步”按钮。
图4.16 交叉表查询向导之二 图4.17 交叉表查询向导之三
(5) 弹出“交叉表查询向导”第4个对话框,设置交叉表的值,在“字段”列表中选择“学号”字段,函数列表中选择“计数”函数,并取消“是,包含各行小计”的选中,如图4.17所示,然后单击“下一步”按钮。
(6) 弹出“交叉表查询向导”第5个对话框,在“请指定查询的名称”文本框内输入:各课程各系不及格人数,并选择“查看查询”,如图4.19所示,单击“完成”按钮,弹出交叉表查询结果,如图4.20所示。
图4.18 交叉表查询向导之四 图4.19 交叉表查询向导之五
图4.20 交叉表查询结果
5.单参数查询
(1) 打开设计视图,将学生基本信息表、学生成绩表、学生课程信息表添加到设计视图中。双击“课程名称”、“学号”、“姓名”和“成绩”分别将其添中到设计视图中。
图4.21 单参数查询设置
(2)在“课程名称”字段的“条件”栏内输入:Like [输入课程号或课程名称] ,在“课程号”字段的“或”栏输入:Like [输入课程号或课程名称]。由于要求查询结果中不显示“课程号”字段,所以取消“课程号”字段的“显示”栏内复选框的选中,设置结果如图4.21所示。
(3) 单击工具栏上的“保存”按钮,弹出“另存为”对话框,在“查询名称”文本框内输入:通过课程号或课程名称查询成绩,然后单击“确定”按钮保存查询。
(4) 单击工具栏上的运行按钮,弹出“输入参数值”对话框,提示用户输入课程号或课程名称,假定输入101,如图4.22然后单击“确定”按钮,显示查询结果如图4.23所示
图4.22 “输入参数值”对话框 图4.23 单参数查询结果
6.多参数查询
(1)打开设计视图,将教师信息表添加到设计视图中。分别双击“系别”、“职称”、“姓名”和“学位”字段分别将其添中到设计视图中。
(2)在“系别”字段的“条件”栏输入“Like [输入系别]”,在“职称”字段的“条件”栏输入“Like [输入职称]”,如图4.24所示。
(3) 单击工具栏上视图按钮或运行按钮,弹出第一个“输入参数值”对话框,提示用户输入系别,假定输入“计算机”,如图4.25所示,然后单击“确定”按钮。
图4.24 多参数查询设置 图4.25输入第一个参数
(4)弹出第二个“输入参数值”对话框,提示用户输入职称,假定输入“副教授”,如图4.26所示,然后单击“确定”按钮。
(5)弹出查询查结果,如图4.27所示。单击工具栏上的“保存”按钮,弹出“另存为”对话框,在“查询名称”文本框内输入:通过系别和职称查教师,然后单击“确定”按钮保存查询。
图4.26输入第二个参数 图4.27 多参数查询结果
学这门,我明白了课程在进行数据库应用程序开发前必须建立数据库,数据库既能反映现实世界实体和信息之间的联系,又满足用户数据要求和加工要求。数据库设计,对于一个给定的实际应用,就是提供一个确定最优数据模型与处理模式的逻辑设计,还要提供一个确定数据库存储结构与存取方法的物理设计。
数据库软件的开发要进行项目的必要性和可行性分析,作好规划工作,这一步是数据库设计的基础。然后从数据库设计的角度出发,对要处理的事物进行详细调查,了解原系统的基础上确定新系统的数据、处理和安全完整性三个方面。作好了需求分析,把分析写成用户和开发人员都能够接受的文档,可以使数据库的开发高效且合乎设计标准。完成需求分析后,再运用数据库整体规划和设计中的理论和方法,对数据库进行总体规划。
“教学管理系统”是为了满足教学管理过程中学生选课和教师讲授任教两个方面的工作而设计的,它应该包括信息的增加、修改、删除、查询这些基本功能。具体包括三个主要功能模块:①教师信息管理,用于实现教师信息的添加;②学生信息管理,实现学生信息和学生成绩的编辑,还提供对学生信息、成绩的统计、查询和浏览功能;③学生选课信息管理,用于实现课程信息和学生选课信息的管理,包括课程信息的录入、学生选课信息登记等情况的查询。
这对我以后工作求职应该会有很大帮助。
展开阅读全文