Support added for more datatypes.
Brian
&&&Test Table
CREATE TABLE test (field1 C(12), field2 n(3), field3 c(1), ;
field53 l,field42 y,field88 d,field89 t,field9 f(20,18),field99 b(10))
FOR x = 1 TO 20
APPEND BLANK
ENDFOR
REPLACE ALL field1 WITH "Field"+ALLTRIM(STR(RECNO()))
REPLACE ALL field2 WITH ROUND(RAND()*125,0)
REPLACE ALL field9 WITH RAND()*3333
REPLACE ALL field3 WITH IIF(CHR(MIN(90,MAX(65,ROUND(RAND()*100,0))))="Z","1",CHR(MIN(90,MAX(65,ROUND(RAND()*100,0)))))
REPLACE ALL field53 WITH IIF(RAND()>.5,.t.,.f.)
REPLACE ALL field42 WITH ROUND(RAND()*100000,2)
REPLACE ALL field88 WITH DATE()+ROUND(RAND()*100,0)
REPLACE ALL field89 WITH DATE()+ROUND(RAND()*100,4)
REPLACE ALL field99 WITH ROUND(RAND()*1000,7)
&&&Start of Code
ColumnsToOutput=RECCOUNT()
FieldsToOutput=AFIELDS(temparray)-1
IF ColumnsToOutput>254
?"Can't export this many columns: "+ALLTRIM(STR(RECCOUNT()))
RETURN
ENDIF
sqlcmd=""
scan
sqlcmd=sqlcmd+","+ALLTRIM(EVALUATE(FIELD(1)))+" C(20)"
ENDSCAN
sqlcmd=RIGHT(sqlcmd,LEN(sqlcmd)-1)
CREATE table Test_Output(&sqlcmd)
FOR x = 1 TO FieldsToOutput
APPEND BLANK
ENDFOR
SELECT test
SCAN
VarThisRec=RECNO()
FOR x=2 TO FieldsToOutput+1
VarDataString="DataString"+ALLTRIM(STR(x))
DO case
CASE VARTYPE(EVALUATE(FIELD(x)))="N" OR VARTYPE(EVALUATE(FIELD(x)))="Y" OR VARTYPE(EVALUATE(FIELD(x)))="B" &&Numbers
&VarDataString=ALLTRIM(STR(EVALUATE(FIELD(x)),temparray(x,3),temparray(x,4)))
CASE VARTYPE(EVALUATE(FIELD(x)))="D" &&Date
&VarDataString=DTOC(EVALUATE(FIELD(x)))
CASE VARTYPE(EVALUATE(FIELD(x)))="T" &&DateTime
&VarDataString=TTOC(EVALUATE(FIELD(x)))
CASE VARTYPE(EVALUATE(FIELD(x)))="L" &&Logical
&VarDataString=IIF(EVALUATE(FIELD(x))=.t.,"T","F"

OTHERWISE &&Text
&VarDataString=ALLTR(EVALUATE(FIELD(x)))
ENDCASE
ENDFOR
SELECT Test_Output
FOR x=2 TO FieldsToOutput+1
VarDataString="DataString"+ALLTRIM(STR(x))
GO X-1
REPLACE (FIELD(VarThisRec)) WITH &VarDataString
ENDFOR
ENDSCAN
GO top
BROWSE nowait
SELECT 2
GO top
BROWSE nowait