Long Sample of code, but is this what you are after.<br><br>select BIDCODE<br>sum BIDCODE.LIMIT to cnMaxCodes<br>cnMaxCodes = int(cnMaxCodes)<br>public array laPrjCode[cnMaxCodes , 4]<br><br>Code to Prepopulate array laPrjCode[x,y]<br><br>IF WVISIBLE("prjcode"

<br> ACTIVATE WINDOW prjcode SAME<br>ELSE<br> ACTIVATE WINDOW prjcode NOSHOW<br>ENDIF<br>@ 1.000,2.400 SAY "Project Code" ;<br> FONT "MS Sans Serif", 8 ;<br> STYLE "BT"<br>@ 1.000,26.400 SAY "Code Amount" ;<br> FONT "MS Sans Serif", 8 ;<br> STYLE "BT"<br>@ 2.846,10.000 GET laPrjCode[1,1] ;<br> SIZE 1.000,6.400 ;<br> DEFAULT " " ;<br> FONT "MS Sans Serif", 8 ;<br> PICTURE "A!99" ;<br> VALID iif(empty(laPrjCode[1 , 1]) , .t. , seek(M.PRJTYPE + laPrjCode[1 , 1] , "BIDCODES"

) ;<br> ERROR "Invalid Project Code"<br>@ 2.846,22.000 GET laPrjCode[1,2] ;<br> SIZE 1.000,19.800 ;<br> RANGE BIDCODES.LOW_AMT, BIDCODES.TOP_AMT ;<br> DEFAULT 0 ;<br> FONT "MS Sans Serif", 8 ;<br> PICTURE "@K" ;<br> WHEN upper(laPrjCode[1,1]) = "A" ;<br> VALID between(laprjcode[1,2] , BIDCODES.LOW_AMT , BIDCODES.TOP_AMT)<br>@ 4.692,10.000 GET laPrjCode[2,1] ;<br> SIZE 1.000,6.400 ;<br> DEFAULT " " ;<br> FONT "MS Sans Serif", 8 ;<br> PICTURE "A!99" ;<br> VALID iif(empty(laPrjCode[2 , 1]) , .t. , seek(M.PRJTYPE + laPrjCode[2 , 1] , "BIDCODES"

)<br><br>..... more lines like above for the rest of the array<br><br>@ 25.846,11.600 GET lnChoice ;<br> PICTURE "@*HT \<Save;\<Cancel" ;<br> SIZE 1.769,8.667,4.167 ;<br> DEFAULT 1 ;<br> FONT "MS Sans Serif", 8 ;<br> STYLE "B"<br><br>IF NOT WVISIBLE("prjcode"

<br> ACTIVATE WINDOW prjcode<br>ENDIF<br><br>READ CYCLE MODAL<br><br>RELEASE WINDOW prjcode<br><br>Code to do what you want with the array.<br> <p>David W. Grewe<br><a href=mailto

ave@internationalbid.net>Dave@internationalbid.net</a><br><a href= > </a><br>