教师管理系统毕业设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

教师管理系统
--------------前言--------------
教师管理系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以教师管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高教师管理的效率,也是学校教师管理的科学化、正规化,与世界接轨的重要条件。

因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套教师管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。

--------------摘要--------------
教师管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

对于前者要求建立起数据一致性和完整性强、数据安全性好的库。

而对于后者则要求应用程序功能完备,易使用等特点。

经过分析,我们使用MICROSOFT公司的VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。

整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发。

论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。

重点的说明了系统设计的重点、设计思想、难点技术和解决方案。

关键字 Visual Basic 6.0Access2000 控件窗体域
Abstract The system of managing census register file is a typical application of managing information system (know as MIS),which mainly includes building
up data-base of back-end and developing the application interface of front-end.
The former required consistency and integrality and security of data. The later
should make the application powerful and easily used.
By looking up lots of datum, we selected Visual Basic presented by Microsoft
because of its objective tools in Win32. VB offered a series of ActiveX
operating a data-base. It can give you a short-cut to build up a prototype of
system application. The prototype could be modified and developed till users
are satisfied with it.
Key Word Visual Basic 6.0、Access2000、ActiveX、Form、Field
目录
引言
第一章 MIS简介
1.1什么是MIS系统
1.2 MIS的主要任务
第二章系统需求分析
2.1系统设计背景介绍
2.2系统功能分析
第三章系统设计平台及相关工具软件简介3.1设计平台: Visual Basic 6.0
3.2数据库: Microsoft Access
第四章教师管理系统总体设计
4.1 系统设计
4.2 数据库设计
第五章数据模块创建及功能实现
5.1 数据模块的创建
5.2 系统功能实现
第六章系统功能测试
总结
参考文献

引言
随着信息技术的飞速发展,特别是数据库技术的发展,计算机已经成为当今信息时代的关键工具。

数据库技术是计算机应用技术中的一个重要组成部分,对于大量的数据,使用数据库来存储管理将比通过文件来存储管理更高效。

数据库技术在经过几代变革以后,出现了以关系数据库产品为主流的数据库时代。

Access 2000是微软公司推出的关系数据库产品。

作为Microsoft的office套件产品之一,Access已经卖出了近700万份,成为世界上最流行的桌面数据库系统。

Access与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充。

Visual Basic作为应用程序的开发“利器”也表现在数

据库应用程序的开发上,它良好的界面和强大的控件功能使数据库编程变得简单多了。

Visual Basic提供了强有力的数据库存取能力,将Windows的各种先进特性与强大的数据库管理功能有机地结合在一起。

本次毕业设计——教师管理系统是运用ADO技术设计开发的,使用大量地SQL语句进行添加、查询、删除等操作。

本系统使用Access 2000作为后台数据库,利用Visual Basic 6.0提供的数据库开发平台开发前台部分。

第一章 MIS简介
1.1什么是MIS系统
所谓MIS(管理信息系统--Management Information System)系统,是一个由人、计算机及其他外围设备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统。

它是一门新兴的科学,是信息系统的重要分支之一。

经过30多年的发展,MIS已经成为一个具有自身概念、理论、结构、体系和开发方法的覆盖多学科的交叉性综合性学科,其组成部分有:计算机学科(网络通讯、数据库、计算机语言等)、数学(统计学、运筹学、线性规划等)、管理学、仿真等多学科。

随着科学技术的高速发展,MIS涉及的范围还要扩大。

1. MIS的对象就是信息。

信息是经过加工的数据,信息是对决策者有价值的数据。

信息的主要特征是来源分散,数量庞大。

信息来源于生产第一线,来源于社会环境,来源于市场,来源于行政管理等部门。

信息具有时间性。

信息的加工方式有多种形式。


2.系统是由相互联系、相互作用的若干要素按一定的法则组成并具有一定功能的整体。

系统有两个以上要素,各要素和整体之间,整体和环境之间存在一定的有机联系。

