Creo que encontré un error en la función FW_AdoExportToDBF,() cuando la consulta tiene campos auto incrementales y se aplica un filtro en esta usando la clausula WHERE, la función no devuelve el id correspondiente sino que inicia siempre la numeración desde 1.
Me explico:
En el recorset el campo ll_itemfa, sale con los dos correctos
En la base de datos el campo LL_ITEMFA inicia desde 1
- Code: Select all Expand view
cQry := "SELECT * FROM tabla WHERE control='AA'"
oRsSal := FW_OPENRECORDSET(::oCnx,cQry,adLockOptimistic,adOpenKeyset)
xbrowse(oRsSal)
if oRsSal:RecordCount() != 0
FW_AdoExportToDBF( oRsSal , ".\dbfs\lamtem\rcar01.dbf" , .F. )
endif
oRsSal:close()
USE ".\dbfs\lamtem\rcar01" ALIAS d_car01 NEW EXCLUSIVE VIA "DBFCDX"
INDEX ON d_car01->tales TAG "tales"
INDEX ON d_car01->ll_itemfa TAG "item"
d_car01->(OrdSetFocus("tales"))
Dbgotop()
xbrowse(d_car01)