【文章內容簡介】
THEN MSGBOX 記錄已到最后一條! END IF = = amp。 RS!考試號 = amp。 RS!學號 = amp。 RS!姓名 SELECT AS 考試號 , AS 學號 , AS 姓名 , AS 語文 , AS 數(shù)學 , AS 英語 , AS 物理 , AS 化學 , AS 政治 , AS 歷史 , AS 地理 , AS 生物 , AS 總分 FROM 學籍表 AS A LEFT OUTER JOIN 成績表 AS B ON = WHERE =39。 amp。 TRIM() amp。 39。 AND =39。 amp。 TRIM() amp。 39。 ORDER BY , CON, ADOPENSTATIC, ADLOCKPESSIMISTIC, ADCMDTEXT IF = FALSE AND = FALSE THEN ADDFLG = FALSE TXTCJ(0).TEXT = amp。 RS1!語文 TXTCJ(1).TEXT = amp。 RS1!數(shù)學 TXTCJ(2).TEXT = amp。 RS1!英語 TXTCJ(3).TEXT = amp。 RS1!物理 TXTCJ(4).TEXT = amp。 RS1!化學 TXTCJ(5).TEXT = amp。 RS1!政治 TXTCJ(6).TEXT = amp。 RS1!歷史 TXTCJ(7).TEXT = amp。 RS1!地理 TXTCJ(8).TEXT = amp。 RS1!生物 TXTCJ(9).TEXT = amp。 RS1!總分 ELSE ADDFLG = TRUE FOR I = 0 TO 9 TXTCJ(I).TEXT = 0 NEXT I END IF END SUB PRIVATE SUB TXTCJ_LOSTFOCUS(INDEX AS INTEGER) FOR I = 0 TO 8 IF TXTCJ(I).TEXT = THEN TXTCJ(I).TEXT = 0 END IF NEXT I END SUB : 代碼設計 : PRIVATE SUB CMDEXEC_CLICK() IF = 1 OR = 1 OR = 1 THEN MSGBOX 請確保選擇統(tǒng)計班級、學科和考試性質! EXIT SUB END IF DATAOUT EXECPASS LOADDATA END SUB PRIVATE SUB COMLST_CLICK(INDEX AS INTEGER) IF COMLST(INDEX).LISTINDEX 1 AND 1 THEN DIM TXTSQL AS STRING TXTSQL = SELECT , , ,A.* FROM 成績表 AS A INNER JOIN 學籍表 AS B ON = WHERE 姓名 = 39。 amp。 COMLST(INDEX).TEXT amp。 39。 AND 考試性質 = 39。 amp。 amp。 39。 = = ADCMDTEXT = TXTSQL SET = ADODC1 END IF END SUB PRIVATE SUB FORM_LOAD() CALL RESIZEINIT(ME) DIM RSB AS SET RSB = NEW SELECT DISTINCT AS KSBJ FROM 成績表 AS A INNER JOIN 學籍表 AS B ON = , CON, ADOPENSTATIC, , ADCMDTEXT DO WHILE NOT RSB!KSBJ LOOP SET RSX = NEW SELECT DISTINCT AS KSXZ FROM 成績表 AS A INNER JOIN 學籍表 AS B ON = , CON, ADOPENSTATIC, , ADCMDTEXT DO WHILE NOT RSX!KSXZ LOOP IF 0 THEN = 0 = 9 END IF IF 0 THEN = 0 END IF END SUB PRIVATE SUB FORM_RESIZE() CALL RESIZEFORM(ME) 39。窗體改變時,控件隨之變化 = + + 100 = = + 150 = + + 100 = = + 150 = + + 100 = = + 150 FOR I = 0 TO 7 COMLST(I).TOP = COMLST(I).LEFT = TXTFSD(I).LEFT + I * 10 COMLST(I).WIDTH = COMLST(I).WIDTH NEXT I END SUB 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 分數(shù)段數(shù)值錯誤!此次統(tǒng)計不實。 , , 錯誤項 amp。 I amp。 : 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 CINT(TXTFSD(5).TEXT) CINT(TXTFSD(6).TEXT) AND CINT(TXTFSD(6).TEXT) CINT(TXTFSD(7).TEXT) THEN ELSE MSGBOX 請保持數(shù)值遞減順序!此次統(tǒng)計不實。 , , 數(shù)值錯誤: EXIT SUB END IF END SUB PRIVATE SUB LOADDATA() DIM QUERY AS STRING DIM PICRS AS SET PICRS = NEW QUERY = SELECT AS XM , A. amp。 amp。 AS CJ FROM 成績表 AS A INNER JOIN 學籍表 AS B ON = 號 WHERE 班級 = 39。 amp。 amp。 39。 AND 考試性質 = 39。 amp。 amp。 39。 QUERY, CON, ADOPENSTATIC, , ADCMDTEXT 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(0).TEXT) THEN ICJ(1) = ICJ(1) + 1 COMLST(1).ADDITEM PICRS!XM END IF IF CINT(PICRS!CJ) = CINT(TXTFSD(2).TEXT) AND CINT(PICRS!CJ) CINT(TXTFSD(1).TEXT) THEN ICJ(2) = ICJ(2) + 1 COMLST(2).ADDITEM PICRS!XM END IF IF CINT(PICRS!CJ) = CINT(TXTFSD(3).TEXT) AND CINT(PICRS!CJ) CINT(TXTFSD(2).TEXT) THEN ICJ(3) = ICJ(3) + 1 COMLST(3).ADDITEM PICRS!XM END IF IF CINT(PICRS!CJ) = CINT(TXTFSD(4).TEXT) AND CINT(PICRS!CJ) CINT(TXTFSD(3).TEXT) THEN ICJ(4) = ICJ(4) + 1 COMLST(4).ADDITEM PICRS!XM END IF IF CINT(PICRS!CJ) = CINT(TXTFSD(5).TEXT) AND CINT(PICRS!CJ) CINT(TXTFSD(4).TEXT) THEN ICJ(5) = ICJ(5) + 1 COMLST(5).ADDITEM PICRS!XM END IF IF CINT(PICRS!CJ) = CINT(TXTFSD(6).TEXT) AND CINT(PICRS!CJ) CINT(TXTFSD(5).TEXT) THEN ICJ(6) = ICJ(6) + 1 COMLST(6).ADDITEM PICRS!XM END IF IF CINT(PICRS!CJ) = CINT(TXTFSD(7).TEXT) AND CINT(PICRS!CJ) CINT(TXTFSD(6).TEXT) THEN ICJ(7) = ICJ(7) + 1 COMLST(7).ADDITEM PICRS!XM END IF .MOVENEXT LOOP END WITH = FOR I = 0 TO 7 TXTCOUNT(I).CAPTION = ICJ(I) NEXT I END SUB PRIVATE SUB DATAOUT() FOR I = 0 TO 7 ICJ(I) = 0 COMLST(I).CLEAR COMLST(I).TEXT = 請選 TXTCOUNT(I).CAPTION = NEXT I END SUB : 代碼分析 : DIM RSCOUNT AS DIM CMDEXEC AS DIM I AS INTEGER DIM JWSF AS STRING DIM ADDFLG AS BOOLEAN PRIVATE SUB COMBO1_LOSTFOCUS() ON ERROR GOTO ERR DIM CTL