系统由输入、处理、输出、反馈、控制五个基本要素组成。

3.管理信息由信息的采集、信息的传递、信息的储存、信息的加工、信息的维护和信息的使用五个方面组成。

任何地方只要有管理就必然有信息,如果形成系统就形成MIS。

计算机设备使MIS更有效,尤其是现代社会,MIS已和计算机设备不可分离,因此一般来说MIS就是计算机MIS。

MIS包括计算机、网络通讯设备等硬件成份,包括操作系统、应用软件包等软件成份。

并随着计算机技术和通讯技术的迅速发展还会出现更多的内容。

计算机设备并不是MIS的必要条件。

1.2 MIS的主要任务
管理信息系统辅助完成企业日常结构化的信息处理任务,一般认为MIS的主要任务有如下几方面:
1.对基础数据进行严格的管理,要求计量工具标准化、程
序和方法的正确使用,使信息流通渠道顺畅。

有一点非常关键,就是必须保证信息的准确性、一致性;
确定信息处理过程的标准化,统一数据和报表的标准格式,以便建立一

第二章系统需求分析
2.1 系统设计背景介绍
管理信息系统就是我们常说的MIS (Management Information System),在强调管理,强调信息的现代社会中它变的越来越普及。

而将信息管理系统与企业自动化设备想结合,则是当今社会现代企业的发展趋势。

通过这样的管理方式,企业的管理人员、技术人员、统计教师等各部门人员就能从大量烦琐的资料和数据中解脱出来,只需对自己需要的数据和内容进行必须的处理,而不用对每个环节都了如指掌。

这在一定程度上能够节省人力物力,同时也大大加强了对数据处理的及时性和准确性。

本次的开发内容——教师管理系统就是信息管理与现代化办公设备相结合的例子。

开发本系统希望使人事管理人员可以从年复一年的输入、计算、统计等工作中解脱出来,由于人事方面的数据众多,输入、统计极为不便,输入量大,计算量大。

这些工作都以人力来完成将费时费力,而且容易出现错误和疏漏。

本系统一次录入信息后,就可以反复多次在不同的信息库中使用。

所有输入的信息都将按所属部门、专业、考勤日期、工资日期等详细分类,使客户可以根据需要进行管理操作。

因此,该管理系统

的目的就是利用计算机对复杂烦琐的数据进行存储和处理,并利用计算机与现代化办公设备的连接实时刷新数据,从而提高企业的工作效率。

2.2 系统功能分析
系统开发的总体任务是实现各种信息的系统化,规范化和自动化。

系统功能分析是系统开发的总体任务的基础上室完成的。

教师管理系统需要完成功能主要有:
●教师信息的输入,修改,查询,删除包括,姓名,性别,所在学院,所在系,所在教研究组,职务,职称,身份证号,住址,邮证编号,工作证号,图书证号,电子EMAIL.
●课程信息表的输入,修改,查询,删除,包括,课程号,名称,类型所属部门,所属院,授课对象,初次授课时间,学时数。


第三章系统设计平台及相关工具软件简介
3.1计计平台: Visual Basic 6.0
微软公司的Visual Basic 6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。

Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程教师的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。

故而,实现本系统VB 是一个相对较好的选择。

Visual Basic 6.0是一个对象导向设计的应用程序语言,是开发数据库前端的优秀工具,它的编程语言简洁明快、组件功能强大和编程环境灵活方便。

由于Visual Basic既继承了其先辈所具有的程序设计语言简单易用的特点,其编程系统又引入面向对象的机制,用一种巧妙的方法把Windows编程的复杂性封装起来,提供了一种视界面的设计方法,使用窗体和控件设计应用程序界面。

极大地提高了应用程序开发的效率。

本文论述了Microsoft Visual Basic 6.0可视化开发软件工具下分析、设计、开发大中专院校的学生信息管理系统的过程。

通过对计算机硬件和软件解决方案的论证,对应用领域进行调查

