Excelente Código para buscar el nombre de un campo en una Base de Datos
*** 1 ***********************************************************
lcDBC = HOME(2) + “NORTHWIND\NORTHWIND.DBC”
USE (lcDbc) ALIAS MyDbc
*– Campo a buscar
lcFieldName = “City”
SELECT LEFT(db1.ObjectName,50) AS TableName, LEFT(db2.ObjectName,50) AS FieldName ;
FROM mydbc db1 JOIN mydbc db2 ON db1.ObjectId = db2.ParentId ;
WHERE db1.ObjectType = “Table” ;
AND db2.ObjectType = “Field” AND db2.ObjectName = LOWER(lcFieldName)
USE IN SELECT(“MyDbc”)
*** 2 **************************************************************
lcDBC = HOME(2) + “NORTHWIND\NORTHWIND.DBC”
OPEN DATABASE (lcDbc)
lnTables = ADBOBJECTS(laTables, “TABLE”)
*– Campo a buscar
lcFieldName = “City”
FOR lnI = 1 TO lnTables
USE (ADDBS(JUSTPATH(lcDBC)) + laTables(lnI)) ALIAS “Tmp”
lnFields = AFIELDS(laFields, “Tmp”)
IF ASCAN(laFields,lcFieldName,1,ALEN(laFields,1),1,9) > 0
? DBF(“Tmp”)
ENDIF
USE IN SELECT(“Tmp”)
ENDFOR
CLOSE DATABASES

octubre 23rd, 2008 at 11:04 AM