select Mailcode set order to correcttag seek lcField if found() etc.Just to check, what's going on...
>llretval = .T. > >*-- Standard validation for subscriber table is in a stored procedure >DO CASE > CASE EVALUATE(This.psavetable+".n_amount") = 0 > cmessage = "Please enter rate amount." > =MESSAGEBOX(cmessage,MB_ICONEXCLAMATION + MB_OK,; > APP_LOC) > llretval = .F. > RETURN llretval >ENDCASE > >IF !EMPTY(EVALUATE(This.psavetable+".c_region")) > IF !SEEK(EVALUATE(This.psavetable+".c_region"),"Region") > cmessage = "The region code you entered is not correct." > =MESSAGEBOX(cmessage,MB_ICONEXCLAMATION + MB_OK,; > APP_LOC) > llretval = .F. > RETURN llretval > ENDIF >ELSE > cmessage = "Please enter region." > =MESSAGEBOX(cmessage,MB_ICONEXCLAMATION + MB_OK,; > APP_LOC) > llretval = .F. > RETURN llretval > ENDIF > > IF !EMPTY(EVALUATE(This.psavetable+".c_mailcode")) > SELECT mailcode > IF TAG() <> "c_mailcode" > SET ORDER TO TAG c_mailcode > ENDIF > SET FILTER TO > SET FILTER TO mailcode.c_region_id = EVALUATE(This.psavetable+".c_region") > IF !SEEK(ALLTRIM(UPPER(EVALUATE(This.psavetable+".c_mailcode"))),"Mailcode") > =MESSAGEBOX(NOTVALIDMAILCODE,MB_ICONEXCLAMATION + MB_OK,; > APP_LOC) > llretval = .F. > RETURN llretval > ENDIF > > *-- We were successful in our seek so now look in rates > *-- table to see if amount enter is correct > SELECT Rates > SET ORDER TO TAG c_rateid > IF SEEK(Alltrim(mailcode.c_rates),"Rates") > SELECT rates > SET FILTER TO > SET FILTER TO ALLTRIM(rates.c_rates) + ALLTRIM(rates.c_region_id) = ALLTRIM(mailcode.c_rates) + EVALUATE(This.psavetable+".c_region") > SCAN > IF Rates.n_cost = EVALUATE(This.psavetable+".n_amount") > *-- Amount enter is a valid rate for mailcode > lnotvalidrate = .F. > EXIT > ELSE > lnotvalidrate = .T. > ENDIF > ENDSCAN > IF lnotvalidrate > =MESSAGEBOX(NOTVALIDAMT,MB_ICONEXCLAMATION + MB_OK,; > APP_LOC) > llretval = .F. > RETURN llretval > ENDIF > ENDIF >RETURN llretval >ENDIF > > >And here the code for the save button > >SELECT (This.Parent.psavetable) > llretval = Thisform.mdetectchanges() > IF llretval > llretval = This.Parent.mbeforesave() > IF llretval > IF This.Parent.Parent.Parent.Page5.grdentrydata.ppreviousamt <> EVALUATE(This.Parent.psavetable+".n_amount") > REPLACE v_batchinfo.n_amt_entered WITH v_batchinfo.n_amt_entered + EVALUATE(This.Parent.psavetable+".n_amount")-; > This.Parent.Parent.Parent.Page5.grdentrydata.ppreviousamt > REPLACE (This.Parent.psavetable+".n_last_order") WITH EVALUATE(This.Parent.psavetable + ".n_amount") > REPLACE (This.Parent.psavetable+".n_org_order") WITH EVALUATE(This.Parent.psavetable + ".n_amount") > ENDIF > lcFieldValue = Evaluate(This.Parent.psavetable+".c_mailcode") > lcFieldValue = ALLTRIM(UPPER(lcFieldValue)) > WAIT WINDOW lcFieldValue > IF SEEK(lcFieldValue,"Mailcode") > SELECT rates > SET FILTER TO ALLTRIM(c_rates) + ALLTRIM(rates.c_region_id) = ALLTRIM(Mailcode.c_rates) + ALLTRIM(EVALUATE(This.Parent.psavetable + ".c_region")) > LOCATE > SCAN > IF Rates.n_cost = EVALUATE(This.Parent.psavetable + ".n_amount") > REPLACE (This.Parent.psavetable + ".i_itg") WITH rates.i_nocheck > REPLACE (This.Parent.psavetable + ".i_itgbargains") WITH rates.i_nobargain > REPLACE (This.Parent.psavetable + ".c_premiumproduct_id") WITH rates.c_premiumproducts > REPLACE (This.Parent.psavetable + ".i_itgpremium") WITH rates.c_nopremiumproducts > ENDIF > ENDSCAN > ENDIF > ELSE > RETURN > ENDIF > ENDIF >ENDIF >>The wait window show the value but it still bombs on If Seek