分析,参考各种资料和进行数据库编程实践,在指导老师的帮助下,已经基本上成功地实现了设计要求。

是我们设计的数据库系统能够实现部门管理,教师信息管理,工资管理,系统管理功能。

该系统基本上满足了用户在学校信息管理方面的需求,用户界面友好。

此系统更加贴近信息电子化处理,从而降低了人工劳动并增加了信息的准确性。

2.2数据库: Microsoft Access
Access 是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。

Access 的优点在于它能使用数据表示图或自定义窗体收集信息。

数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。

另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。

Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。

Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。

如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。

Access 多用于中小型企业来设计中小型数据库,一般的学校教务系统的数据库用
10
Access 来设计完全能达到要求。

由于考虑到本系统是应用在单机系统上,只建立起一个数据库。

第四章教师管理系统总体设计
本次的开发内容——教师管理系统就是信息管理与现代化办公设备相结合的例子。

开发本系统希望使人事管理教师可以从年复一年的输入、计算、统计等工作中解脱出来,由于人事方面的数据众多,输入、统计极为不便,输入量大,计算量大。

这些工作都以人力来完成将费时费力,而且容易出现错误和疏漏。

本系统一次录入信息后,就可以反复多次在不同的信息库中使用。

所有输入的信息都将按所属部门、工资日期等详细分类,使录入可以根据需要进行管理操作。

因此,该管理系统的目的就是利用计算机对复杂烦琐的数据进行存储和处理,并利用计算机与现代化办公设备的连接实时刷新数据,从而提高企业的工作效率。

4.1 系统设计
4.1.1系统功能分析
系统完成功能主要有:
●教师信息的输入,修改,查询,删除包括,姓名,性别,所在学院,
所在系,所在教研究组,职务,职称,身份证号,住址,邮证编号,工作证号,图书证号,电子EMAIL.
●课程信息表的输入,修改,查询,删除,包括,课程号,名称,类型所属部门,所属院,授课对象,初次授课时间,学时数。

●课程教授表任务号,课程号,工作证号,学期,时间,授课班级,
授课编号,课表号。

程序流程图
4.1.2系统具体实现
(1)建立登陆用户界面
正确输入用户名和密码以及选择身份后才能进行系统。

若用户名和密码错误时将提示用户重新输入,若三次输入的密码都错误码的话系统将自动退出。

