智能排课系统vb代码
教务排课管理系统设计(VB课程设计)
类型:【02课程设计】作品名称:教务排课管理系统设计作品关键词:排课管理系统、Microsoft Visual Basic、Microsoft Access第一章系统需求分析这个阶段的任务不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。
需求分析也是软件定义时期的第一个阶段,虽然在可行性研究阶段可以粗略了解了用户的需求,甚至还提出了可行的方案,但是可行性研究的基本目的是用较小的成本在较短的时间内确定是否存在可行的解法,因此许多细节被忽略了。
然而在最终的系统中却不能遗漏任何一个微小的细节,所以可行性研究并不能代替需求分析,它实际上并没有准确地回答“系统必须做什么?”这个问题。
为此,必须对系统进行需求分析。
1.1 系统编写目的排课是学校教学管理中十分重要、又相当复杂的管理工作之一,是为学校所设置的课程安排时间和地点,使整个教学能够有计划有秩序的进行。
课表编排是一个涉及多种因素的组合规划问题,它要保证在课程安排中教师、学生、教室不能产生冲突(所谓冲突,就是将需上不同课程的两个或多个班级安排在了同一时间、同一教室、或为同一教师在同一时间段安排了多门课程等情况),并且要满足教师的要求和教室资源的要求等约束条件。
伴随着我国教育体制改革的深入,学生人数的不断上升,课程设置不断向深度和广度发展,手工排课的缺点越来越突出。
由于计算机具有运算速度快,处理能力强等特点,很自然地进入到这一应用领域中。
用计算机进行排课能够快速地得到满足约束条件的可行性结果,具有排课时间短、人力省和质量高的优点,不但能够使教务人员从繁杂的排课任务中解脱出来,而且对于推动教学的发展也起到非常重要的作用。
排课系统的主要汇总各系或各授课部门的课程申请,然后根据教学计划或教学环节制定全校各个班级的课程表,各个教师的授课表。
由于学校班级数、课程门数比较多,每门课程又涉及很多信息,如果用手工进行排课,不可避免地出现教师资源冲突或教室资源冲突的情况。
VB+教学辅助系统3
VB+教学辅助系统(一)(6)VB+教学辅助系统(一)Private Sub MenuAddClick() Frame5.Visible = True:Frame6.Visible = True: TreeView1.Visible = False Call SelFldtoCbo("code", "小类别", BigStyle, Cbostyle)Label4.Caption = "(添加)" TxTTitle.Text = "" RTB1.Text = "" On Error GoTo ERR: If ExistRecord("code", "标题", TreeView1.Nodes.Item(TreeView1.SelectedItem.Index)) = True Then Cbostyle.Text =TreeView1.Nodes.Item(TreeView1.SelectedItem.Parent.Index) Else If ExistRecord("code", "小类别",TreeView1.Nodes.Item(TreeView1.SelectedItem.Index)) = True Then Cbostyle.Text =TreeView1.Nodes.Item(TreeView1.SelectedItem.Index) End If End If ERR: RTB1.Locked = False RTB1.BackColor = RGB(255, 255, 255) AddCode = True Toolbar1.Buttons(7).Image = 16: Toolbar1.Buttons(8).Image = 17 Toolbar1.Buttons(7).Caption = "粘贴": Toolbar1.Buttons(8).Caption = "去除"Toolbar1.Buttons(7).Tag = "ToolPlaste":Toolbar1.Buttons(8).Tag = "ToolClear" MenuPlaste.Enabled = True: MenuClear.Enabled = True End SubPrivate Sub MenuAPIClick() Label1.Caption = "API函数" BigStyle = "API函数" For i = 1 To Toolbar1.Buttons.Count Toolbar1.Buttons(i).MixedState = False Next iToolbar1.Buttons(4).MixedState = True CallShowTree(BigStyle) End SubPrivate Sub MenuAuthorClick() ShellExecute Me.hwnd, "open", "", App.Path, 1, 0 End SubPrivate Sub MenuBasicClick() Label1.Caption = "VB根底" BigStyle = "VB根底" For i = 1 To Toolbar1.Buttons.Count Toolbar1.Buttons(i).MixedState = False Next iToolbar1.Buttons(2).MixedState = True CallShowTree(BigStyle) End SubPrivate Sub MenuBigClick() RTB1.Font.Size = RTB1.Font.Size + 1 SaveSetting App.EXEName, "Font", "FontSize",RTB1.Font.Size End SubPrivate Sub MenuConsultClick() Label1.Caption = "语言参考" BigStyle = "语言参考" For i = 1 To Toolbar1.Buttons.Count &n。
基于vb的自动排课系统(DOC)
摘要排课问题是所有教育行业都要面对的问题,尤其针对高校纷繁复杂的课程和专业,一直没有很好解决方法。
因为在有关课程表的问题上有许多的限制条件必须考虑,还有大量的数据空间被挖掘,并包含很多信息数据的管理,即便你的输入数据量并不是实际上的大批量数据。
以前的排课管理和数据处理都是手工操作,工作量很大,出错率较高,而且出错后不易更改,促使管理工作混乱而又复杂。
排课系统的实现可以在短时间内解决高校排课的问题,对教师、课程进行有效高效的安排。
本文在相关理论的指导下,在分析以往一些排课软件的基础上,提出一种排课系统的设计方法,对一些具体的问题给出相应解决方案。
希望对于相关部门有所帮助。
此系统主要被分为三个部分:界面的设计、排课算法的设计、以及报表的自动生成。
纵观全局,我们确定用Visual Basic 语言作为程序设计语言以及运用Microsoft SQL Sever 2000数据库作为后台的数据库支持。
关键词排课;排课系统;设计;数据库AbstractCourse arranging Problem is a problem which working in the development of education is facing. Especially, there is no a good solution for this matter of the college. Because the problems in the curriculum there are many restrictions have to consider,there are a lot of data space to be excavated,still contains a lot of information data management,even if your input data is not high-volume real sense.Arranging the previous management and data processing are manual,workload capacity,error rate,but not easy to change mistakes,usually make the management of chaos and complex.Course Scheduling System is to achieve in a short time to solve Scheduling problems.Give the teachers and curriculum an Effective and efficient arrangements.This essay, with the correlative theory’s guidance, on the basis of analyzing some courses-arraying software, proposes a design method of commonly used courses arraying information system in college, and solves some of the certain problems. Hoping it is useful for the relative department. The system consist of three parts: the interface design, the algorithm of Course Timetable system, and printing the tables. On the whole, we decided to use VB computer language to design and Microsoft SQL Sever 2000 Data Base to support.Key Wordscourses arranging; courses arrangement management system; design; DataBase摘要 (1)Abstract (1)第一章绪论 (2)1.1 研究背景 (2)1.2 研究的目的和意义 (2)第二章需求分析 (3)2.1 对现有排课系统的分析 (3)2.2 排课要求 (4)2.4 系统的性能要求 (4)2.5系统的可行性分析 (5)2.5.1经济可行性分析 (5)2.5.2操作的可行性分析 (5)2.5.3技术可行性分析 (5)2.5.4成本效益分析 (5)2.6 系统开发工具运行环境的选择 (6)第三章系统总体设计 (8)3.1 总体功能设计 (8)3.1.1系统功能模块设计 (8)3.2 数据库设计 (10)第四章系统的实现 (12)4.1 设计数据库的连接 (12)4.2 主界面设计 (14)4.2.1界面布局 (14)4.2.2运行效果图 (14)4.2.3代码实现 (14)4.3 各菜单项的实现 (17)4.3.1 条件设置菜单 (17)4.3.2课表管理模块菜单 (27)4.3.3系统管理菜单 (40)第五章总结 (45)第一章绪论1.1 研究背景随着信息技术的飞速发展,各个行业的信息化势在必行。
智能排课系统(参考文档)
智能排课系统设计与实现摘要排课,是给学校各专业的教学计划中设置的课程安排合适的时间和地点,也就是给每个班的课程安排时间和地点。
排课工作在教学管理中很重要也很繁琐,计算机智能排课系统,可以降低排课人员的工作量,减少排课中的人为因素[1-2]。
但排课问题属于NP问题,即无法直接得到答案,只能通过猜测获取可能结果。
通常NP问题虽无答案,却有算法,算法不能直接告诉答案,但可以用来判断可能的结果是否正确可行。
因此,要做好排课工作,提高排课效率,实现智能排课是必不可少的。
本文在查阅大量相关文献的基础上,对高校的排课问题进行了分析,设计和实现了该功能,此系统主要被分为三个部分:界面的设计、排课算法的设计、以及报表的自动生成。
本系统是采用Microsoft Visual Studio 2005作为前台开发工具,SQL Server2005作为后台数据库平台的管理系统。
关键词:智能排课、贪心、分治、Visual Studio 2005、SQL Server 2005。
目录摘要 (I)ABSTRACT ......................................... 错误!未定义书签。
1绪论. (4)1.1系统开发背景 (4)1.2系统开发环境及方法 (4)1.2.1.开发环境 (4)1.2.2开发方法 (6)2 可行性分析 (7)2.1技术可行性 (7)2.2经济可行性 (7)2.3操作可行性 (8)2.4法律可行性 (8)3 系统需求分析 (9)3.1系统功能需求 (9)3.2系统非功能需求 (9)3.2.1排课中的基本原则 (9)3.2.2排课的基本要求 (10)4 总体设计 (11)4.1系统总体构架 (11)4.2系统功能结构 (11)4.3排课算法 (12)4.3.1目前常用算法 (12)4.3.2 排课问题描述 (13)4.3.3 排课问题的数学表示 (14)4.3.4排课问题的优先级问题 (14)4.3.5算法思想 (15)4.3.6 算法分析 (16)5 数据库设计 (17)5.1系统数据表 (17)5.2UML建模图 (17)5.3数据字典 (18)5.4数据库关系图 (21)6 详细设计与实现 (22)6.1数据库访问模块 (22)6.2条件设置模块 (25)6.3教学计划模块 (28)6.4排课模块 (29)6.5课程表查询模块 (47)结束语........................................... 错误!未定义书签。
VB3005智能排课系统
摘要排课问题是所有教育行业都要面对的问题,尤其针对高校纷繁复杂的课程和专业,一直没有很好解决方法。
但这又是每个学校在每个学期都会碰到的必修课。
本文在相关理论的指导下,在分析以往一些排课软件的基础上,提出一种排课系统的设计方法,对一些具体的问题给出相应解决方案。
希望对于相关部门有所帮助。
此系统主要被分为三个部分:界面的设计、排课算法的设计、以及报表的自动生成。
纵观全局,我们确定用Visual Basic 语言作为程序设计语言以及运用SQL Server 2000 数据库作为后台的数据库支持。
关键词:排课、排课系统、设计、高校目录摘要 (1)ABSTRACT .......................................... 错误!未定义书签。
第一章引言....................................... 错误!未定义书签。
第二章可行性研究................................. 错误!未定义书签。
2.1系统目标及任务.............................. 错误!未定义书签。
2.2开发工具的选择和介绍....................... 错误!未定义书签。
2.3对现有的排课系统的分析..................... 错误!未定义书签。
2.4系统的逻辑模型.............................. 错误!未定义书签。
2.4.1 系统结构图.............................. 错误!未定义书签。
2.4.2 系统流程图.............................. 错误!未定义书签。
2.4.3数据字典 ................................ 错误!未定义书签。
2.5系统的可行性................................ 错误!未定义书签。
VB编写的课堂随机点名小程序代码
随机点名系统。
综合网上各类小程序,自己修改定制了一款新的小程序。
学生名单.txt 放在同一个目录中。
使用截图如下Private Declare Sub SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)'定义常量Const HWND_TOPMOST = -1 'On TopConst HWND_NOTOPMOST = -2 'No TopConst SWP_NOACTIV A TE = &H10 'Const SWP_SHOWWINDOW = &H40 ''Dim TopOn As IntegerDim ss, mm, nnDim num(1 To 300) As IntegerDim j, k As IntegerDim A(500) As String, r As IntegerDim filename As StringPrivate Sub Command1_Click()Dim b As StringDim t, i As Integerfilename = App.Path & "\" & "学生名单.txt" Open filename For Input As #1'产生记录总数以内的随机数xi = 1While Not EOF(1)Line Input #1, A(i)i = i + 1Wendc = iClose #1Start:Randomizet = Int(c * Rnd + 1)For j = 1 To cIf t = num(j) ThenGoTo StartEnd IfNextLabel1.Caption = A(t)k = k + 1num(k) = tIf k = c ThenMsgBox "所有人员均已点过!", vbSystemModal Command1.Enabled = FalseCommand3.Enabled = TrueEnd IfEnd SubPrivate Sub Command2_Click()Unload Form1End SubPrivate Sub Command3_Click()j = 0k = 0For i = 1 To 300num(i) = 0NextCommand3.Enabled = FalseCommand1.Enabled = TrueLabel1.Caption = "Name"End SubPrivate Sub Command4_Click()Timer1.Enabled = TrueCommand4.Enabled = FalseEnd SubPrivate Sub Data1_Validate(Action As Integer, Save As Integer) End SubPrivate Sub Form_load()Form1.Height = 500Form1.Width = 8550Command3.Enabled = FalseTimer1.Enabled = Falsemm = 45: ss = 0Timer1.Interval = 1000End SubPrivate Sub Timer1_Timer()Dim M As IntegerSetWindowPos Me.hwnd, HWND_TOPMOST, Me.Left / 15, _Me.Top / 15, Me.Width / 15, _Me.Height / 15, SWP_NOACTIV ATE Or SWP_SHOWWINDOW Line1:If ss < 10 Thens = "0" & ssElses = ssEnd IfIf mm < 10 Thenmmm = "0" & mmElsemmm = mmEnd Ift = mmm & ":" & sLabel2.Caption = tss = ss - 1If nn = 3 Thenss = 88End IfIf mm = 0 And ss = -1 And nn = 0 ThenMsgBox "休息时间已到,五分钟后继续", vbSystemModalnn = 1mm = 5: ss = 0GoTo Line1End IfIf mm = 0 And ss = -1 And nn = 1 ThenMsgBox "继续上课", vbSystemModalnn = 2mm = 45: ss = 0GoTo Line1End IfIf mm = 0 And ss = -1 And nn = 2 ThenMsgBox "放学咯!", vbSystemModalCommand1.Enabled = Falsenn = 3mm = 88: ss = 88End IfIf ss = -1 And mm > 0 Then mm = mm - 1: ss = 59If mm = 0 And hh > 0 Then hh = hh - 1: mm = 59 End Sub。
vb排课系统(geichu)
SelectSOL(ByVal SQL As String ,ByRef msg As String)As ADODB.
Recordset函数,返回Recordset,用来执行查询语句。
MaxLength
6
运行窗体时将触发Lode事件。在Lode事件中,首先需要初始化教师
ComboBox然后调用LodeData过程初始化教师listView,最后调用ShowDate过程显示数据。当用户单击listView控件中的教师图标时,将触发listView_Click事件,当用户单击[保存]按钮时,与班级课程信息窗体中运行方式一样,其代码参考附录。
其代码参考附录。
3.1.2.3“教师设置”模块的实现
教师设置模块主要负责维护教师的基本信息和授课信息,进行增加、修改、删除和查询功能,为了实现这些功能信息,需要如下控件:
(1)1个ListView,控件,显示教师图标。
(2)1个ImageList控件,装载图片。
(3)4个TextBox控件。
(4)1个ComboBox控件,显示课程名称。
(2)1个ImageList控件,装载图片。
(3)4个TextBox控件。
(4)6个CommandButton控件:5个用来维护信息的按钮,分别是[添加]、[修改]、[删除]、[保存]和[取消]按钮,1个用来退出系统的[退出]按钮。
其主要的控件属性如表10所示。
表10“班级设置”窗体主要控件属性表
控件
每周课程节数
课程分布
Char(14)
Not Null
星期
【免费下载】VB学生管理系统主要代码
Private Sub Cmd1Import_Click() rst0.MoveFirst For i = 1 To rst0.RecordCount
rst1.AddNew rst1.Fields("应聘人编号") = rst0.Fields("应聘人编号") rst0.MoveNext rst1.MoveNext Next i ' Cmd1Import.Enabled = False ' Cmd1OK.Enabled = True ' Cmd1Exit.Enabled = True
rst2.AddNew rst2.Fields("应聘人编号") = rst1.Fields("应聘人编号") rst2.Fields("初选评分") = rst1.Fields("综合评分") rst1.MoveNext Next i st2.Update Cmd2Import.Enabled = False End Sub
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
课堂随机点名vba代码
课堂随机点名vba代码课堂随机点名是一种常见的教学方法,可以激发学生积极参与课堂活动的积极性。
在使用VBA代码实现课堂随机点名功能时,我们可以使用Excel作为工具,编写一段简单但功能强大的代码。
首先,我们需要创建一个Excel表格,并在其中的第一列中输入学生的名字。
接下来,我们可以在Excel的开发工具栏中打开Visual Basic编辑器,开始编写VBA代码。
由于我们需要随机选取一个学生,我们可以使用VBA中的Randomize和Rnd函数来生成一个随机数,并将其转换为整数。
然后,我们可以使用Cells函数来获取指定单元格的值,并将其赋值给一个变量。
下面是一个简单的VBA代码示例,它可以实现随机点名的功能:```vbaSub RandomCall()Dim LastRow As IntegerDim RandomNum As IntegerDim StudentName As String'获取学生名单最后一行的行号LastRow = Cells(Rows.Count, 1).End(xlUp).Row '生成一个随机数(范围为学生名单的行号)RandomizeRandomNum = Int((LastRow - 1 + 1) * Rnd + 1) '获取随机选择的学生名字StudentName = Cells(RandomNum, 1).Value'弹出消息框显示点名结果MsgBox "点名结果:" & StudentNameEnd Sub```在上述代码中,我们首先声明了几个变量:LastRow用于存储学生名单的最后一行行号,RandomNum用于存储生成的随机数,StudentName用于存储随机选择的学生名字。
接下来,我们使用Cells函数和Row对象的Count和End方法来获取学生名单的最后一行行号。
然后,我们使用Randomize函数来初始化随机数生成器,使用Rnd函数生成一个介于1和最后一行行号之间的随机数,并使用Int函数将其转换为整数。
VB课程设计大学排课系统
VB课程设计大学排课系统1.设计目的排课管理是高校每个学期教学教务管理工作的一个主要内容,是整个综合教学教务管理系统中必不可少的部分。
排课也是一项复杂而精细的工作,归纳起来主要有五方面相互作用、相互关联的因素,即课程、教师、时间、班级以及教室。
教务处根据教学计划的要求、实际招生人数、教师资源情况、每学期要开设的课程、开课计划,公共课程(包括公共英语、马列课、公共体育、计算机基础、高等数学等)进行分组处理,自动排课,以班为单位形成课程表,以教室为单位形成教室使用表,供教师、教学楼管理员使用。
2.设计内容本次课程设计中完成排课算法和课表查询的实现,排课包括手动排课、自动排课和手动调整,查询包括班级课表、教室课表以及教师课表的查询,手动排课是管理员可以自己选择课程名称、教师名称、班级编号、教室编号和上课时间,然后将排课信息存到数据库表中,自动排课是自动调用任课表中的课程、教师和每周节数、班级信息表中的班级编号、教室信息表中的教室编号以及时间表中的上课时间,然后根据算法自动进行排课。
查询可以根据班级编号、教室编号、教师姓名查出手动排课和自动排课后的班级课程表、教室课程表和教师课程表,自动排课后的课程表支持预览打印。
打印是通过程序调用Excel表格,显示出课程表3.需求描述图1 系统功能结构图查询老师信息修改老师信息图2 系统用例图3.1参与者学生:查询学生课表,在查询课表时首先应该登录,所以课表查询用例要包含登陆用例。
教师:查询教师课表,在查询课表时首先也应该登录。
院管理员:可以编辑信息,查询课表信息。
校管理员:可以编辑信息,查询课表信息,可以进行排课以及调整课表3.2用例描述(1)自动排课○1用例:自动排课○2简要说明:通过调用数据库表完成对课程的安排○3事件流:基本事件流○4前置条件:已成功登录系统,任课表里存在记录○5后置条件:完成对课程的安排,并形成课表○6优先级:3基本事件流:a)院管理员发出自动排课请求b)系统根据数据库存储的信息自动排课,并形成课表c)系统提示自动排课成功(2)手动排课○1用例:手动排课○2简要说明:通过手动选择相关信息完成对课程的安排○3事件流:基本事件流○4前置条件:已成功登录系统○5后置条件:完成对课程的安排,并形成课表○6优先级:3基本事件流a)院管理员选择相关信息对课程安排b)系统完成对课程安排的存档并形成课表c)系统提示手动添加成功(3)班级课表查询○1用例:班级课表查询○2简要说明:通过输入班级编号查询该班级课表○3事件流:基本事件流○4前置条件:已成功登录系统,且数据库中存在该班级课表记录○5后置条件:查询并显示出该班级课表○6优先级:3基本事件流a)学生输入班级编号请求查询该班级课程表b)系统完成对该班级课表的查询并显示出来(4)教室课表查询○1用例:教室课表查询○2简要说明:通过输入教室编号查询该教室课表○3事件流:基本事件流○4前置条件:已成功登录系统,且数据库中存在该教室课表记录○5后置条件:查询并显示出该教室课表○6优先级:3基本事件流a)管理员输入教室编号请求查询该教室课程表b)系统完成对该教室课表的查询并显示出来(5)教师课表查询○1用例:教师课表查询○2简要说明:通过输入教师姓名查询该教师课表○3事件流:基本事件流○4前置条件:已成功登录系统,且数据库中存在该教师课表记录○5后置条件:查询并显示出该教师课表○6优先级:3基本事件流c)教师输入教师请求查询该教师课程表d)系统完成对该教师课表的查询并显示出来(6)登录○1用例:登录○2简要说明:通过输入验证用户名和密码登入系统○3事件流:基本事件流和扩展事件流○4前置条件:用户启动该系统○5后置条件:通过验证并进入系统○6优先级:5基本事件流:a)系统提示用户选择用户角色,输入登录信息b)用户选择用户角色,输入用户名和密码c)用户发出登录请求d)系统验证登录信息e)验证通过A01不存在这个用户A02登录信息填写不完整f)系统跳至主界面扩展事件流:A01不存在这个用户g)系统提示不存在这个用户h)系统提示请重新选择角色、输入登录信息i)用户选择取消登录,则结束用例j)否则,系统跳至基本事件流2k)重复三次,则系统自动关闭A02 登录信息填写不完整l) 系统提示某个登录信息未输入m) 用户输入该登录信息n) 系统跳至基本事件流24.系统详细分析设计4.1顺序图(1):图3 自动排课顺序图(2):图4 手动排课顺序图(3):图5 查询课表顺序图4.2 活动图否]图6 活动图图7 类图图8 部署图4.5构件图图9 构件图4.6 数据库表表2 学院信息表表3 系信息表表4 班级信息表表7 时间表表8 课程信息表表9 任课表表10 排课表5.系统实现5.1开发工具及系统运行环境开发工具:Microsoft Visual Basic6.0、Microsoft Access2003 运行环境:Windows7、WindowsXP5.2 排课、查询子系统实现(1)手动排课图10 手动排课该界面通过下拉列表选择课程名称、任课教师、教室编号、班级编号和上课时间,点击确定即会添加至数据库表中,右面的表格也会刷新显示出最新的课程安排。
智能排课系统vb代码
Vb核心代码设计一:输入界面与代码(以班级表为例)Dim Conn As New ADODB.Connection '连接变量Dim SqlString As String '查询字符串Dim Connstring As String '连接字符串Dim RS1 As New ADODB.Recordset '记录集变量Dim bm '定义一个变量用来存放添加记录时原来记录的位置Dim tj As BooleanPrivate Sub Command10_Click()Form4.HideForm3.ShowEnd SubPrivate Sub Command1_Click() '移到首记录RS1.MoveFirstCommand1.Enabled = FalseCommand2.Enabled = FalseCommand3.Enabled = TrueCommand4.Enabled = TrueCall DispValue '显示当前记录的值End SubPrivate Sub Command2_Click() '前移RS1.MovePreviousIf RS1.BOF ThenRS1.MoveFirstCommand1.Enabled = FalseCommand2.Enabled = FalseEnd IfCommand3.Enabled = TrueCommand4.Enabled = TrueCall DispValue '显示当前记录的值End SubPrivate Sub Command3_Click() '后移RS1.MoveNextIf RS1.EOF ThenRS1.MoveLastCommand3.Enabled = FalseCommand4.Enabled = FalseEnd IfCommand1.Enabled = TrueCommand2.Enabled = TrueCall DispValue '显示当前记录的值End SubPrivate Sub Command4_Click() '移到末记录RS1.MoveLastCommand3.Enabled = FalseCommand4.Enabled = FalseCommand1.Enabled = TrueCommand2.Enabled = TrueCall DispValue '显示当前记录的值End SubPrivate Sub Command5_Click() '删除记录If (MsgBox("真的要删除该记录吗?", vbQuestion + vbYesNo, "删除提示") = vbYes) Then RS1.Delete '删除RS1.MoveNextIf RS1.EOF Then '如果删除的是末记录RS1.MoveLastEnd IfEnd IfCall DispValue '显示当前记录的值End SubPrivate Sub Command6_Click() '添加记录bm = RS1.Bookmark '用书签记下当前记录位置RS1.AddNew '调用AddNew方法增加新记录Call EditStatus '置按钮和文本框状态Call EmptyText '清空文本框tj = True '是添加新记录End SubPrivate Sub Command7_Click() '修改记录Call EditStatus '置按钮和文本框状态tj = False '不是添加记录,是修改记录End SubPrivate Sub Command8_Click() '确定操作Call SetValue '给各字段赋值RS1.Update '调用Update方法保存Call OkStatus '置按钮和文本框状态MsgBox ("保存成功") '给出保存成功提示End SubPrivate Sub Command9_Click() '取消操作If (MsgBox("真的要取消修改吗?", vbQuestion + vbYesNo)) = vbYes Then RS1.CancelUpdateIf tj Then '如果是增加新记录RS1.Bookmark = bm '把记录指针移动到原来的位置End IfCall DispValue '显示当前记录的值Call OkStatus '置按钮和文本框状态End IfEnd SubPrivate Sub Form_Load()Connstring = "Driver={SQL Server};Server=PC2012110412ewr.;Database=GXPK;" _& "uid =sa;pwd=t123" 'SQL Server普通安全模式建立到Pubs数据库的连接的连接字符串'设置连接字符串With Conn.ConnectionString = Connstring '给ConnectionString属性赋值.ConnectionTimeout = 10.Open '给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接End WithMsgBox ("连接成功")RS1.CursorType = adOpenDynamicRS1.CursorLocation = adUseClient '游标服务的位置、默认值adUseServer。
智能排课系统vb代码
Vb核心代码设计一:输入界面与代码(以班级表为例)Dim Conn As New ADODB.Connection '连接变量Dim SqlString As String '查询字符串Dim Connstring As String '连接字符串Dim RS1 As New ADODB.Recordset '记录集变量Dim bm '定义一个变量用来存放添加记录时原来记录的位置Dim tj As BooleanPrivate Sub Command10_Click()Form4.HideForm3.ShowEnd SubPrivate Sub Command1_Click() '移到首记录RS1.MoveFirstCommand1.Enabled = FalseCommand2.Enabled = FalseCommand3.Enabled = TrueCommand4.Enabled = TrueCall DispValue '显示当前记录的值End SubPrivate Sub Command2_Click() '前移RS1.MovePreviousIf RS1.BOF ThenRS1.MoveFirstCommand1.Enabled = FalseCommand2.Enabled = FalseEnd IfCommand3.Enabled = TrueCommand4.Enabled = TrueCall DispValue '显示当前记录的值End SubPrivate Sub Command3_Click() '后移RS1.MoveNextIf RS1.EOF ThenRS1.MoveLastCommand3.Enabled = FalseCommand4.Enabled = FalseEnd IfCommand1.Enabled = TrueCommand2.Enabled = TrueCall DispValue '显示当前记录的值End SubPrivate Sub Command4_Click() '移到末记录RS1.MoveLastCommand3.Enabled = FalseCommand4.Enabled = FalseCommand1.Enabled = TrueCommand2.Enabled = TrueCall DispValue '显示当前记录的值End SubPrivate Sub Command5_Click() '删除记录If (MsgBox("真的要删除该记录吗?", vbQuestion + vbYesNo, "删除提示") = vbYes) Then RS1.Delete '删除RS1.MoveNextIf RS1.EOF Then '如果删除的是末记录RS1.MoveLastEnd IfEnd IfCall DispValue '显示当前记录的值End SubPrivate Sub Command6_Click() '添加记录bm = RS1.Bookmark '用书签记下当前记录位置RS1.AddNew '调用AddNew方法增加新记录Call EditStatus '置按钮和文本框状态Call EmptyT ext '清空文本框tj = True '是添加新记录End SubPrivate Sub Command7_Click() '修改记录Call EditStatus '置按钮和文本框状态tj = False '不是添加记录,是修改记录End SubPrivate Sub Command8_Click() '确定操作Call SetValue '给各字段赋值RS1.Update '调用Update方法保存Call OkStatus '置按钮和文本框状态MsgBox ("保存成功") '给出保存成功提示End SubPrivate Sub Command9_Click() '取消操作If (MsgBox("真的要取消修改吗?", vbQuestion + vbYesNo)) = vbYes Then RS1.CancelUpdateIf tj Then '如果是增加新记录RS1.Bookmark = bm '把记录指针移动到原来的位置End IfCall DispValue '显示当前记录的值Call OkStatus '置按钮和文本框状态End IfEnd SubPrivate Sub Form_Load()Connstring = "Driver={SQL Server};Server=PC2012110412ewr.;Database=GXPK;" _& "uid =sa;pwd=t123" 'SQL Server普通安全模式建立到Pubs数据库的连接的连接字符串'设置连接字符串With Conn.ConnectionString = Connstring '给ConnectionString属性赋值.ConnectionTimeout = 10.Open '给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接End WithMsgBox ("连接成功")RS1.CursorType = adOpenDynamicRS1.CursorLocation = adUseClient '游标服务的位置、默认值adUseServer。
VB常用代码大全
VB常用代码大全#define __LLF_VB_GUI__#include "vb.h"//Sub Output( ByRef( msg As String ) ) { //why can't replace ',' ? Sub Output( ByRef( msg , String ) ) { //must add '{' now .Call Print( msg ); //must add ';' .End_SubSub Main() {If False Or False ThenCall Output( "That's True!\n" ); //must add ';' .ElseCall Output( "That't False!\n" ); //must add ';'.End_Ifint i = 0;//For( i, 0 To 10 ) //why can't replace ',' ?For( i, 0, 10 )Print( i );NextPause();End_Sub#ifndef __LLF_VISUAL_BASIC_LIKE_MODULE_MAIN__#define __LLF_VISUAL_BASIC_LIKE_MODULE_MAIN__#includeinline void Print(const char *msg){ printf(msg); }inline void Print(int i){ printf( "%i\n", i); }inline void Pause() { getchar(); }void Main();int main (int argc, char *argv[]) { Main(); return 0; }#endif#ifndef __LLF_VISUAL_BASIC_LIKE_MODULE__#define __LLF_VISUAL_BASIC_LIKE_MODULE__ //主函数定义与使用#ifdef __LLF_VB_GUI__#include "winmain.h"#else#include "main.h"#endif//类型定义#define Integer int#define String char#define Boolean bool#define True true#define False false// 语法相关部分的宏定义#define If if(#define Then ){#define End_If }#define Or ||#define And &&#define Else }else{#define T o #@,#define For(i, min , max) for(i=min;i<=max;i++){ #define Next }//结构相关部分的宏定义#define Call#define Sub void#define NewSub(x) void x {#define End_Sub }#define As ,#define ByRef(m, t) t *m#define ByVal(m, t) t m#endif#ifndef __LLF_VISUAL_BASIC_LIKE_MODULE_MAIN__#define __LLF_VISUAL_BASIC_LIKE_MODULE_MAIN__#includeinline void Print(const char *msg){ MessageBox(NULL, msg, "vb", MB_OK); } inline void Print(int i){ char s[1024]; Print( itoa(i, s, 1023) ); } inline void Pause() { Print("** Pause **"); }void Main();int WINAPI WinMain(HINSTANCE, HINSTANCE,LPSTR, int) { Main(); return 0; } #endif。
VB学生管理系统主要代码
VB学生管理系统主要代码第一篇:VB学生管理系统主要代码主要代码如下:Dim cn As New ADODB.Connection Dim rst0 As New ADODB.Recordset Dim rst1 As New ADODB.Recordset Dim rst2 As New ADODB.Recordset Dim rst3 As New ADODB.Recordset Private Sub Cmd0add_Click()rst0.AddNew Cmd0add.Enabled = False Cmd0save.Enabled = True Cmd0del.Enabled = False Cmd0Exit.Enabled = True End SubPrivate Sub Cmd0del_Click()Cmd0add.Enabled = True Cmd0save.Enabled = True Cmd0del.Enabled = False Cmd0Exit.Enabled = True x = MsgBox(“确定要删除吗”, vbYesNoCancel + vbQuestion, “确认”)If x = vbYes Then rst0.Delete End SubPrivate Sub Cmd0Exit_Click()cn.close Unload Me End SubPrivate Sub Cmd0save_Click()Cmd0add.Enabled = True Cmd0save.Enabled = False Cmd0del.Enabled = True Cmd0Exit.Enabled = True rst0.Update rst0.Sort = “应聘人编号” End SubPrivate Sub Cmd1Exit_Click()cn.close Unload Me End Sub Private Sub Cmd1Import_Click()rst0.MoveFirst For i = 1 To rst0.RecordCountrst1.AddNewrst1.Fields(“应聘人编号”)= rst0.Fields(“应聘人编号”)rst0.MoveNextrst1.MoveNext Next i 'Cmd1Import.Enabled = False' Cmd1OK.Enabled = True' Cmd1Exit.Enabled = TrueEnd SubPrivate Sub Cmd1OK_Click()rst1.Fields(“综合评分”)=(Val(rst1.Fields(“计算机能力”))+ rst1.Fields(“业务能力”))* 0.5 If rst1.Fields(“综合评分”)>= 6 Thenrst1.Fields(“初选状态”)= “通过”Elserst1.Fields(“初选状态”)= “未通过”End Ifrst1.Updaterst1.Sort = “应聘人编号” End SubPrivate Sub Cmd2Exit_Click()cn.close Unload Me End SubPrivate Sub Cmd2Import_Click()rst1.close rst1.open “select * from 初选表 where 初选状态='通过'”, cn rst1.MoveFirst For i = 1 To rst1.RecordCountrst2.AddNewrst2.Fields(“应聘人编号”)= rst1.Fields(“应聘人编号”)rst2.Fields(“初选评分”)= rst1.Fields(“综合评分”)rst1.MoveNext Next i rst2.Update Cmd2Import.Enabled = False End SubPrivate Sub Cmd2OK_Click()rst2.Fields(“综合评分”)=(rst2.Fields(“初选评分”)+ rst2.Fields(“外表形象”)+ rst2.Fields(“领悟反应能力”))/ 3 If rst2.Fields(“综合评分”)>= 6 Thenrst2.Fields(“录用情况”)= “通过” Elserst2.Fields(“录用情况”)= “未通过” End If rst2.Update rst2.Sort = “应聘人编号” rst2.MoveLast End SubPrivate Sub Cmd3Exit_Click()cn.close Unload Me End SubPrivate Sub Cmd3Import_Click()rst2.close rst2.open “selsct * from 面试表 where 录用情况= '通过'” rst2.MoveFirst For i = 1 To rst2.RecordCountrst3.AddNewrst3.Fields(“应聘人编号”)= rst2.Fields(“应聘人编号”)rst3.Fields(“面试分”)= rst2.Fields(“综合评分”)rst3.Fiel ds(“开始录用时间”)= Daterst2.MoveNext Next i Cmd3Import.Enabled = False End Sub Private Sub Cmd3OK_Click()rst3.Fields(“综合考核分”)=(rst3.Fields(“面试分”)+ rst3.Fields(“笔试分”))/ 2 If rst3.Fields(“综合考核分”)>= 6 Thenrst3.Fields(“是否录用”)= “是”Elserst3.Fields(“是否录用”)= “否”End Ifrst3.Updaterst3.Sort = “应聘人编号”rst3.MoveLast End SubPrivate Sub cxtg_Click()frmDataEnv.Show 1 End SubPrivate Sub DataGrid1_Click()End SubPrivate Sub Form_Load()cn.ConnectionString = “DSN=xsgl;name=sa;pass=sa” cn.open cn.CursorLocation = adUseClient rst0.LockType = adLockPessimistic rst1.LockType = adLockPessimistic rst2.LockType = adLockPessimistic rst3.LockType = adLockPessimisticrst0.open “select * from 登记表”, cn Set DataGrid1.DataSource = rst0rst1.open “select * from 初选表”, cn Set DataGrid2.DataSource = rst1 If rst1.RecordCount <> 0 Then Cmd1Import.Enabled = False End Ifrst2.open “select * from 面试表”, cn Set DataGrid3.DataSource = rst2 If rst2.RecordCount <> 0 ThenCmd2Import.Enabled = False End Ifrst3.open “select * from 录用表”, cn Set DataGrid4.DataSource = rst3 If rst3.RecordCount <> 0 Then Cmd3Import.Enabled = False End If End Sub 学生基本信息浏览窗口图5.6学生基本信息浏览主要代码如下:string sql = string.Format(“select P_id from Tb_popedom order by P_id desc”);if(GetConn.conn.State == ConnectionState.Closed){GetConn.conn.Open();}SqlCommand c = new SqlCommand(sql, GetConn.conn);SqlDataReader reader = c.ExecuteReader();if(reader.Read()){string id = reader[“P_id”].T oString();txt_id.Text =(int.Parse(id.Substring(1,(id.Length-1)))+ 1)+ “";}reader.Close();GetConn.conn.Close();////加载一级菜单sql = ”select * from Tb_function where F_level='1'“;if(GetConn.conn.State == ConnectionState.Closed){GetConn.conn.Open();}sda = new SqlDataAdapter(sql, GetConn.conn);sda.Fill(ds, ”fun");……}第二篇:vb课程设计档案管理系统代码一、登陆界面运行本系统需要进行用户名和密码验证,没有用户名的可以在登陆界面注册,详细注册方法在下文有介绍。
vb编程代码大全
vb编程代码大全VB(Visual Basic)是一种易于学习和使用的编程语言,广泛应用于Windows平台的软件开发。
VB编程通过编写和执行代码来实现任务,可以用于创建各种类型的应用程序,包括窗体应用程序、控制台应用程序、Web应用程序等。
本文将介绍一些常用的VB编程代码,帮助读者快速入门和掌握VB编程技巧。
一、VB基本语法在开始编写VB代码之前,我们先来了解一些基本的VB语法规则。
1. 注释VB中的注释用于解释代码的作用,不会被编译器执行。
注释可以是单行注释(以“'”开头)或多行注释(以“/*”开始,“*/”结束)。
示例:' 这是一个单行注释/*这是一个多行注释可以跨越多行*/2. 变量声明在VB中,变量需要先声明后使用。
变量的声明可以包括数据类型和变量名称。
示例:Dim x As Integer '声明一个整型变量x3. 变量赋值在VB中,可以使用赋值语句将一个值赋给变量。
示例:x = 10 '将变量x赋值为104. 运算符VB支持常见的运算符,包括算术运算符、比较运算符和逻辑运算符等。
示例:Dim a As Integer, b As Integera = 10b = 5Dim c As Integerc = a + b '加法运算c = a - b '减法运算c = a * b '乘法运算c = a / b '除法运算c = a Mod b '取余运算c = a > b '比较运算c = (a > 0) And (b > 0) '逻辑运算5. 控制结构VB中的控制结构包括条件语句和循环语句。
条件语句通过判断条件来选择不同的执行路径。
循环语句可以重复执行一段代码。
示例:If condition Then' 执行语句块1ElseIf condition2 Then' 执行语句块2Else' 执行语句块3End IfFor i = 1 To 10' 执行循环体Next i以上是VB的基本语法规则,通过掌握这些语法,可以编写简单的VB程序。
基于VBA的辅助排课系统的实现
西
西 西 两
计 算 机 应 霄 用 0 7 国 商 五 专 浦黜 2 1 q 计 算 中 n , 心 C , 1 : 星  ̄ 期 5 五 。 《 1 , 2 姜 , § 3 芷 节 ] I 。 晒 棱 校 区 】 j 通 逋 用 机 房 虏 6 T
计算机应用 计算机应用 计算机应用 0 7 家具五寺 计算r e, c , 0 7 家具五专 计算中心 0 7 家具五专 计算中心 星期二 星期二 星期二
I 节 欠 地点 周次 5 , 6 , r " 7 晒 校区】 通用机房 第一教学接2 2 4 6 — 1 9 周 第4 节 [ 西校区] 通用机房7 第一教学楼2 2 4 1 7 - 1 g 周 2 1 l T 一 1 9 周 5 , 6 节 [ 西校区] 通用机房6 第一教学横2 5 , 6 节 晒 校区1 通用机房6 第一 教学楼 2 2 l 6 - 1 6 冠 第一教学楼2 2 1 1 7 - 1 9 周 第一教学楼2 2 1 3 - 6 , 9 - 1 9 周 第一教学楼2 2 4 3 - 6 , 9 - 1 9 周 5 , 6 节 【 珏校区】 通用机房 第一教学楼2 2 1 1 7 — 1 9 周 2 1 6 — 1 6 周 5 , 6 , T 节 晒 校区] 通甩机房6 第一教学楼2 7 , 7 叶 [ 西校区] 通用机虏6 第一教学撩2 2 1 1 7 一 l 9 周
I B 校区 西 西 西 殂 C 部门 D 课程名称 计算机应用 计算机应用 计算机应用 计算机应用 旦 主讲教师 计= 簟中心 计算中心 计算中心 计算中心
班级名称 0 7 服装五专 0 7 服装五专 0 7 工业五专 0 7 工业五专
一 垦 星期 星期四 星期四 星期五 星期五
用》 和( ( V i s u a l B a s i c 语 言程序设 计 》 , 几 个校 区 、 几十位
智能排课系统vb代码
Vb核心代码设计一:输入界面与代码(以班级表为例)Dim ConnAs NewADODB、Connection'连接变量DimSqlString AsString '查询字符串DimConnstring As String'连接字符串DimRS1 As New ADODB、Recordset'记录集变量Dim bm '定义一个变量用来存放添加记录时原来记录得位置Dimtj AsBooleanPrivateSub mand10_Click()Form4、HideForm3、ShowEnd SubPrivate Sub mand1_Click() '移到首记录RS1、MoveFirstmand1、Enabled= Falsemand2、Enabled =Falsemand3、Enabled = Truemand4、Enabled= TrueCall DispValue '显示当前记录得值EndSubPrivateSubmand2_Click()'前移RS1、MovePreviousIf RS1、BOF ThenRS1、MoveFirstmand1、Enabled =Falsemand2、Enabled = FalseEnd Ifmand3、Enabled = Truemand4、Enabled=TrueCall DispValue '显示当前记录得值End SubPrivate Sub mand3_Click() '后移RS1、MoveNextIf RS1、EOF ThenRS1、MoveLastmand3、Enabled =Falsemand4、Enabled = FalseEnd Ifmand1、Enabled = Truemand2、Enabled =TrueCall DispValue '显示当前记录得值End SubPrivateSub mand4_Click() '移到末记录RS1、MoveLastmand3、Enabled =Falsemand4、Enabled = Falsemand1、Enabled =Truemand2、Enabled = TrueCall DispValue'显示当前记录得值End SubPrivate Sub mand5_Click()'删除记录If(MsgBox("真得要删除该记录吗?",vbQuestion + vbYesNo,"删除提示")= vbYes) ThenRS1、Delete'删除RS1、MoveNextIf RS1、EOF Then '如果删除得就是末记录RS1、MoveLastEnd IfEnd IfCall DispValue'显示当前记录得值End SubPrivateSub mand6_Click() '添加记录bm= RS1、Bookmark'用书签记下当前记录位置RS1、AddNew '调用AddNew方法增加新记录CallEditStatus '置按钮与文本框状态Call EmptyText'清空文本框tj= True '就是添加新记录EndSubPrivateSub mand7_Click() '修改记录CallEditStatus'置按钮与文本框状态tj= False'不就是添加记录,就是修改记录End SubPrivateSub mand8_Click() '确定操作Call SetValue '给各字段赋值RS1、Update'调用Update方法保存Call OkStatus'置按钮与文本框状态MsgBox ("保存成功") '给出保存成功提示EndSubPrivate Sub mand9_Click()'取消操作If (MsgBox("真得要取消修改吗?", vbQuestion+vbYesNo))=vbYes Th enRS1、CancelUpdateIftj Then'如果就是增加新记录RS1、Bookmark = bm '把记录指针移动到原来得位置End IfCall DispValue '显示当前记录得值Call OkStatus '置按钮与文本框状态End IfEndSubPrivateSubForm_Load()Connstring = "Driver={SQL Server};Server=PC2012110412ewr、;Database =GXPK;" _& "uid=sa;pwd=t123" 'SQL Server普通安全模式建立到Pubs数据库得连接得连接字符串'设置连接字符串With Conn、ConnectionString =Connstring'给ConnectionString属性赋值、ConnectionTimeout =10、Open'给连接得ConnectionString属性赋值,然后使用求带参数得Open 方法打开连接End WithMsgBox ("连接成功")RS1、CursorType= adOpenDynamicRS1、CursorLocation=adUseClient '游标服务得位置、默认值adUs eServer。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Vb核心代码设计一:输入界面与代码(以班级表为例)DimConnAsNewADODB.Connection'连接变量DimSqlStringAsString'查询字符串DimConnstringAsString'连接字符串DimRS1AsNewADODB.Recordset'记录集变量Dimbm'定义一个变量用来存放添加记录时原来记录的位置DimtjAsBooleanPrivateSubCommand10_Click()Form4.HideForm3.ShowEndSubPrivateSubCommand1_Click()'移到首记录RS1.MoveFirstCommand1.Enabled=FalseCommand2.Enabled=FalseCommand3.Enabled=TrueCommand4.Enabled=TrueCallDispValue'显示当前记录的值EndSubPrivateSubCommand2_Click()'前移RS1.MovePreviousIfRS1.BOFThenRS1.MoveFirstCommand1.Enabled=FalseCommand2.Enabled=FalseEndIfCommand3.Enabled=TrueCommand4.Enabled=TrueCallDispValue'显示当前记录的值EndSubPrivateSubCommand3_Click()'后移RS1.MoveNextIfRS1.EOFThenRS1.MoveLastCommand3.Enabled=FalseCommand4.Enabled=FalseEndIfCommand1.Enabled=TrueCommand2.Enabled=TrueCallDispValue'显示当前记录的值EndSubPrivateSubCommand4_Click()'移到末记录RS1.MoveLastCommand3.Enabled=FalseCommand4.Enabled=FalseCommand1.Enabled=TrueCommand2.Enabled=TrueCallDispValue'显示当前记录的值EndSubPrivateSubCommand5_Click()'删除记录If(MsgBox("真的要删除该记录吗?",vbQuestion+vbYesNo,"删除提示")=vbYes)Then RS1.Delete'删除RS1.MoveNextIfRS1.EOFThen'如果删除的是末记录RS1.MoveLastEndIfEndIfCallDispValue'显示当前记录的值EndSubPrivateSubCommand6_Click()'添加记录bm=RS1.Bookmark'用书签记下当前记录位置RS1.AddNew'调用AddNew方法增加新记录CallEditStatus'置按钮和文本框状态CallEmptyText'清空文本框tj=True'是添加新记录EndSubPrivateSubCommand7_Click()'修改记录CallEditStatus'置按钮和文本框状态tj=False'不是添加记录,是修改记录EndSubPrivateSubCommand8_Click()'确定操作CallSetValue'给各字段赋值RS1.Update'调用Update方法保存CallOkStatus'置按钮和文本框状态MsgBox("保存成功")'给出保存成功提示EndSubPrivateSubCommand9_Click()'取消操作If(MsgBox("真的要取消修改吗?",vbQuestion+vbYesNo))=vbYesThenRS1.CancelUpdateIftjThen'如果是增加新记录RS1.Bookmark=bm'把记录指针移动到原来的位置EndIfCallDispValue'显示当前记录的值CallOkStatus'置按钮和文本框状态EndIfEndSubPrivateSubForm_Load()Connstring="Driver={SQLServer};Server=PC2012110412ewr.;Database=GXPK;"_ &"uid=sa;pwd=t123"'SQLServer普通安全模式建立到Pubs数据库的连接的连接字符串'设置连接字符串WithConn.ConnectionString=Connstring'给ConnectionString属性赋值.ConnectionTimeout=10.Open'给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接EndWithMsgBox("连接成功")RS1.CursorType=adOpenDynamicRS1.CursorLocation=adUseClient'游标服务的位置、默认值adUseServer。
游标用于:控制记录定位、控制其他用户对数据库所作的更改的可视性、控制数据可更新性RS1.LockType=adLockOptimisticRS1.Open"班级信息表",Conn,3,3IfRS1.EOFAndRS1.BOFThen'如果表为空MsgBox"表为空,请添加记录"ElseCallDispValue'显示当前记录的值EndIfCallTextDisable'使文本框不可用Command8.Enabled=FalseCommand9.Enabled=FalseEndSubPrivateSubDispValue()Text1.Text=RS1.Fields("班级编号")IfIsNull(Trim(RS1.Fields("班级名称")))Then'解决课程名字段值为空移指针出错(无效使用NULL)的问题,其他字段类推。
Text2.Text=""ElseText2.Text=RS1.Fields("班级名称")EndIfText5.Text=RS1.Fields("所属系")Text7.Text=RS1.Fields("学生人数")EndSubPrivateSubSetValue()RS1.Fields("班级编号")=Text1.TextRS1.Fields("班级名称")=Text2.TextRS1.Fields("所属系称")=Text5.TextRS1.Fields("学生人数")=Text7.TextEndSubPrivateSubTextEnable()'使所有的文本框可用Text1.Enabled=TrueText2.Enabled=TrueText5.Enabled=TrueText7.Enabled=TrueEndSubPrivateSubTextDisable()'使所有的文本框不可用Text1.Enabled=FalseText2.Enabled=FalseText5.Enabled=FalseText7.Enabled=FalseEndSubPrivateSubEditStatus()'设置在编辑或添加记录时的各控件状态Command1.Enabled=FalseCommand2.Enabled=FalseCommand3.Enabled=FalseCommand4.Enabled=FalseCommand5.Enabled=FalseCommand6.Enabled=FalseCommand7.Enabled=FalseCommand8.Enabled=TrueCommand9.Enabled=TrueCallTextEnableEndSubPrivateSubEmptyText()'清空文本框Text1.Text=""Text2.Text=""Text5.Text=""Text7.Text=""EndSubPrivateSubOkStatus()'设置不在编辑或添加记录时的各控件状态Command1.Enabled=TrueCommand2.Enabled=TrueCommand3.Enabled=TrueCommand4.Enabled=TrueCommand5.Enabled=TrueCommand6.Enabled=TrueCommand7.Enabled=TrueCommand8.Enabled=FalseCommand9.Enabled=FalseCallTextDisableEndSub2、查看课表窗口及代码(以教室课表为例)DimConnAsNewADODB.Connection'连接变量DimSqlStringAsString'查询字符串DimConnstringAsString'连接字符串DimRS1AsNewADODB.Recordset'记录集变量mandPrivateSubCommand1_Click()Connstring="Driver={SQLServer};Server=PC2012110412ewr.;Database=GXPK;"_ &"uid=sa;pwd=t123"'SQLServer普通安全模式建立到Pubs数据库的连接的连接字符串'设置连接字符串WithConn.ConnectionString=Connstring'给ConnectionString属性赋值.ConnectionTimeout=10.Open'给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接EndWithMsgBox("连接成功")Command1.Enabled=False'连接按钮不可用Command2.Enabled=True'显示数据可用EndSubPrivateSubCommand2_Click()SetCmd.ActiveConnection=Conn'设置Command对象的ActiveConnection为某个打开的连接SqlString="Select课程名称,教师姓名,上课教室,班级编号,上课时间from排课表Where上课教室like'"&Text1.Text&"'"'形成查询字符串1mandText=SqlString'设置Command对象执行的命令字符串mandType=adCmdText'设置命令类型,表示CommandText中为一命令文本,童P188SetRS1=Cmd.Execute'执行命令得到一个结果记录集CallShowData(RS1,MSFlexGrid1)'调用过程显示记录集中的数据Command1.Visible=TrueEndSubPrivateSubShowData(RsAsADODB.Recordset,DgridAsMSFlexGrid)'该过程用来在Dgrid网格中显示记录集RS中的内容DimRowNumAsIntegerRowNum=1'代表MsFlexGrid控件的行数Dgrid.Rows=RowNum'设置MsFlexGrid控件的行数Dgrid.Cols=Rs.Fields.Count'设置MsFlexGrid控件的列数Forj=0ToRs.Fields.Count-1'遍列所有列Dgrid.TextMatrix(0,j)=Rs.Fields(j).Name'把列名显示在设置MsFlexGrid控件的首行NextjDoWhileNotRs.EOF'如果不是记录集的结尾RowNum=RowNum+1'行数加1Dgrid.Rows=RowNum'设置MsFlexGrid控件的行数Forj=0ToRs.Fields.Count-1'遍列所有列IfNotIsNull(Rs.Fields(j).Value)Then'如果列中的数据不为空,切记不能用如if Var1=Null来判断变量Var1的值是否为NullDgrid.TextMatrix(RowNum-1,j)=Rs.Fields(j).Value'把列的数据显示在MsFlexGrid的相应网格中EndIfNextjRs.MoveNext'记录指针下移LoopCommand2.Enabled=FalseEndSubPrivateSubCommand3_Click()Form14.HideForm3.ShowEndSubPrivateSubCommand4_Click()RS1.Close'关闭记录集Conn.Close'关闭连接Text1.Text=""Command1.Enabled=True'连接按钮不可用Command2.Enabled=True'显示数据可用EndSubPrivateSubCommand5_Click()DataReport1.ShowvbModal,MeEndSub3、查看初始化窗口及代码OptionExplicitDimSQLAsStringDimConnAsNewADODB.Connection'连接变量DimSqlStringAsString'查询字符串DimConnstringAsStringDimmsgAsString'连接字符串PrivateSubCmdSave_Click()'进行初始化操作DimCounnterAsIntegerConnstring="Driver={SQLServer};Server=PC2012110412ewr.;Database=GXPK;"_&"uid=sa;pwd=t123"'SQLServer普通安全模式建立到Pubs数据库的连接的连接字符串'设置连接字符串WithConn.ConnectionString=Connstring'给ConnectionString属性赋值.ConnectionTimeout=10.Open'给连接的ConnectionString属性赋值,然后使用求带参数的Open 方法打开连接EndWithMsgBox("连接成功")ProgressBar1.Visible=TrueProgressBar1.Max=200ProgressBar1.Value=ProgressBar1.Minmsg=MsgBox("您确实要初始化这些数据吗?",vbYesNo)Ifmsg=vbNoThenExitSubForCounnter=ProgressBar1.MinToProgressBar1.MaxProgressBar1.Value=CounnterIfCheck1.Value=1Then'如果班级信息表被选中'删除全部提醒信息数据SQL="deletefrom班级信息表"Conn.ExecuteSQLEndIfIfCheck2.Value=1Then'如果课程信息表被选中'删除全部通讯日志数据SQL="deletefrom课程信息表"Conn.ExecuteSQLEndIfIfCheck3.Value=1Then'如果班级课程信息表被选中'删除全部群组信息数据SQL="deletefrom任课表"Conn.ExecuteSQLEndIfIfCheck4.Value=1Then'如果教师信息表被选中'删除全部联系人信息数据SQL="deletefrom教师信息表"Conn.ExecuteSQLEndIfIfCheck6.Value=1Then'如果排课信息表被选中'删除全部联系人信息数据SQL="deletefrom排课表"Conn.ExecuteSQLEndIfNextCounnterProgressBar1.Visible=FalseProgressBar1.Value=ProgressBar1.MinEndSubPrivateSubCmdExit_Click()'退出操作Form15.HideForm3.ShowEndSubPrivateSubForm_Unload(CancelAsInteger)'退出操作Form15.HideForm3.ShowEndSub4、查看自动排课窗口及代码DimConnAsNewADODB.Connection'连接变量DimSqlStringAsString'查询字符串DimConnstringAsStringDimdlaytimeAsIntegerPrivateSubCommand2_Click()DimSQLAsStringDimscAsADODB.RecordsetSetsc=NewADODB.RecordsetSQL="deletel排课表"EndSubPrivateSubCommand3_Click()Form9.HideForm3.ShowEndSubPrivateSubForm_Load()constr="Driver={SQLServer};Server=PC2012110412ewr.;Database=GXPK;"_ &"uid=sa;pwd=t123"'SQLServer普通安全模式建立到Pubs数据库的连接的连接字符串'定义数据库连接WithConn.ConnectionString=constr'给ConnectionString属性赋值.ConnectionTimeout=10.Open'给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接EndWithMsgBox("连接成功")ProgressBar1.Visible=TrueProgressBar1.Max=200ProgressBar1.Value=ProgressBar1.MinEndSubPrivateSubCommand1_Click()'开始DimSQL,sqll,sqlllAsStringDimrtAsNewADODB.RecordsetDimrmAsNewADODB.RecordsetDimrnAsNewADODB.RecordsetDimrpAsNewADODB.RecordsetDimrqAsNewADODB.RecordsetDimiAsIntegerSetRs=NewADODB.RecordsetSQL="select*from任课表"SetRs=Conn.Execute(SQL)ProgressBar1.Max=100DoWhileProgressBar1.Value<ProgressBar1.MaxDoUntilRs.EOF=Truei=Rs("每周节数")DoUntili=0sqll="select*from时间表"Setrt=Conn.Execute(sqll)DoUntilrt.EOF=TrueSetrp=NewADODB.Recordsetcoom="select*from排课表where[班级编号]='"+Rs("班级编号")+"'and[上课时间]='"+rt("上课时间")+"'"Setrp=Conn.Execute(coom)cool="select*from排课表where[上课时间]='"+rt("上课时间")+"'and[教师姓名]='"+Rs("教师姓名")+"'"Setrq=Conn.Execute(cool)Ifrp.EOF=TrueAndrq.EOF=TrueThensqlll="select*from教室信息表"Setrm=Conn.Execute(sqlll)DoUntilrm.EOF=Truecoon="select*from排课表where[上课时间]='"+rt("上课时间")+"'and[上课教室]='"+rm("教室名称")+"'"Setrn=Conn.Execute(coon)Ifrn.EOF=TrueThenSQL="insertinto排课表([课程名称],[教师姓名],[上课教室],[班级编号],[上课时间])values('"+Rs("课程名称")+"','"+Rs("教师姓名")+"','"+rm("教室名称")+"','"+ Rs("班级编号")+"','"+rt("上课时间")+"')"Setrq=Conn.Execute(SQL)ExitDoElserm.MoveNextEndIfLoopExitDoElsert.MoveNextEndIfLoopi=i-1LoopRs.MoveNextLoopProgressBar1.Value=ProgressBar1.Value+1DoEventsLoopMsgBox"自动排课已完成",vbInformation,"提示"EndSubPrivateSubTimer1_Timer()Ifdlaytime>=100Then'Timer1.Enabled=FalseLoadfrmLoginfrmLogin.ShowElsedlaytime=dlaytime+1P1.Value=dlaytimeEndIfEndSub5、查看手动调课窗口及代码DimConnAsNewADODB.Connection'连接变量DimSqlStringAsString'查询字符串DimConnstringAsStringPrivateSubCommand2_Click()Form11.HideForm3.ShowEndSubPrivateSubCommand5_Click()DimConnAsNewADODB.Connection'连接变量DimSqlStringAsString'查询字符串DimConnstringAsString'连接字符串DimRS1AsNewADODB.Recordset'记录集变量mandConnstring="Driver={SQLServer};Server=PC2012110412ewr.;Database=GXPK;"_ &"uid=sa;pwd=t123"'SQLServer普通安全模式建立到Pubs数据库的连接的连接字符串'设置连接字符串WithConn.ConnectionString=Connstring'给ConnectionString属性赋值.ConnectionTimeout=10.Open'给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接EndWithSetCmd.ActiveConnection=Conn'设置Command对象的ActiveConnection为某个打开SqlString="Select课程名称,教师姓名,上课教室,班级编号,上课时间from排课表"'形成查询字符串1mandText=SqlString'设置Command对象执行的命令字符串mandType=adCmdText'设置命令类型,表示CommandText中为一命令文本,童P188SetRS1=Cmd.Execute'执行命令得到一个结果记录集CallShowData(RS1,MSFlexGrid1)'调用过程显示记录集中的数据EndSubPrivateSubForm_Load()constr="Driver={SQLServer};Server=PC2012110412ewr.;Database=GXPK;"_ &"uid=sa;pwd=t123"'SQLServer普通安全模式建立到Pubs数据库的连接的连接字符串'定义数据库连接WithConn.ConnectionString=constr'给ConnectionString属性赋值.ConnectionTimeout=10.Open'给连接的ConnectionString属性赋值,然后使用求带参数的Open方法打开连接EndWithMsgBox("连接成功")EndSubPrivateSubCommand1_Click()'调整教室DimrtAsNewADODB.RecordsetIf(Text1.Text=""OrText2.Text=""OrText3.Text=""OrText4.Text=""OrText5.Text="") ThenMsgBox("请输入完整信息")ElseSetRs=NewADODB.RecordsetSQL="select*from排课表"SetRs=Conn.Execute(SQL)IfRs("上课教室")=Text4.TextThenMsgBox("该时间段该教室已被占用,请重新选择")Text4.Text=""Text5.Text=""ElseSetRs=NewADODB.RecordsetSQL="update排课表set[上课教室]='"+Text4.Text+"'where[课程名称]='"+Text1.Text+ "'and[教师姓名]='"+Text2.Text+"'and[上课时间]='"+Text5.Text+"'"SetRs=Conn.Execute(SQL)MsgBox("教室调整成功")Text1.Text=""Text2.Text=""Text3.Text=""Text4.Text=""Text5.Text=""EndIfEndSubPrivateSubCommand3_Click()'调整时间DimrtAsNewADODB.RecordsetIf(Text1.Text=""OrText2.Text=""OrText3.Text=""OrText4.Text=""OrText5.Text="") ThenMsgBox("请输入完整信息")ElseSetRs=NewADODB.RecordsetSQL="select*from排课表"SetRs=Conn.Execute(SQL)IfRs("上课时间")=Text5.TextThenMsgBox("该教室该时间段已被占用,请重新选择")Text4.Text=""Text5.Text=""ElseSetRs=NewADODB.RecordsetSQL="update排课表set[上课时间]='"+Text5.Text+"'where[课程名称]='"+Text1.Text +"'and[教师姓名]='"+Text2.Text+"'and[教室名称]='"+Text4.Text+"'"SetRs=Conn.Execute(SQL)MsgBox("时间调整成功")'Adodc1.RefreshText1.Text=""Text2.Text=""Text3.Text=""Text4.Text=""Text5.Text=""EndIfEndIfEndSubPrivateSubShowData(RsAsADODB.Recordset,DgridAsMSFlexGrid)'该过程用来在Dgrid网格中显示记录集RS中的内容DimRowNumAsIntegerRowNum=1'代表MsFlexGrid控件的行数Dgrid.Rows=RowNum'设置MsFlexGrid控件的行数Dgrid.Cols=Rs.Fields.Count'设置MsFlexGrid控件的列数Forj=0ToRs.Fields.Count-1'遍列所有列Dgrid.TextMatrix(0,j)=Rs.Fields(j).Name'把列名显示在设置MsFlexGrid控件的首行NextjDoWhileNotRs.EOF'如果不是记录集的结尾RowNum=RowNum+1'行数加1Dgrid.Rows=RowNum'设置MsFlexGrid控件的行数Forj=0ToRs.Fields.Count-1'遍列所有列IfNotIsNull(Rs.Fields(j).Value)Then'如果列中的数据不为空,切记不能用如if Var1=Null来判断变量Var1的值是否为NullDgrid.TextMatrix(RowNum-1,j)=Rs.Fields(j).Value'把列的数据显示在MsFlexGrid的相应网格中EndIfNextjRs.MoveNext'记录指针下移LoopEndSub。