#define c_lbracket "[" #define c_rbracket "]" #Define CRLF Chr(13)+Chr(10) #Define c_bufferlen 0x00010000 #Define C_SQUOTE ['] [snip - code to open tables, connect etc] Scan cFieldlist="" cValueList="" cComma="(" SCATTER MEMVAR memo For i=1 To Fcount(tcAlias) cField=Field(i,tcAlias) uValue=Evaluate("m."+cField) If Not Empty(uValue) And Not Isnull(uValue) cFieldlist = cFieldlist + cComma+c_tab+c_lbracket+cField+c_Rbracket cValueList = cValueList + cComma+c_tab+"?m."+cField cComma="," Endif Endfor If !Empty(cFieldlist) cFieldlist = cFieldlist + ")" cValueList = cValueList + ")" *-- TEXT BLOCK BEGIN TEXT TO cSql NOSHOW TEXTMERGE INSERT INTO export <<cFieldList>> values <<cValueList>> ENDTEXT *-- TEXT BLOCK END nSt=SQLExec(h, cSql, "any") If nSt<0 ERROR "bad export" Endif Endif Endscan