模块代码分析
Option Explicit
Dim mnUserType As Integer
Private Sub cboUserType_Change()
mnUserType = cboUserType.ListIndex
End Sub
Private Sub cboUserType_Click()
mnUserType = cboUserType.ListIndex
End Sub
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub cmdOK_Click()
Dim user As String, pwd As String
user = txtUser
pwd = txtPwd
Dim r As New ADODB.Recordset
Set r = DataEnv.rssqlSeek
Dim strSQL As String
Select Case mnUserType
Case 0:
strSQL = "select * from admin where name='" & user & "' and pwd='" & pwd & "'"
Case 1:
strSQL = "select * from teacher where name='" & user & "' and serial='" & pwd & "'"
End Select
On Error Resume Next
If r.State = adStateOpen Then r.Close
r.Open strSQL
Static nTryCount As Integer
If r.EOF Then
MsgBox "对不起,无此用户或者密码不正确!请重新输入!!", vbCritical, "错误"
txtUser.SetFocus
txtUser.SelStart = 0
txtUser.SelLength = Len(txtUser)
nTryCount = nTryCount + 1
If nTryCount >= 3 Then
MsgBox "您无权操作本系统!再见!", vbCritical, "无权限"
Unload Me
End If
Else
Load MDIMain
With MDIMain
.mnUserType = cboUserType.ListIndex
.msUserName = pwd
.Show
End With
Unload Me
End If
End Sub
Private Sub Form_Load()
cboUserType.ListIndex = 0
End Sub
Private Sub frmLogin_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub txtUser_Change()
End Sub
(2)教师信息及授课管理窗体
在此窗体可以对教师的基本信息进行添加,编辑,删除和打印,同进也能对都授课信息进行添加,编辑,删除和打印
模块代码分析
Option Explicit
Dim mbClose As Boolean
Dim msSerial As String
Sub SeekTeacher(sSerial As String)
If Not (DataEnv.rsTeacher.EOF And DataEnv.rsTeacher.BOF) Then Dim Temp As String
Temp = "serial = " & "'" & sSerial & "'"
DataEnv.rsTeacher.MoveFirst
DataEnv.rsTeacher.Find Temp
End If
End Sub
Sub RefreshGrid()
grdScan.DataMember = ""
grdScan.Refresh
If DataEnv.rssqlSeek.State <> adStateClosed Then DataEnv.rssqlSeek.Close DataEnv.rssqlSeek.Open
grdScan.DataMember = "sqlSeek"
grdScan.Refresh
Call grdScan_Change
End Sub
Sub ChangeBrowseState()
With DataEnv.rssqlSeek
If .State = adStateClosed Then .Open
If .BOF And .EOF Then
cmdAdd.Enabled = True
cmdEdit.Enabled = False
cmdDelete.Enabled = False
cmdUpdate.Enabled = False
cmdReport.Enabled = False
fraBrowse.Enabled = False
Else
cmdAdd.Enabled = True
cmdEdit.Enabled = True
cmdDelete.Enabled = True
cmdUpdate.Enabled = False
cmdReport.Enabled = True
fraBrowse.Enabled = True
End If
If .BOF Then
If Not .EOF Then DataEnv.rsTeacher.MoveFirst
cmdPrevious.Enabled = False
cmdFirst.Enabled = False
Else
cmdPrevious.Enabled = True
cmdFirst.Enabled = True
End If
If .EOF Then
If Not .BOF Then DataEnv.rsTeacher.MoveLast
cmdNext.Enabled = False
cmdLast.Enabled = False
Else
cmdNext.Enabled = True
cmdLast.Enabled = True
End If
End With
End Sub
Sub RefreshTeach(sSerial As String)
With DataEnv.rsOneTeach
If .State <> adStateClosed Then .Close
Dim str
If sSerial = "" Then
str = "select course.* from course, teach where course.serial=teach.courseid"
Else
str = "select course.* from course, teach where course.serial=teach.courseid and teach.teacherid = '" & sSerial & "'"
End If
.Open str
End With
grdTeach.DataMember = "oneteach"
grdTeach.Refresh
End Sub
Private Sub cboDep_Change()
End Sub
Private Sub cmdAdd_Click()
DataEnv.rsTeacher.AddNew
txtBirthday.Text = "1970-01-01"
fraInfo.Enabled = True
fraBrowse.Enabled = False
cmdAdd.Enabled = False
cmdEdit.Enabled = False
cmdDelete.Enabled = False
cmdUpdate.Enabled = True
cmdReport.Caption = "取消"
cmdReport.Enabled = True
mbClose = False
End Sub
Private Sub cmdDelete_Click()
On Error GoTo errHandler
If MsgBox("要删除记录?", vbYesNo + vbQuestion + vbDefaultButton2, "确认") = vbYes Then
DataEnv.Con.Execute "delete from Teacher where serial ='" & txtSerial & "'"
DataEnv.rsTeacher.MoveNext
If DataEnv.rsTeacher.EOF Then DataEnv.rsTeacher.MoveLast
Call RefreshGrid
End If
Exit Sub
errHandler:
MsgBox Err.Description, vbCritical, "错误"
End Sub
Private Sub cmdDeleteTeach_click()
On Error GoTo errHandler
If MsgBox("确实要删除此授课记录?", _
vbYesNo + vbQuestion + vbDefaultButton2, "确认") = vbYes Then Dim str
str = grdTeach.Columns(0).CellText(grdTeach.Bookmark)
str = "delete from teach where courseid='" & str & "'"
DataEnv.Con.Execute str
DataEnv.rsOneTeach.Requery
grdTeach.DataMember = "oneteach"
grdTeach.Refresh
End If
Exit Sub
errHandler:
MsgBox Err.Description, vbCritical, "错误"
End Sub
Private Sub cmdEdit_Click()
fraInfo.Enabled = True
cmdAdd.Enabled = False
cmdEdit.Enabled = False
cmdDelete.Enabled = False
cmdUpdate.Enabled = True
cmdReport.Caption = "取消"
cmdReport.Enabled = True
mbClose = False
End Sub
Private Sub cmdEditTeach_Click()
On Error GoTo errHandler
With frmTeach
Load frmTeach
.Caption = "添加" & Trim(txtName) & "老师的所授课程"
.dcbSerial.Text = grdTeach.Columns(0).CellText(grdTeach.Bookmark) .Show vbModal
If Not .mbAdded Then
Unload frmTeach
Exit Sub
End If
If DataEnv.rsTeach.State = adStateClosed Then DataEnv.rsTeach.Open DataEnv.rsTeach.Fields("CourseID") = .dcbSerial.Text
DataEnv.rsTeach.Fields("TeacherID") = txtSerial.Text
DataEnv.rsTeach.Update
End With
Call RefreshTeach(msSerial)
Exit Sub
errHandler:
MsgBox Err.Description, vbCritical, "错误"
End Sub
Private Sub cmdFirst_Click()
DataEnv.rssqlSeek.MoveFirst
DataEnv.rssqlSeek.MovePrevious
Call ChangeBrowseState
End Sub
Private Sub cmdLast_Click()
DataEnv.rssqlSeek.MoveLast
DataEnv.rssqlSeek.MoveNext
Call ChangeBrowseState
End Sub
Private Sub cmdList_Click()
On Error Resume Next
Dim strSQL
If cboDep.ListIndex = 0 Then
strSQL = "select serial, name from Teacher order by serial"
Else
strSQL = "select serial,name from Teacher where dept_id=" & _
cboDep.ItemData(cboDep.ListIndex) & " order by serial"
End If
DataEnv.rssqlSeek.Close
DataEnv.rssqlSeek.Open strSQL
Call RefreshGrid
Call ChangeBrowseState
Call grdScan_Change
End Sub
Private Sub cmdNext_Click()
DataEnv.rssqlSeek.MoveNext
Call ChangeBrowseState
End Sub
Private Sub cmdPrevious_Click()
DataEnv.rssqlSeek.MovePrevious
Call ChangeBrowseState
End Sub
Private Sub cmdReport_Click()
On Error Resume Next
If cmdReport.Caption = "取消" Then
DataEnv.rsTeacher.CancelUpdate
If DataEnv.rsTeacher.BOF Then
DataEnv.rsTeacher.MoveFirst
Else
DataEnv.rsTeacher.MovePrevious
DataEnv.rsTeacher.MoveNext
End If
Call ChangeBrowseState
mbClose = True
Else
Dim strSQL As String
DataEnv.rsrptTeacher.Close
strSQL = "select teacher.*, as dept_name " & _
"From teacher, department " & _
"where teacher.dept_id = department.id and serial = '" & txtSerial.Text & "'"
DataEnv.rsrptTeacher.Open strSQL
rptTeacher.Show
End If
End Sub
Private Sub cmdReportTeach_Click()
On Error Resume Next
Dim rpt As New rptTeach
Load rpt
rpt.Caption = "教师" & Trim(txtName) & "所授的课程"
rpt.Show 1
End Sub
Private Sub cmdSeek_Click()
With frmFind
Dim i As Integer
Load frmFind
.lstFields.Clear
For i = 0 To DataEnv.rsTeacher.Fields.Count - 1
.lstFields.AddItem (DataEnv.rsTeacher(i).Name)
Next i
.lstFields.ListIndex = 0
.Show 1
If .mbFindFailed Then Exit Sub
Dim sTemp As String
If LCase(.msFindOp) = "like" Then
sTemp = .msFindField & " " & .msFindOp & " '%" & .msFindExpr & "%'"
Else
sTemp = .msFindField & " " & .msFindOp & " '" & .msFindExpr & "'"
End If
sTemp = "select * from Teacher where " & sTemp & " order by serial"
Unload frmFind
End With
If DataEnv.rssqlSeek.State <> adStateClosed Then DataEnv.rssqlSeek.Close DataEnv.rssqlSeek.Open sTemp
Call RefreshGrid
Exit Sub
errHandler:
MsgBox "没有符合条件的纪录!", vbExclamation, "确认"
End Sub
Private Sub cmdUpdate_Click()
On Error GoTo errHandler:
Dim str As String
str = txtSerial.Text
DataEnv.rsTeacher.Update
cmdReport.Caption = "报表(&R)"
cmdUpdate.Enabled = False
fraInfo.Enabled = False
mbClose = True
If DataEnv.rssqlSeek.State = adStateClosed Then DataEnv.rssqlSeek.Open
Call RefreshGrid
Call ChangeBrowseState
DataEnv.rssqlSeek.MoveFirst
DataEnv.rssqlSeek.Find "serial='" & str & "'"
Exit Sub
errHandler:
MsgBox Err.Description, vbCritical, " 错误"
DataEnv.rsTeacher.CancelUpdate
End Sub
Private Sub cmdAddTeach_Click()
On Error GoTo errHandler
With frmTeach
Load frmTeach
.Caption = "添加" & Trim(txtName) & "老师的所授课程"
.Show vbModal
If Not .mbAdded Then
Unload frmTeach
Exit Sub
End If
If DataEnv.rsTeach.State = adStateClosed Then DataEnv.rsTeach.Open DataEnv.rsTeach.AddNew
DataEnv.rsTeach.Fields("CourseID") = .dcbSerial.Text
DataEnv.rsTeach.Fields("TeacherID") = txtSerial.Text
DataEnv.rsTeach.Update
End With
Call RefreshTeach(msSerial)
Exit Sub
errHandler:
MsgBox Err.Description, vbCritical, "错误"
DataEnv.rsTeach.CancelUpdate
End Sub
Private Sub Form_Load()
On Error Resume Next
Dim rsDep As New ADODB.Recordset, rsClass As New ADODB.Recordset Set rsDep = DataEnv.rsDepartment
rsDep.Open
cboDep.Clear
cboDep.AddItem "全部"
cboDep.ItemData(0) = 0
While Not rsDep.EOF
cboDep.AddItem rsDep("Name")
cboDep.ItemData(cboDep.ListCount - 1) = rsDep("id")
rsDep.MoveNext
Wend
cboDep.ListIndex = 0
cmdList.Value = True
fraManage.Enabled = True
fraBrowse.Enabled = True
fraSeek.Enabled = True
grdScan.Enabled = True
mbClose = True
Call grdScan_Change
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If Not mbClose Then
MsgBox "数据正被修改,窗口不能关闭", vbCritical, "错误"
Cancel = True
End If
End Sub
Private Sub grdScan_Change()
If grdScan.ApproxCount > 0 Then
msSerial = grdScan.Columns(0).CellText(grdScan.Bookmark)
Call SeekTeacher(msSerial)
End If
End Sub
Private Sub grdScan_RowColChange(LastRow As Variant, ByVal LastCol As Integer) If Not mbClose Then grdScan.Row = LastRow - 1
If LastRow <> grdScan.Bookmark Then
If grdScan.ApproxCount > 0 Then
msSerial = grdScan.Columns(0).CellText(grdScan.Bookmark)
Call SeekTeacher(msSerial)
End If
End If
End Sub
Private Sub grdTeach_Click()
End Sub
Private Sub grdTeach_DblClick()
End Sub
Private Sub txtName_Validate(Cancel As Boolean)
txtName.Text = Trim(txtName.Text)
End Sub
Private Sub txtSerial_Change()
If Not fraInfo.Enabled Then
Call RefreshTeach(msSerial)
End If
End Sub
4.2 数据库结构设计
数据库在一个信息管理系统中占有非常重要的地位,数据库设计的好坏将直接对应用系统的效率以及实现的效果产生影响。

