Rick:
Long time ago I made this function perhaps these can help you
/*
* --------------------------------------------------------------------------*
* Lee las tablas y sus estructuras *
* --------------------------------------------------------------------------*
*/
STATIC FUNCTION LeeTablas()
LOCAL oCat
LOCAL nVez, j
oCat = CREATEOBJECT( "ADOX.Catalog" )
oCat:ActiveConnection := oApp:oCon:ConnectionString
FOR nVez := 0 TO oCat:Tables:Count() - 1
MsgInfo(oCat:Tables(nVez):Name)
IF UPPER(ALLTRIM(oCat:Tables(nVez):Name)) == "PROYECTO"
FOR j := 0 TO oCat:Tables(nVez):Columns:Count() - 1
? SPACE( 4 ) + oCat:Tables(nVez):Columns( j ):Name
? SPACE( 4 ) + STR(oCat:Tables(nVez):Columns( j ):Type,3,0)
? SPACE( 4 ) + STR(oCat:Tables(nVez):Columns( j ):DefinedSize,5,0)
? SPACE( 4 ) + STR(oCat:Tables(nVez):Columns( j ):Precision)
? SPACE( 4 ) + STR(oCat:Tables(nVez):Columns( j ):NumericScale)
NEXT
ENDIF
NEXT
/*
NAME: Nombre del campo
TYPE: 200 = VARCHAR, 133 = DATE, 201 = TEXT, 131 = DECIMAL
DEFINEDSIZE: Longitud del campo, solo para tipos VARCHAR y TEXT
PRECISION: Longitud del campo, solo para tipos DECIMAL
NUMERICSCALE: Número de decimales, solo para tipos NUMERIC y DECIMAL
*/
RETURN(NIL)
Best regards