Como obtener las tablas y los campos

Como obtener las tablas y los campos que tiene una base de datos

1 Respuesta

Respuesta
1
Clear
*!* Solamente mandarlo llamar: GetSkeleton()
*!*
PROCEDURE GetSkeleton
&& Esta función crea un cursor llamado Skeleton con los nombres de la tabla y sus campos
Lc_DataBase = GETFILE("DBC")
IF EMPTY(Lc_DataBase)
RETURN
ENDIF
OPEN DATABASE (Lc_DataBase) SHARED
CREATE CURSOR Skeleton (Table C(30), Field_Name C(30), Field_Type C(2), Width N(4), Decimals N(4))
= ADBOBJECTS(La_Tables,"TABLE")
Ln_nTables = ALEN(La_Tables,1)
FOR Ln_x = 1 TO Ln_nTables
Lc_Table = La_Tables(Ln_x)
IF USED(Lc_Table)
SELECT (Lc_Table)
USE
ENDIF
SELECT 0
USE (Lc_Table) SHARED
= AFIELDS(La_Fields,(Lc_Table))
Ln_nFields = ALEN(La_Fields,1)
FOR Ln_y = 1 TO Ln_nFields
INSERT INTO Skeleton VALUES (;
PROPER(Lc_Table),;
PROPER(La_Fields(Ln_y,1)),;
PROPER(La_Fields(Ln_y,2)),;
La_Fields(Ln_y,3),;
La_Fields(Ln_y,4))
ENDFOR
ENDFOR
SELECT RECNO() AS Recno, * FROM Skeleton INTO CURSOR Skeleton
SELECT * FROM Skeleton ORDER BY Table, RECNO INTO CURSOR Skeleton
SELECT Skeleton
Lc_Path = PUTFILE("","Skeleton","XLS")
IF NOT(EMPTY(Lc_Path))
EXPORT TO (Lc_Path) TYPE XLS
MESSAGEBOX("Base de Datos Exportada", 64,"Skeleton")
ENDIF
Endproc

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas