Gustav Brock
Gustav at cactus.dk
Mon Mar 13 08:05:33 CST 2006
Hi Susan But that _is_ for a specific table: Shippers. In general: Public Sub GetTablesFields() Dim cnn As ADODB.Connection Dim rstTbl As ADODB.Recordset Dim rstCol As ADODB.Recordset Set cnn = CurrentProject.Connection Set rstTbl = cnn.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "Table")) ' List tables. With rstTbl Do While Not .EOF = True Debug.Print .Fields(2).Value Set rstCol = cnn.OpenSchema(adSchemaColumns, Array(Empty, Empty, CStr(.Fields(2).Value))) ' List fields of table. With rstCol Do While Not .EOF = True Debug.Print vbTab & .Fields(3).Value .MoveNext Loop .Close End With .MoveNext Loop .Close End With If rstCol.State = adStateOpen Then rstCol.Close End If If rstTbl.State = adStateOpen Then rstTbl.Close End If If cnn.State = adStateOpen Then cnn.Close End If Set rstCol = Nothing Set rstTbl = Nothing Set cnn = Nothing End Sub /gustav >>> harkinsss at bellsouth.net 13-03-2006 02:26 >>> Set rst = CurrentProject.Connection.OpenSchema(adSchemaColumns, Array(Empty, Empty, Empty, "Shippers")) I can't remember the exact syntax for filtering a schema recordset to a specific table -- anyone remember which array element I'm supposed to use. I've moved the table name around, but I either get an error or an empty recordset. Susan H.