How to List Field's Name in table in Access Using SQL

后端 未结 14 1269
我在风中等你
我在风中等你 2020-12-09 17:15

Can you please let me know if it is possible to list all fields name in a MS Access table?

相关标签:
14条回答
  • 2020-12-09 17:56

    This version is easy to run and will paste right into Access. Add this function to a module, run with F5, and copy the result from the inputbox:

    Public Function FieldNames() As String
    
        Dim sTable As String
        Dim rs As DAO.Recordset
        Dim n As Long
        Dim sResult As String
    
        sTable = InputBox("Name of table?")
        If sTable = "" Then
            Exit Function
        End If
    
        Set rs = CurrentDb.OpenRecordset(sTable)
    
        With rs
            For n = 0 To .Fields.Count - 1
                sResult = sResult & .Fields(n).Name & vbCrLf
            Next 'n
            .Close
        End With
    
        Set rs = Nothing
    
        InputBox "Result:" & vbCrLf & vbCrLf _
                & "Copy this text (it looks jumbled, but it has one field on each line)", _
                "FieldNames()", sResult
    
    End Function
    

    Alternative Output:

    User user1003916 supplied an alternative to the InputBox to overcome the 1024 character limit (I have not tested this yet):

    Sub CopyText(Text As String)
    
        'VBA Macro using late binding to copy text to clipboard.
        'By Justin Kay, 8/15/2014
    
        Dim MSForms_DataObject As Object
        Set MSForms_DataObject = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    
        MSForms_DataObject.SetText Text
        MSForms_DataObject.PutInClipboard
        Set MSForms_DataObject = Nothing
    
    End Sub
    
    0 讨论(0)
  • 2020-12-09 18:02

    UPDATE: TO USE THIS SQL QUERY YOU MUST USE A TOOL SUCH AS DBEAVER. ACCESS CLIENT WILL NOT ALLOW YOU TO QUERY IT'S HIDDEN STRUCTURES.

    YIKES! IMO: I can't imagine wanting to dive into the dark underbelly of VBA

    How to get Access Table Columns by SQL

    SELECT * FROM information_schema.columns 
        WHERE TABLE_NAME="YOUR_TABLE_NAME" 
           AND 
        TABLE_SCHEMA="PUBLIC" 
    

    PS I noticed Access called my Schema "PUBLIC"

    Above used an Access 2016 and was tested over ODBC and jdbc:ucanaccess and works like a charm.

    Example output

    0 讨论(0)
提交回复
热议问题