lcMDBDir = 'C:\MSACCESS' lcMDBName = 'VFP2MDB.MDB' lnConnHandle = SQLSTRINGCONNECT('DSN=MS Access Database;DBQ='+; lcMDBDir+'\'+lcMDBName+';DefaultDir='+; lcMDBDir+';DriverId=25;FIL=MS Access;MaxBufferSize=2048;'+; 'PageTimeout=5;UID=admin;') #DEFINE c_Tab CHR(9) #DEFINE c_lbracket "[" #DEFINE c_rbracket "]" #DEFINE CRLF CHR(13)+CHR(10) #DEFINE c_bufferlen 0x00010000 #DEFINE C_SQUOTE ['] tcAlias="Patients" SET STEP ON SELECT Patients SCAN cFieldlist="" cValueList="" cComma="(" SCATTER MEMVAR 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 Patient <<cFieldList>> VALUES <<cValueList>> ENDTEXT *-- TEXT BLOCK END nStatus=SQLEXEC(lnConnHandle, cSql, "Patients") IF nStatus < 0 ERROR "bad export" ENDIF ENDIF ENDSCAN