合理的数据库设计可以提高数据存储的效率保证数据的完整和一致。

设计数据库系系统时应首先了解用户各个方面的需求,包括现有的以及将来可能增加的需求。

数据库设计一般包括下面几个步骤:
●数据库需要分析。

●数据库概念结构设计。

●数据库逻辑结构设计。

4.2.1数据库设计需求分析
用户的需求体现在各种信息的提供,保存,更新和查询,这就是要求数据库结构能充分满足各种信息量的输入和输出。

收集基本信息,数据结构以及数据处理的流程,组成一份详细的数据字典,为后面的具体设计院打下基础。

通过对教师个人信息管理工作过程的内容和数据流程分析,设计以下数据项和数据结构:
●教师信息的输入,修改,查询,删除包括,姓名,性别,所在学院,
所在系,所在教研究组,职务,职称,身份证号,住址,邮证编号,工作证
号,图书证号,电子EMAIL.
●课程信息表的输入,修改,查询,删除,包括,课程号,名称,类型
所属部门,所属院,授课对象,初次授课时间,学时数。

有了上面的数据结构,数据项和数据流,我们就能进行下面的数据库设计了。

4.2.2数据库结构设计
得到上面的数据项和数据结构以后,就可以设计出满足用户需求的各种实体以及它们之间的关系,为后面的逻辑结构设计打下基础。

