




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 电子教务管理系统毕电子教务管理系统毕 业设计业设计 目目 录录 摘 要I ABSTRACTII 第一章 引言 1 1.1 背景1 1.1.1 电子教务管理系统1 1.2 开发电子教务管理系统的目的和原则 3 1.3 开发环境介绍3 1.3.1 开发平台4 1.3.2 数据库设计工具ACCESS 数据库管理系统 7 第二章 系统设计9 2.1 系统分析 9 2.2 系统流程和操作方式设计11 第三章 系统界面设计 12 3.1 系统界面设计以及代码分析 12 2 第四章 数据库的设计30 4.1 数据库设计30 4.2 数据库概念和发展 30 4.3 系统测试与评价 38 总 结 39 致 谢40 参考文献41 第一章第一章 引言引言 对于一个学校来说,大量教师信息,学生管理信息,教 职工日常工资管理,学生成绩管理,以及学生评语的生成还 有基本数据的维护都难于通过传统的方法进行管理;这就 迫切需要利用计算机技术来帮助学校管理者来处理这些日 常管理.电子教务管理系统是管理信息系统的一个典型用例. 1.1 背景背景 1.1.1 电子教务管理系统电子教务管理系统 3 开发电子教务管理系统的过程就是要实现数据处理方 式由人工管理向计算机管理的转变,它在计算机技术和教 务管理实践活动两者之间架设桥梁。 1.21.2 开发电子教务管理系统的目的和原则开发电子教务管理系统的目的和原则 电子教务系统只要服务于高校管理者方便管理本校教职 员工,学生的基本信息如教师工资福利,学生成绩信息学籍 管理等. 1.3 开发环境介绍开发环境介绍 1.3.1 开发平台开发平台 本电子教务管理系统的开发平台为微软 windows xp visual basic 6.0 以及微软的 Access 作为操作数据库. .2 数据库设计工具数据库设计工具ACCESSACCESS 数据库管理系统数据库管理系统 Microsoft Access 介绍: 使用 Microsoft Access,可以在单一的数据库文件中管 理所有的信息。在这个文件中,用户可以将自己的数据 4 分别保存在各自独立的存储空间中,这些空间称作表; 可以使用联机窗体来查看、添加及更新表中的数据;使 用查询来查找并检索所要的数据;也可以使用报表以特 定的版面布置来分析及打印数据。 如果要保存数据,请为每一种类型的信息创建一个表。 如果要从查询、窗体或报表中的多个表中将数据合并在 一起,就要定义各个表之间的关系。 如果要搜索并检索符合指定条件的数据,包括来自多 个表中的数据,就要创建查询。查询的同时也可以更新 或删除多条记录,并对数据执行内嵌或自定义的计算。 如果要简单地直接在某个表中查看、输入及更改数据, 请创建一个窗体。在打开一个窗体时, Microsoft Access 将从一个或多个表中检索数据,并使 用用户在“窗体向导”选择的版面布局或所创建的版面 布局,将窗体显示在屏幕上。 如果要分析数据或将数据以特定的方式打印出来,请 创建一个报表。例如,可以打印一份将数据分组并计算 数据总和的报表,也可以打印另一份带有各种数据格式 的打印邮件标签的报表。 第二章第二章 系统设计系统设计 5 2.12.1 系统分析系统分析 本电子教务管理系统主要由以下几大模块构成. 一.通用模块(教工信息管理,学生信息管理,评语管系统,考 试管理系统,基础数据维护,窗口,操作员命令) 二.超级信史,系统助手 2.22.2 系统流程和操作方式设计系统流程和操作方式设计 窗口 程序登陆 主界面 教职 工信 息管 理 学生 信息 管理 评 语 管 理 系 统 考试 管理 系统 基 础 数 据 维 护 窗 口 操作 员命 令 6 第三章第三章 系统界面设计系统界面设计 3.13.1 系统界面设计系统界面设计 1.1.登陆界面登陆界面 代码设计代码设计: : PRIVATE SUB CMBUSER_KEYPRESS(KEYASCII AS INTEGER) IF KEYASCII = 13 THEN CMDOK_CLICK END SUB PRIVATE SUB CMDCANCEL_CLICK() ME.HIDE END SUB PRIVATE SUB CMDOK_CLICK() 7 DIM TXTSQL AS STRING SET MRC = NEW ADODB.RECORDSET IF TRIM(CMBUSER.TEXT) = THEN CMBUSER.SETFOCUS ELSE TXTSQL = SELECT * FROM LOGIN WHERE 登录姓名 = & CMBUSER.TEXT & MRC.OPEN TRIM$(TXTSQL), CON, ADOPENKEYSET, ADLOCKOPTIMISTIC SET EXECUTESQL = MRC IF MRC.EOF = TRUE THEN CMBUSER.SETFOCUS ELSE IF TRIM(MRC!密码) = TRIM(TXTPASSWORD.TEXT) THEN LOGINUSER = MRC!登录姓名 PERMISSION = MRC!权限 IF CHECK1.VALUE = 1 THEN R = WRITEPRIVATEPROFILESTRING(用户信息 , 姓名, CMBUSER.TEXT, APP.PATH + 电子教务系统.INI) S = WRITEPRIVATEPROFILESTRING(用户信息 8 , 密码, TXTPASSWORD.TEXT, APP.PATH + 电子教务系统.INI) IF R 1 OR S 1 THEN MSGBOX 写基本信息出错!, 48, APP.TITLE END IF ELSE R = WRITEPRIVATEPROFILESTRING(用户信息 , 姓名, , APP.PATH + 电子教务系统.INI) S = WRITEPRIVATEPROFILESTRING(用户信息 , 密码, , APP.PATH + 电子教务系统.INI) END IF MRC.CLOSE ME.HIDE EXIT SUB ELSE TXTPASSWORD.SETFOCUS TXTPASSWORD.TEXT = END IF END IF END IF MICOUNT = MICOUNT + 1 9 MSGBOX 登录错误,你还有 & 3 - MICOUNT & 次机会!, VBOKONLY + VBEXCLAMATION, 警告 IF MICOUNT = 3 THEN ME.HIDE END IF EXIT SUB END SUB PRIVATE SUB FORM_LOAD() IF LEN(GETFROMINI(用户信息, 姓名, APP.PATH + 电子教务 系统.INI) = 0 OR LEN(GETFROMINI(用户信息, 密码, APP.PATH + 电子教务系统.INI) = 0 THEN ELSE CMBUSER.TEXT = GETFROMINI(用户信息, 姓名, APP.PATH + 电子教务系统.INI) TXTPASSWORD.TEXT = GETFROMINI(用户信息, 密码, APP.PATH + 电子教务系统.INI) END IF DIM RS1 AS ADODB.RECORDSET SET RS1 = NEW ADODB.RECORDSET RS1.OPEN LOGIN, CON, ADOPENSTATIC, ADCMDTABLE ICOUNT = 0 10 IF RS1.BOF AND RS1.EOF THEN MSGBOX 请用管理员账号登录 EXIT SUB END IF RS1.MOVEFIRST DO WHILE RS1.EOF = FALSE CMBUSER.ADDITEM RS1!登录姓名, I I = I + 1 RS1.MOVENEXT LOOP END SUB PRIVATE SUB TXTPASSWORD_KEYPRESS(KEYASCII AS INTEGER) IF KEYASCII = 13 THEN CMDOK_CLICK END SUB 2.2.智能成绩添加界面设计智能成绩添加界面设计 界面设计界面设计: : 11 代码设计代码设计: : DIM KSXZ AS STRING DIM XXKBL AS DOUBLE DIM BJ AS INTEGER DIM I AS INTEGER DIM ICOUNT AS INTEGER DIM ADDFLG AS BOOLEAN DIM RSCOUNT AS INTEGER DIM RS AS ADODB.RECORDSET DIM RS1 AS ADODB.RECORDSET DIM CMDEXE AS ADODB.COMMAND 12 PRIVATE SUB COMMAND13_CLICK() SSTAB1.TAB = 0 END SUB PRIVATE SUB COMMAND5_CLICK() UNLOAD ME END SUB PRIVATE SUB COMMAND7_CLICK() PASS RS.OPEN SELECT * FROM 学籍表 WHERE 班级= & TRIM(COMBO1.TEXT) & ORDER BY 学号, CON, ADOPENSTATIC, ADLOCKPESSIMISTIC, ADCMDTEXT IF RS.EOF = TRUE AND RS.BOF = TRUE THEN COMMAND1.ENABLED = FALSE COMMAND2.ENABLED = FALSE COMMAND3.ENABLED = FALSE COMMAND4.ENABLED = FALSE COMMAND13.ENABLED = FALSE RS.CLOSE MSGBOX 请到学籍表中添加学生名单!, , 此班没有学生: 13 EXIT SUB ELSE FRAME1.ENABLED = FALSE FRAME2.ENABLED = FALSE COMMAND1.ENABLED = TRUE COMMAND2.ENABLED = TRUE COMMAND3.ENABLED = TRUE COMMAND4.ENABLED = TRUE COMMAND7.ENABLED = FALSE COMMAND8.ENABLED = TRUE COMMAND9.ENABLED = TRUE COMMAND13.ENABLED = TRUE MSGBOX TRIM(COMBO1.TEXT) & 登分: & CHR(13) & 考试性 质: & TRIM(TEXT1.TEXT) & CHR(13) & 可以开始输入成绩了!, , APP.TITLE COMMAND13.SETFOCUS END IF LIST1.CLEAR LIST1.ADDITEM 学号 & - & 姓名 IF RS.BOF AND RS.EOF THEN 14 ELSE RS.MOVEFIRST DO WHILE RS.EOF = FALSE IF LEN(RS!学号) = 1 THEN LIST1.ADDITEM 0 & RS!学号 & - & RS!姓名 ELSE LIST1.ADDITEM & RS!学号 & - & RS!姓名 END IF RS.MOVENEXT LOOP RS.MOVEFIRST END IF LIST1.LISTINDEX = 1 DISPLAY END SUB PRIVATE SUB COMMAND8_CLICK() RS.CLOSE LIST1.CLEAR FRAME1.ENABLED = TRUE FRAME2.ENABLED = TRUE COMMAND1.ENABLED = FALSE 15 COMMAND2.ENABLED = FALSE COMMAND3.ENABLED = FALSE COMMAND4.ENABLED = FALSE COMMAND7.ENABLED = TRUE COMMAND8.ENABLED = FALSE COMMAND9.ENABLED = FALSE COMMAND13.ENABLED = FALSE FOR I = 0 TO 8 TXTCJ(I).ENABLED = TRUE TXTCJ(I).TEXT = NEXT I END SUB PRIVATE SUB COMMAND9_CLICK() ON ERROR GOTO ERR FOR I = 0 TO 8 IF TRIM(TXTCJ(I).TEXT) TEXT3.TEXT * 1 THEN MSGBOX 成绩大于预定值!, , 成绩第 & I + 1 & 项错误 EXIT SUB END IF NEXT I 16 TXTCJ(9).TEXT = TXTCJ(0) * 1 + TXTCJ(1) * 1 + TXTCJ(2) * 1 + TXTCJ(3) * 1 + TXTCJ(4) * 1 + TXTCJ(5) * 1 * (TEXT2.TEXT * 1) + TXTCJ(6) * 1 * (TEXT2.TEXT * 1) + TXTCJ(7) * 1 * (TEXT2.TEXT * 1) + TXTCJ(8) * 1 * (TEXT2.TEXT * 1) IF ADDFLG = FALSE THEN RS1.OPEN SELECT 语文,数学,英语,物理,化学,政治,历史,地理,生 物,总分 FROM 成绩表 WHERE 考试号= & TRIM(KSH.CAPTION) & AND 考试性质= & TEXT1.TEXT & , CON, ADOPENSTATIC, ADLOCKPESSIMISTIC, ADCMDTEXT RS1!语文 = TRIM(TXTCJ(0).TEXT) RS1!数学 = TRIM(TXTCJ(1).TEXT) RS1!英语 = TRIM(TXTCJ(2).TEXT) RS1!物理 = TRIM(TXTCJ(3).TEXT) RS1!化学 = TRIM(TXTCJ(4).TEXT) RS1!政治 = TRIM(TXTCJ(5).TEXT) * 1 * (TEXT2.TEXT * 1) RS1!历史 = TRIM(TXTCJ(6).TEXT) * 1 * (TEXT2.TEXT * 1) RS1!地理 = TRIM(TXTCJ(7).TEXT) * 1 * (TEXT2.TEXT * 1) RS1!生物 = TRIM(TXTCJ(8).TEXT) * 1 * (TEXT2.TEXT * 1) RS1!总分 = TRIM(TXTCJ(9).TEXT) RS1.UPDATEBATCH ADAFFECTALLCHAPTERS SBAR1.PANELS.ITEM(1) = 修改成功保存! 17 RS1.CLOSE ELSE CMDEXE.ACTIVECONNECTION = CON CMDEXE.COMMANDTEXT = INSERT INTO 成绩表(考试号,语文,数 学,英语,物理,化学,政治,历史,地理,生物,总分,考试性质) VALUES & ( & KSH.CAPTION & , & TXTCJ(0).TEXT & , & TXTCJ(1).TEXT & , & TXTCJ(2).TEXT & , & TXTCJ(3).TEXT & , & TXTCJ(4).TEXT & , & TXTCJ(5).TEXT * 1 * (TEXT2.TEXT * 1) & , & TXTCJ(6).TEXT * 1 * (TEXT2.TEXT * 1) & , & TXTCJ(7).TEXT * 1 * (TEXT2.TEXT * 1) & , & TXTCJ(8).TEXT * 1 * (TEXT2.TEXT * 1) & , & TXTCJ(9).TEXT & , & TEXT1.TEXT & ) CMDEXE.EXECUTE SBAR1.PANELS.ITEM(1) = 添加成功保存! ICOUNT = ICOUNT + 1 END IF LABEL3.CAPTION = 共添加 & ICOUNT & 条记录 RS.MOVENEXT IF LIST1.LISTINDEX + 1 0 THEN COMBO1.LISTINDEX = 0 END IF END SUB PRIVATE SUB COMMAND1_CLICK() RS.MOVEFIRST LIST1.LISTINDEX = 1 DISPLAY END SUB PRIVATE SUB COMMAND2_CLICK() WITH RS .MOVEPREVIOUS IF .BOF THEN .MOVEFIRST 20 ELSE LIST1.LISTINDEX = LIST1.LISTINDEX - 1 END IF END WITH DISPLAY END SUB PRIVATE SUB COMMAND3_CLICK() WITH RS .MOVENEXT IF RS.EOF THEN RS.MOVELAST ELSE LIST1.LISTINDEX = LIST1.LISTINDEX + 1 END IF END WITH DISPLAY END SUB PRIVATE SUB COMMAND4_CLICK() RS.MOVELAST 21 LIST1.LISTINDEX = LIST1.LISTCOUNT - 1 DISPLAY END SUB PRIVATE SUB LIST1_CLICK() IF LIST1.LISTINDEX -1 AND COMBO3.LISTINDEX -1 THEN 27 DIM TXTSQL AS STRING TXTSQL = SELECT B.班级,B.学号,B.姓名,A.* FROM 成绩表 AS A INNER JOIN 学籍表 AS B ON A.考试号 = B.考试号 WHERE 姓 名 = & COMLST(INDEX).TEXT & AND 考试性质 = & COMBO3.TEXT & ADODC1.CONNECTIONSTRING = CON.CONNECTIONSTRING ADODC1.COMMANDTYPE = ADCMDTEXT ADODC1.RECORDSOURCE = TXTSQL ADODC1.REFRESH SET DATAGRID1.DATASOURCE = ADODC1 END IF END SUB PRIVATE SUB FORM_LOAD() CALL RESIZEINIT(ME) DIM RSB AS ADODB.RECORDSET SET RSB = NEW ADODB.RECORDSET RSB.OPEN SELECT DISTINCT B.班级 AS KSBJ FROM 成绩表 AS A INNER JOIN 学籍表 AS B ON A.考试号 = B.考试号 , CON, ADOPENSTATIC, , ADCMDTEXT 28 COMBO1.CLEAR DO WHILE NOT RSB.EOF COMBO1.ADDITEM RSB!KSBJ RSB.MOVENEXT LOOP SET RSX = NEW ADODB.RECORDSET RSX.OPEN SELECT DISTINCT A.考试性质 AS KSXZ FROM 成绩 表 AS A INNER JOIN 学籍表 AS B ON A.考试号 = B.考试号 , CON, ADOPENSTATIC, , ADCMDTEXT COMBO3.CLEAR DO WHILE NOT RSX.EOF COMBO3.ADDITEM RSX!KSXZ RSX.MOVENEXT LOOP IF COMBO1.LISTCOUNT 0 THEN COMBO1.LISTINDEX = 0 COMBO2.LISTINDEX = 9 END IF IF COMBO3.LISTCOUNT 0 THEN 29 COMBO3.LISTINDEX = 0 END IF END SUB PRIVATE SUB FORM_RESIZE() CALL RESIZEFORM(ME) 窗体改变时,控件随之变化 COMBO1.LEFT = LABEL1.LEFT + LABEL1.WIDTH + 100 COMBO1.TOP = LABEL1.TOP COMBO1.WIDTH = LABEL1.WIDTH + 150 COMBO2.LEFT = LABEL3.LEFT + LABEL3.WIDTH + 100 COMBO2.TOP = LABEL3.TOP COMBO2.WIDTH = LABEL3.WIDTH + 150 COMBO3.LEFT = LABEL6.LEFT + LABEL6.WIDTH + 100 COMBO3.TOP = LABEL6.TOP COMBO3.WIDTH = LABEL6.WIDTH + 150 FOR I = 0 TO 7 COMLST(I).TOP = LABEL7.TOP COMLST(I).LEFT = TXTFSD(I).LEFT + I * 10 COMLST(I).WIDTH = COMLST(I).WIDTH NEXT I END SUB 30 PRIVATE SUB TXTFSD_KEYPRESS(INDEX AS INTEGER, KEYASCII AS INTEGER) IF NOT ISNUMERIC(CHR(KEYASCII) THEN KEYASCII = 0 END IF END SUB PRIVATE SUB EXECPASS() FOR I = 0 TO 7 IF TXTFSD(I).TEXT = THEN MSGBOX 分数段数值错误!此次统计不实。, , 错 误项 & I & : EXIT SUB END IF NEXT I IF CINT(TXTFSD(0).TEXT) CINT(TXTFSD(1).TEXT) AND CINT(TXTFSD(1).TEXT) CINT(TXTFSD(2).TEXT) AND CINT(TXTFSD(2).TEXT) CINT(TXTFSD(3).TEXT) AND CINT(TXTFSD(3).TEXT) CINT(TXTFSD(4).TEXT) AND CINT(TXTFSD(4).TEXT) CINT(TXTFSD(5).TEXT) AND 31 CINT(TXTFSD(5).TEXT) CINT(TXTFSD(6).TEXT) AND CINT(TXTFSD(6).TEXT) CINT(TXTFSD(7).TEXT) THEN ELSE MSGBOX 请保持数值递减顺序!此次统计不实。, , 数 值错误: EXIT SUB END IF END SUB PRIVATE SUB LOADDATA() DIM QUERY AS STRING DIM PICRS AS ADODB.RECORDSET SET PICRS = NEW ADODB.RECORDSET QUERY = SELECT B.姓名 AS XM , A. & COMBO2.TEXT & AS CJ FROM 成绩表 AS A INNER JOIN 学籍表 AS B ON A.考试号 = B. 考试号 WHERE 班级 = & COMBO1.TEXT & AND 考试性质 = & COMBO3.TEXT & PICRS.OPEN QUERY, CON, ADOPENSTATIC, , ADCMDTEXT 32 WITH PICRS DO WHILE NOT .EOF IF CINT(PICRS!CJ) = CINT(TXTFSD(0).TEXT) THEN ICJ(0) = ICJ(0) + 1 COMLST(0).ADDITEM PICRS!XM END IF IF CINT(PICRS!CJ) = CINT(TXTFSD(1).TEXT) AND CINT(PICRS!CJ) = CINT(TXTFSD(2).TEXT) AND CINT(PICRS!CJ) = CINT(TXTFSD(3).TEXT) AND CINT(PICRS!CJ) = CINT(TXTFSD(4).TEXT) AND CINT(PICRS!CJ) = CINT(TXTFSD(5).TEXT) AND CINT(PICRS!CJ) = CINT(TXTFSD(6).TEXT) AND CINT(PICRS!CJ) = CINT(TXTFSD(7).TEXT) AND CINT(PICRS!CJ) = & TXTZF(I).TEXT * 0.6, CON, ADOPENSTATIC, , ADCMDTEXT TXTZF(10 + I).TEXT = RSCOUNT!YWJ TXTZF(20 + I).TEXT = RSCOUNT!YWJ / TEXT1.TEXT * 100 RSCOUNT.CLOSE RSCOUNT.OPEN SELECT COUNT(*) AS YWY FROM 成绩表 AS A INNER JOIN 学籍表 AS B ON A.考试号 = B.考试号 WHERE B.计外 = & COMBO3.TEXT & AND B.班级 LIKE & COMBO1.TEXT & AND A.考试性质 = & COMBO2.TEXT & AND A. & LABXK(I). CAPTION & = & TXTZF(I).TEXT * 0.85, CON, ADOPENSTATIC, , ADCMDTEXT TXTZF(30 + I).TEXT = RSCOUNT!YWY TXTZF(40 + I).TEXT = RSCOUNT!YWY / TEXT1.TEXT * 100 RSCOUNT.CLOSE RSCOUNT.OPEN SELECT SUM( & LABXK(I).CAPTION & ) AS YWZ , COUNT(*) AS RS FROM 成绩表 AS A INNER JOIN 学籍表 AS B ON A.考试号 = B.考试号 WHERE B.计外 = & COMBO3.TEXT & AND B.班级 LIKE & COMBO1.TEXT & AND A.考试性质 = & COMBO2.TEXT & , CON, ADOPENSTATIC, , ADCMDTEXT TXTZF(50 + I).TEXT = RSCOUNT!YWZ TXTZF(60 + I).TEXT = RSCOUNT!YWZ / TEXT1.TEXT TXTZF(70 + I).TEXT = TXTZF(20 + I).TEXT * 0.4 + 40 TXTZF(40 + I).TEXT * 0.2 + TXTZF(60 + I).TEXT * 0.4 TXTZF(80 + I).TEXT = RSCOUNT!RS RSCOUNT.CLOSE END IF NEXT I END IF IF COMBO3.TEXT = 是 THEN FOR I = 0 TO 9 IF TXTZF(I).TEXT 0 THEN RSCOUNT.OPEN SELECT COUNT(*) AS YWJ FROM 成绩表 AS A INNER JOIN 学籍表 AS B ON A.考试号 = B.考试号 WHERE B.班级 LIKE & COMBO1.TEXT & AND A.考试性质 = & COMBO2.TEXT & AND A. & LABXK(I).CAPTION & = & TXTZF(I).TEXT * 0.6, CON, ADOPENSTATIC, , ADCMDTEXT TXTZF(10 + I).TEXT = RSCOUNT!YWJ TXTZF(20 + I).TEXT = RSCOUNT!YWJ / TEXT1.TEXT * 100 RSCOUNT.CLOSE RSCOUNT.OPEN SELECT COUNT(*) AS YWY FROM 成绩表 AS A INNER JOIN 学籍表 AS B ON A.考试号 = B.考试号 WHERE B.班级 LIKE & COMBO1.TEXT & AND A.考试性质 = & COMBO2.TEXT 41 & AND A. & LABXK(I).CAPTION & = & TXTZF(I).TEXT * 0.85, CON, ADOPENSTATIC, , ADCMDTEXT TXTZF(30 + I).TEXT = RSCOUNT!YWY TXTZF(40 + I).TEXT = RSCOUNT!YWY / TEXT1.TEXT * 100 RSCOUNT.CLOSE RSCOUNT.OPEN SELECT SUM( & LABXK(I).CAPTION & ) AS YWZ , COUNT(*) AS RS FROM 成绩表 AS A INNER JOIN 学籍表 AS B ON A.考试号 = B.考试号 WHERE B.班级 LIKE & COMBO1.TEXT & AND A.考试性质 = & COMBO2.TEXT & , CON, ADOPENSTATIC, , ADCMDTEXT TXTZF(50 + I).TEXT = RSCOUNT!YWZ TXTZF(60 + I).TEXT = RSCOUNT!YWZ / TEXT1.TEXT TXTZF(70 + I).TEXT = TXTZF(20 + I).TEXT * 0.4 + TXTZF(40 + I).TEXT * 0.2 + TXTZF(60 + I).TEXT * 0.4 TXTZF(80 + I).TEXT = RSCOUNT!RS RSCOUNT.CLOSE END IF NEXT I END IF COMMAND3.ENABLED = TRUE 42 EXIT SUB WRONG: IF ERR.NUMBER = 3705 THEN RSCOUNT.CLOSE MSGBOX 内部错误,请重新按一下“统计”按钮! EXIT SUB END IF MSGBOX ERR.NUMBER & ERR.DESCRIPTION & ,请检查您的初始值 CALL EXECERR(DATE, ME.CAPTION, ERR.NUMBER, ERR.SOURCE, ERR.DESCRIPTION) DIM CTL AS CONTROL FOR EACH CTL IN CONTROLS IF TYPEOF CTL IS TEXTBOX THEN CTL.TEXT = 0 END IF NEXT CTL END SUB PRIVATE SUB COMMAND2_CLICK() UNLOAD ME 43 END SUB PRIVATE SUB COMMAND3_CLICK() ON ERROR GOTO ERR SET CMDEXEC = NEW ADODB.COMMAND CMDEXEC.ACTIVECONNECTION = CON DIM SQLSTRING AS STRING FOR I = 0 TO 9 IF TXTZF(I).TEXT 0 THEN SQLSTRING = INSERT INTO 考核表(班级,在籍数,计外,考 试性质,学科,卷面总分,及格数,及格率,优秀数,优秀率,总分,均分, 442,参考数) VALUES & ( & COMBO1.TEXT & , & TEXT1.TEXT & , & COMBO3.TEXT & , & COMBO2.TEXT & , & LABXK(I).CAPTION & , & TXTZF(I).TEXT & , & TXTZF(I + 10).TEXT & , & TXTZF(I + 20).TEXT & , & TXTZF(I + 30).TEXT & , & TXTZF(I + 40).TEXT & , & TXTZF(I + 50).TEXT & , & TXTZF(I + 60).TEXT & , & TXTZF(I + 70).TEXT & , & TXTZF(I + 80).TEXT & ) CMDEXEC.COMMANDTEXT = SQLSTRING CMDEXEC.EXECUTE END IF COMMAND3.ENABLED = FALSE 44 NEXT I MSGBOX 添加存储成功! EXIT SUB ERR: MSGBOX 存储错误! CALL EXECERR(DATE, ME.CAPTION, ERR.NUMBER, ERR.SOURCE, ERR.DESCRIPTION) END SUB PRIVATE SUB FORM_LOAD() CALL RESIZEINIT(ME) SET RSCOUNT = NEW ADODB.RECORDSET DIM RSBJ AS ADODB.RECORDSET SET RSBJ = NEW ADODB.RECORDSET RSBJ.OPEN 班级表, CON, ADOPENSTATIC, ADLOCKPESSIMISTIC, ADCMDTABLE COMBO1.CLEAR COMBO1.TEXT = 请选择. DO WHILE NOT RSBJ.EOF COMBO1.ADDITEM RSBJ!班级 RSBJ.MOVENEXT 45 LOOP IF PERMISSION 0 THEN COMMAND3.VISIBLE = FALSE END SUB PRIVATE SUB FORM_RESIZE() CALL RESIZEFORM(ME) 窗体改变时,控件随之变化 WITH COMBO1 .TOP = LABEL1(0).TOP .LEFT = LABEL13.LEFT .WIDTH = LABEL14.WIDTH + LABEL13.WIDTH END WITH WITH COMBO3 .TOP = LABEL4.TOP .LEFT = LABEL18.LEFT .WIDTH = TXTZF(50).WIDTH END WITH WITH COMBO2 .TOP = LABEL21.TOP .LEFT = LABEL3.LEFT .WIDTH = TXTZF(70).WIDTH + TXTZF(80).WID
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 倾斜建筑地基施工方案设计
- 2025广西河池市罗城仫佬族自治县水利局招聘1人考试参考试题及答案解析
- 2026招商银行武汉分行校园招聘备考考试题库附答案解析
- 阅读之旅模板
- 文化公司税务咨询方案
- 本土企业应对策略-洞察及研究
- 油墨厂水性建筑油墨设备操作规定
- 水产养殖过程中病原微生物及污染物的安全性研究-洞察及研究
- 河南省新乡市2025-2026学年高一上学期9月月考历史试卷(含答案)
- 2024-2025学年广东省汕头市澄海区实验学校人教版六年级上册期中素养展示测试数学试卷(含答案)
- 朋友的古诗句
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)宣传海报
- 道路工程交通安全设施施工方案及保障措施
- 征信数据纠正服务合同
- 肝癌超声课件教学课件
- 合规岗位季度工作计划
- 制造业生产管理:Excel2024版高效培训教程
- 漫展嘉宾合同模板
- 药物分析考试题及答案(新版)
- 第一单元 单元检测试卷(一)(解析版)高中思想政治 统编版 必修四
- 小餐饮保证食品安全的规章制度
评论
0/150
提交评论