lcQtyFields = "" FOR I = 1 TO 10 TEXT TO lcQtyFields NOSHOW TEXTMERGE ADDITIVE ,QTY<<I>> int ENDTEXT ENDFOR TEXT TO lcTry2 NOSHOW TEXTMERGE PRETEXT 1+2+4 CREATE CURSOR output ( F2 C(<<LEN(pop.f2)>>), CITY C(<<LEN(pop.city)>>) <<lcQtyFields>>) ENDTEXT lcTry2 = CHRTRAN(lcTry2,CHR(13)+CHR(10),"") &lcTry2>I need to create a cursor on the fly. The field names are known, but the lengths depend on the length of an equivalent field in a different table. In addition, I need to add a variable number of integer fields. I can do this easily enough by piecing together a string variable
>CLOSE TABLES all >CLEAR >USE pop > >lcTry1 = "CREATE CURSOR output (F2 C(" + TRANSFORM(LEN(pop.f2)) +; > ", CITY C(" + TRANSFORM(LEN(pop.city)) >FOR I = 1 TO 10 > lcTry1 = lcTry1 + ",QTY" + TRANSFORM(I) + " int" >ENDFOR >lcTry1 = lcTry1 + ")" >EXESCRIPT(lcTry1) >>
>CLOSE TABLES all >CLEAR >USE pop > >TEXT TO lcTry2 NOSHOW TEXTMERGE >CREATE CURSOR output ( > F2 C(<<LEN(pop.f2)>>), > CITY C(<<LEN(pop.city)>>) >ENDTEXT >FOR I = 1 TO 10 > TEXT TO lcTry2 NOSHOW TEXTMERGE ADDITIVE > ,QTY<<I>> int > ENDTEXT >ENDFOR > >TEXT TO lcTry2 NOSHOW TEXTMERGE ADDITIVE > ) >ENDTEXT >EXECSCRIPT(CHRTRAN(lcTry2,CHR(13)+CHR(10),""))>