2010-07-27 29 views
10

Necesito obtener todos los nombres de columna de una tabla usando VBA o Access SQL e iterar a través de ellos para la validación, ¿alguien tiene una solución para esto ?, he buscado Google en vano.Obtener nombres de columna

Respuesta

14

Esto funcionará

Set db = CurrentDb() 
Set rs1 = db.OpenRecordset("Table1") 
Dim fld As DAO.Field 
For Each fld In rs1.Fields 
    MsgBox (fld.Name) 
Next 
Set fld = Nothing 
+0

rápida, limpia y exactamente lo que quería, gracias! +1 – Yoda

+0

Es bueno escucharlo, de nada ... –

+3

Generalmente, nunca uso un contador para colecciones que tienen su propio tipo de datos para los artículos de la colección. Yo usaría For Each fld In rs1.Fields, en su lugar (con la variable fld como tipo DAO.Field). –

2
Dim l As Integer 

For l = 0 To CurrentDb.TableDefs("tbl_Name").Fields.Count - 1 
    Debug.Print CurrentDb.TableDefs("tbl_Name").Fields(l).name 
Next l 
+0

Esto es lo que Feral tenía hace 3 años, pero lo cambió al código mucho mejor propuesto por David. No veo por qué lo agregaste (tres años después); aún menos por qué obtuvo upvotes. – Johanness

Cuestiones relacionadas