Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Locate to record and replacement very slow
Message
 
 
À
02/06/2004 12:39:51
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
00909275
Message ID:
00909582
Vues:
10
Please chek these codes, Hilmar advice use scan while instead of scan for
I do not use scan for commands,please correct these codes, with the fastest way.I will be able to understand scan for commands if you chek this codes
IF EMPTY(THISFORM.SHIFT.VALUE) .OR. EMPTY(THISFORM.LEVEL.VALUE) .OR. EMPTY(THISFORM.SECTION.VALUE) .OR. EMPTY(THISFORM.MONTH.VALUE).or.EMPTY(THISFORM.tsyear1.VALUE)
= MESSAGEBOX('Please Check... Some options are blank', 32, PRODUCT)
THISFORM.SHIFT.SETFOCUS
RETURN .T.
ENDIF
SHCODE = THISFORM.SHIFT.VALUE
DIS = THISFORM.TSYEAR1.VALUE
SHNAME = THISFORM.SHIFT.DISPLAYVALUE
LECODE = THISFORM.LEVEL.VALUE
LENAME = THISFORM.LEVEL.DISPLAYVALUE
SE = THISFORM.SECTION.VALUE
MONAME = THISFORM.MONTH.VALUE
SELECT 19
SET FILTER TO
SET FILTER TO SHIFT=THISFORM.SHIFT.VALUE .AND. LEVEL=THISFORM.LEVEL.VALUE .AND. SECTION=THISFORM.SECTION.VALUE .AND. MONTH=THISFORM.MONTH.VALUE .AND. YEAR=DIS
SET ORDER TO code
GOTO TOP
COUNT TO C
IF C=0
SET FILTER TO
SET ORDER TO refno
GOTO BOTTOM
LREFNO = REFNO+1
SET FILTER TO SHIFT=THISFORM.SHIFT.VALUE .AND. LEVEL=THISFORM.LEVEL.VALUE .AND. SECTION=THISFORM.SECTION.VALUE .AND. MONTH=THISFORM.MONTH.VALUE .AND. YEAR=DIS
SET ORDER TO code
GOTO TOP
ENDIF
IF C>0
GOTO TOP
LREFNO = REFNO
ENDIF
SELECT 6
SET FILTER TO
SET FILTER TO SCODE=SHCODE .AND. LCODE=LECODE .AND. SEC=SE .AND. ADMTD=1
SET ORDER TO code
GOTO TOP
DO WHILE .NOT. EOF()
TCODE = CODE
TROLL = ROLL
IF SEX=1
TNAME = ALLTRIM(DESCR)+" S/o "+ALLTRIM(FNAME)
ENDIF
IF SEX=2
TNAME = ALLTRIM(DESCR)+" D/o "+ALLTRIM(FNAME)
ENDIF
SELECT 19
SET FILTER TO
SET FILTER TO SHIFT=THISFORM.SHIFT.VALUE .AND. LEVEL=THISFORM.LEVEL.VALUE .AND. SECTION=THISFORM.SECTION.VALUE .AND. MONTH=THISFORM.MONTH.VALUE .AND. YEAR=DIS
SET ORDER TO code
GOTO TOP
SEEK TCODE
IF FOUND()
REPLACE NAME WITH TNAME
REPLACE ROLL WITH TROLL
ENDIF
IF .NOT. FOUND()
APPEND BLANK
REPLACE SHIFT WITH THISFORM.SHIFT.VALUE
REPLACE LEVEL WITH THISFORM.LEVEL.VALUE
REPLACE SECTION WITH THISFORM.SECTION.VALUE
REPLACE MONTH WITH THISFORM.MONTH.VALUE
REPLACE CODE WITH TCODE
REPLACE NAME WITH TNAME
REPLACE ADDM WITH 0
REPLACE MONT WITH 0
REPLACE TUTI WITH 0
REPLACE EXAM WITH 0
REPLACE COMP WITH 0
REPLACE LABO WITH 0
REPLACE OTHE WITH 0
REPLACE ROLL WITH TROLL
REPLACE REFNO WITH LREFNO
REPLACE YEAR WITH DIS
ENDIF
SELECT 6
SKIP
ENDDO
SHCODE = THISFORM.SHIFT.VALUE
SHNAME = THISFORM.SHIFT.DISPLAYVALUE
LECODE = THISFORM.LEVEL.VALUE
LENAME = THISFORM.LEVEL.DISPLAYVALUE
SE = THISFORM.SECTION.VALUE
MONAME = THISFORM.MONTH.VALUE
IF THISFORM.MONTH.VALUE="January"
MOCODE = 1
ENDIF
IF THISFORM.MONTH.VALUE="February"
MOCODE = 2
ENDIF
IF THISFORM.MONTH.VALUE="March"
MOCODE = 3
ENDIF
IF THISFORM.MONTH.VALUE="April"
MOCODE = 4
ENDIF
IF THISFORM.MONTH.VALUE="May"
MOCODE = 5
ENDIF
IF THISFORM.MONTH.VALUE="June"
MOCODE = 6
ENDIF
IF THISFORM.MONTH.VALUE="July"
MOCODE = 7
ENDIF
IF THISFORM.MONTH.VALUE="August"
MOCODE = 8
ENDIF
IF THISFORM.MONTH.VALUE="September"
MOCODE = 9
ENDIF
IF THISFORM.MONTH.VALUE="October"
MOCODE = 10
ENDIF
IF THISFORM.MONTH.VALUE="November"
MOCODE = 11
ENDIF
IF THISFORM.MONTH.VALUE="December"
MOCODE = 12
ENDIF
SELECT 19
SET FILTER TO
SET FILTER TO SHIFT=SHCODE .AND. LEVEL=LECODE .AND. SECTION=SE .AND. MONTH=MONAME .AND. YEAR=DIS
SET ORDER TO roll
GOTO TOP
DO WHILE .NOT. EOF()
REPLACE TOTAL WITH ADDM+MONT+TUTI+EXAM+COMP+LABO+OTHE
SKIP
ENDDO
* THISFORM.RELEASE
DO FORM feesnew
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform