(TEXT2.TEXT*1)
RS1!生物=TRIM(TXTCJ(8).TEXT)*1*(TEXT2.TEXT*1)
RS1!总分=TRIM(TXTCJ(9).TEXT)
RS1.UPDATEBATCHADAFFECTALLCHAPTERS
SBAR1.PANELS.ITEM(1)="修改成功保存!"
RS1.CLOSE
ELSE
CMDEXE.ACTIVECONNECTION=CON
CMDEXE.COMMANDTEXT="INSERTINTO成绩表(考试号,语文,数学,英语,物理,化学,政治,历史,地理,生物,总分,考试性质)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
ENDIF
LABEL3.CAPTION="共添加"&ICOUNT&"条记录"
RS.MOVENEXT
IFLIST1.LISTINDEX+1
LIST1.LISTINDEX=LIST1.LISTINDEX+1
ENDIF
DISPLAY
EXITSUB
ERR:
CALLEXECERR(DATE,ME.CAPTION,ERR.NUMBER,ERR.SOURCE,ERR.DESCRIPTION)
ENDSUB
PRIVATESUBFORM_LOAD()
ADDFLG=FALSE
ICOUNT=0
SETRS=NEWADODB.RECORDSET
SETRS1=NEWADODB.RECORDSET
SETCMDEXE=NEWADODB.COMMAND
DIMRSBJASADODB.RECORDSET
SETRSBJ=NEWADODB.RECORDSET
RSBJ.OPEN"班级表",CON,ADOPENSTATIC,ADLOCKPESSIMISTIC,ADCMDTABLE
COMBO1.CLEAR
DOWHILENOTRSBJ.EOF
COMBO1.ADDITEMRSBJ!班级
RSBJ.MOVENEXT
LOOP
IFCOMBO1.LISTCOUNT>0THEN
COMBO1.LISTINDEX=0
ENDIF
ENDSUB
PRIVATESUBCOMMAND1_CLICK()
RS.MOVEFIRST
LIST1.LISTINDEX=1
DISPLAY
ENDSUB
PRIVATESUBCOMMAND2_CLICK()
WITHRS
.MOVEPREVIOUS
IF.BOFTHEN
.MOVEFIRST
ELSE
LIST1.LISTINDEX=LIST1.LISTINDEX-1
ENDIF
ENDWITH
DISPLAY
ENDSUB
PRIVATESUBCOMMAND3_CLICK()
WITHRS
.MOVENEXT
IFRS.EOFTHEN
RS.MOVELAST
ELSE
LIST1.LISTINDEX=LIST1.LISTINDEX+1
ENDIF
ENDWITH
DISPLAY
ENDSUB
PRIVATESUBCOMMAND4_CLICK()
RS.MOVELAST
LIST1.LISTINDEX=LIST1.LISTCOUNT-1
DISPLAY
ENDSUB
PRIVATESUBLIST1_CLICK()
IFLIST1.LISTINDEX<1THEN
ELSE
RS.MOVELIST1.LISTINDEX-1,ADBOOKMARKFIRST
ENDIF
DISPLAY
ENDSUB
PRIVATESUBTEXT3_KEYPRESS(KEYASCIIASINTEGER)
IFNOTISNUMERIC(CHR(KEYASCII))THEN
KEYASCII=0
ENDIF
ENDSUB
PRIVATESUBTXTCJ_GOTFOCUS(INDEXASINTEGER)
FORI=0TO8
IFTXTCJ(I).TEXT="0"THEN
TXTCJ(I).TEXT=""
ENDIF
NEXTI
SBAR1.PANELS.ITEM(1)="处于更改成绩状态!"
ENDSUB
PRIVATESUBTXTCJ_KEYPRESS(INDEXASINTEGER,KEYASCIIASINTEGER)
IFNOTISNUMERIC(CHR(KEYASCII))THEN
KEYASCII=0
ENDIF
ENDSUB
PRIVATESUBPASS()
IFTEXT1.TEXT=""THEN
TEXT1.TEXT=DATE
ENDIF
IFTEXT2.TEXT=""THEN
TEXT2.TEXT="1.0"
ENDIF
IFCOMBO1.LISTINDEX=-1THEN
COMBO1.TEXT="101"
ENDIF
IFTRIM(TEXT3.TEXT)=""THEN
TEXT3.TEXT="130"
ENDIF
FORI=0TO8
IFCHECK1(I).VALUE=1THEN
TXTCJ(I).ENABLED=FALSE
TXTCJ(I).TEXT="0"
ENDIF
NEXTI
ENDSUB
PRIVATESUBDISPLAY()
IFRS.EOFTHEN
RS.MOVELAST
MSGBOX"记录已到最后一条!"
ENDIF
LIST1.LISTINDEX=LIST1.LISTINDEX
KSH.CAPTION=""&RS!考试号
XH.CAPTION=""&RS!学号
XM.CAPTION=""&RS!姓名
RS1.OPEN"SELECTA.考试号AS考试号,A.学号AS学号,A.姓名AS姓名,B.语文AS语文,B.数学AS数学,B.英语AS英语,B.物理AS物理,B.化学AS化学,B.政治AS政治,B.历史AS历史,B.地理AS地理,B.生物AS生物,B.总分AS总分FROM学籍表ASALEFTOUTERJOIN成绩表ASBONA.考试号=B.考试号WHEREA.考试号='"&TRIM(KSH.CAPTION)&"'ANDB.考试性质='"&TRIM(TEXT1.TEXT)&"'ORDERBYA.学号",CON,ADOPENSTATIC,ADLOCKPESSIMISTIC,ADCMDTEXT
IFRS1.EOF=FALSEANDRS1.BOF=FALSETHEN
ADDFLG=FALSE
TXTCJ(0).TEXT=""&RS1!语文
TXTCJ(1).TEXT=""&RS1!数学
TXTCJ(2).TEXT=""&RS1!英语
TXTCJ(3).TEXT=""&RS1!物理
TXTCJ(4).TEXT=""&RS1!化学
TXTCJ(5).TEXT=""&RS1!政治
TXTCJ(6).TEXT=""&RS1!历史
TXTCJ(7).TEXT=""&RS1!地理
TXTCJ(8).TEXT=""&RS1!生物
TXTCJ(9).TEXT=""&RS1!总分
ELSE
ADDFLG=TRUE
FORI=0TO9
TXTCJ(I).TEXT="0"
NEXTI
ENDIF
RS1.CLOSE
ENDSUB
PRIVATESUBTXTCJ_LOSTFOCUS(INDEXASINTEGER)
FORI=0TO8
IFTXTCJ(I).TEXT=""THEN
TXTCJ(I).TEXT="0"
ENDIF
NEXTI
ENDSUB
3.班级分数段分析界面与代码设计:
代码设计:
PRIVATESUBCMDEXEC_CLICK()
IFCOMBO1.LISTINDEX=-1ORCOMBO2.LISTINDEX=-1ORCOMBO3.LISTINDEX=-1THEN
MSGBOX"请确保选择统计班级、学科和考试性质!"
EXITSUB
ENDIF
DATAOUT
EXECPASS
LOADDATA
ENDSUB
PRIVATESUBCOMLST_CLICK(INDEXASINTEGER)
IFCOMLST(INDEX).LISTINDEX>-1ANDCOMBO3.LISTINDEX>-1THEN
DIMTXTSQLASSTRING
TXTSQL="SELECTB.班级,B.学号,B.姓名,A.*FROM成绩表ASAINNERJOIN学籍表ASBONA.考试号=B.考试号WHERE姓名='"&COMLST(INDEX).TEXT&"'AND考试性质='"&COMBO3.TEXT&"'"
ADODC1.CONNECTIONSTRING=CON.CONNECTIONSTRING
ADODC1.COMMANDTYPE=ADCMDTEXT
ADODC1.RECORDSOURCE=TXTSQL
ADODC1.REFRESH
SETDATAGRID1.DATASOURCE=ADODC1
ENDIF
ENDSUB
PRIVATESUBFORM_LOAD()
CALLRESIZEINIT(ME)
DIMRSBASADODB.RECORDSET
SETRSB=NEWADODB.RECORDSET
RSB.OPEN"SELECTDISTINCTB.班级ASKSBJFROM成绩表ASAINNERJOIN学籍表ASBONA.考试号=B.考试号",CON,ADOPENSTATIC,,ADCMDTEXT
COMBO1.CLEAR
DOWHILENOTRSB.EOF
COMBO1.ADDITEMRSB!KSBJ
RSB.MOVENEXT
LOOP
SETRSX=NEWADODB.RECORDSET
RSX.OPEN"SELECTDISTINCTA.考试性质ASKSXZFROM成绩表ASAINNERJOIN学籍表ASBONA.考试号=B.考试号",CON,ADOPENSTATIC,,ADCMDTEXT
COMBO3.CLEAR
DOWHILENOTRSX.EOF
COMBO3.ADDITEMRSX!KSXZ
RSX.MOVENEXT
LOOP
IFCOMBO1.LISTCOUNT>0THEN
COMBO1.LISTINDEX=0
COMBO2.LISTINDEX=9
ENDIF
IFCOMBO3.LISTCOUNT>0THEN
COMBO3.LISTINDEX=0
ENDIF
ENDSUB
PRIVATESUBFORM_RESIZE()
CALLRESIZEFORM(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
FORI=0TO7
COMLST(I).TOP=LABEL7.TOP
COMLST(I).LEFT=TXTFSD(I).LEFT+I*10
COMLST(I).WIDTH=COMLST(I).WIDTH
NEXTI
ENDSUB
PRIVATESUBTXTFSD_KEYPRESS(INDEXASINTEGER,KEYASCIIASINTEGER)
IFNOTISNUMERIC(CHR(KEYASCII))THEN
KEYASCII=0
ENDIF
ENDSUB
PRIVATESUBEXECPASS()
FORI=0TO7
IFTXTFSD(I).TEXT=""THEN
MSGBOX"分数段数值错误!此次统计不实。",,"错误项"&I&":"
EXITSUB
ENDIF
NEXTI
IFCINT(TXTFSD(0).TEXT)>CINT(TXTFSD(1).TEXT)ANDCINT(TXTFSD(1).TEXT)>CINT(TXTFSD(2).TEXT)ANDCINT(TXTFSD(2).TEXT)>CINT(TXTFSD(3).TEXT)ANDCINT(TXTFSD(3).TEXT)>CINT(TXTFSD(4).TEXT)ANDCINT(TXTFSD(4).TEXT)>CINT(TXTFSD(5).TEXT)ANDCINT(TXTFSD(5).TEXT)>CINT(TXTFSD(6).TEXT)ANDCINT(TXTFSD(6).TEXT)>CINT(TXTFSD(7).TEXT)THEN
ELSE
MSGBOX"请保持数值递减顺序!此次统计不实。",,"数值错误:"
EXITSUB
ENDIF
ENDSUB
PRIVATESUBLOADDATA()
DIMQUERYASSTRING
DIMPICRSASADODB.RECORDSET
SETPICRS=NEWADODB.RECORDSET
QUERY="SELECTB.姓名ASXM,A."&COMBO2.TEXT&"ASCJFROM成绩表ASAINNERJOIN学籍表ASBONA.考试号=B.考试号WHERE班级='"&COMBO1.TEXT&"'AND考试性质='"&COMBO3.TEXT&"'"
PICRS.OPENQUERY,CON,ADOPENSTATIC,,ADCMDTEXT
WITHPICRS
DOWHILENOT.EOF
IFCINT(PICRS!CJ)>=CINT(TXTFSD(0).TEXT)THEN
ICJ(0)=ICJ(0)+1
COMLST(0).ADDITEMPICRS!XM
ENDIF
IFCINT(PICRS!CJ)>=CINT(TXTFSD(1).TEXT)ANDCINT(PICRS!CJ)
=CINT(TXTFSD(2).TEXT)ANDCINT(PICRS!CJ)=CINT(TXTFSD(3).TEXT)ANDCINT(PICRS!CJ)=CINT(TXTFSD(4).TEXT)ANDCINT(PICRS!CJ)=CINT(TXTFSD(5).TEXT)ANDCINT(PICRS!CJ)=CINT(TXTFSD(6).TEXT)ANDCINT(PICRS!CJ)=CINT(TXTFSD(7).TEXT)ANDCINT(PICRS!CJ)"否"ANDCOMBO3.TEXT<>"是")THEN
MSGBOX"计外生情况描述不完整!"
EXITSUB
ELSE
IFCOMBO3.TEXT="否"THEN
ELSE
ENDIF
ENDIF
TXTZF(9).TEXT=""
TXTZF(9).TEXT=TXTZF(0).TEXT*1+TXTZF(1).TEXT*1+TXTZF(2).TEXT*1+TXTZF(3).TEXT*1+TXTZF(4).TEXT*1+TXTZF(5).TEXT*1+TXTZF(6).TEXT*1+TXTZF(7).TEXT*1+TXTZF(8).TEXT*1
IFCOMBO3.TEXT="否"THEN
FORI=0TO9
IFTXTZF(I).TEXT<>0THEN
RSCOUNT.OPEN"SELECTCOUNT(*)ASYWJFROM成绩表ASAINNERJOIN学籍表ASBONA.考试号=B.考试号WHEREB.计外='"&COMBO3.TEXT&"'ANDB.班级LIKE"&COMBO1.TEXT&"ANDA.考试性质='"&COMBO2.TEXT&"'ANDA."&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"SELECTCOUNT(*)ASYWYFROM成绩表ASAINNERJOIN学籍表ASBONA.考试号=B.考试号WHEREB.计外='"&COMBO3.TEXT&"'ANDB.班级LIKE"&COMBO1.TEXT&"ANDA.考试性质='"&COMBO2.TEXT&"'ANDA."&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"SELECTSUM("&LABXK(I).CAPTION&")ASYWZ,COUNT(*)ASRSFROM成绩表ASAINNERJOIN学籍表ASBONA.考试号=B.考试号WHEREB.计外='"&COMBO3.TEXT&"'A
上一篇:VB招生管理系统(论文和程序)
下一篇:锦鲤送不停 猎豹汽车嗨翻“疯狂购车季”