这些实体包含各种具体信息,通过相互之间的作用形成数据库的流动。

数据库表的建立与实现:
(1)创建数据库文件
如果操作系统中安装了ACCESS2000的话,可以在开始菜单的程序菜单中可以找到。

如下所示:
打开ACCESS2000之后,会开启一个窗口,可选择是打开以前的数据库文件还是新建一个新的空数据库文件,如果选择空ACCESS数据库,然后点击确定按钮。

这些就新建了一个数据库文
件。

最后一步就是要选择一个要保存数据库文件的名字和位置。

点击创建就完成。

(2)怎样创建一个数据表
上面已经讲了如何创建一个数据库文件,按照上面的步骤建立一个数据库文件后,需要在数据库文件中建立一个数据表。

在下面的对话框中选”使用设计器创建表”,上面还有三个按钮,一个是打开,一个是设计,一个是新建,点击设计,就可以开始设计数据表了。

出现设计的界面后,就可以开始设计数据表了!
(3) VB连接ACCESS2000数据库
用vb编写一个管理软件,如果不能连接数据库,那也没有什么用处。

先看看VB是如何与ACCESS2000数据库相连接的。

Sub ConnStr()
'连接数据库
Set conn = CreateObject("ADODB.Connection") '建立数据库连接对像DBpath = App.Path & "\" & "data.mdb" '设置数据的路径
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBpath '打开数据库连接
Set rs = CreateObject("ADODB.Recordset") '设置数据库对像
End Sub
上面的一段代码就是连接数据库的。

上用到了三个变量conn,Dbpath,rs。

其中有两个变量要定义为公用的变量,因为这段代码是放在一个模块中的,为了在每一个窗体中能够使用这个变量,所以必须要声明为公用变量。

声明公用变量的方法如下:Public conn
Public rs
上面就是声明为公用变量,上面的声明一定要放在模块的最上面。

如果声明在下面,那就成了局部变量,那么作用范围就会不同了,作用就更不同,而且在其它窗体中使用到了这个变量,程序会出错。

(4)系统具体数据库表
数据库总表
用户信息表。

相关文档
最新文档