如何在 ms 访问中获取表的列名? [复制]

     2023-05-06     133

关键词:

【中文标题】如何在 ms 访问中获取表的列名? [复制]【英文标题】:how to get column names of a table in ms access? [duplicate] 【发布时间】:2011-02-04 04:32:28 【问题描述】:

如何使用查询在msaccess中获取表的字段名或列名?

有人可以帮我解决这个问题吗?

如果我有一个名为“employee”的表,我需要单独获取员工的字段名(id、name、workstatus..etc)而不是它的记录......有什么方法可以得到这个吗?

谢谢

【问题讨论】:

【参考方案1】:

这是我过去用来跟踪审计等的一些代码。我不能把它归功于它,我很久以前在网上找到的

Sub GetField2Description()
'**********************************************************
'Purpose:   1) Deletes and recreates a table (tblFields)
'           2) Queries table MSysObjects to return names of
'              all tables in the database
'           3) Populates tblFields
'Coded by:  raskew
'Inputs:    From debug window:
'           Call GetField2Description
'Output:    See tblFields
'**********************************************************

Dim db As Database, td As TableDef
Dim rs As Recordset, rs2 As Recordset
Dim Test As String, NameHold As String
Dim typehold As String, SizeHold As String
Dim fielddescription As String, tName As String
Dim n As Long, i As Long
Dim fld As Field, strSQL As String
n = 0
Set db = CurrentDb
' Trap for any errors.
    On Error Resume Next
tName = "tblFields"

'Does table "tblFields" exist?  If true, delete it;
docmd.SetWarnings False
   docmd.DeleteObject acTable, "tblFields"
docmd.SetWarnings True
'End If
'Create new tblTable
db.Execute "CREATE TABLE tblFields(Object TEXT (55), FieldName TEXT (55), FieldType TEXT (20), FieldSize Long, FieldAttributes Long, FldDescription TEXT (20));"

strSQL = "SELECT MSysObjects.Name, MSysObjects.Type From MsysObjects WHERE"
strSQL = strSQL + "((MSysObjects.Type)=1)"
strSQL = strSQL + "ORDER BY MSysObjects.Name;"

Set rs = db.OpenRecordset(strSQL)
If Not rs.BOF Then
   ' Get number of records in recordset
   rs.MoveLast
   n = rs.RecordCount
   rs.MoveFirst
End If

Set rs2 = db.OpenRecordset("tblFields")

For i = 0 To n - 1
  fielddescription = " "
  Set td = db.TableDefs(i)
    'Skip over any MSys objects
    If Left(rs!Name, 4) <> "MSys" And Left(rs!Name, 1) <> "~" Then
       NameHold = rs!Name
       On Error Resume Next
       For Each fld In td.Fields
          fielddescription = fld.Name
          typehold = FieldType(fld.Type)
          SizeHold = fld.Size
          rs2.AddNew
          rs2!Object = NameHold
          rs2!FieldName = fielddescription
          rs2!FieldType = typehold
          rs2!FieldSize = SizeHold
          rs2!FieldAttributes = fld.Attributes
          rs2!FldDescription = fld.Properties("description")
          rs2.Update
       Next fld

       Resume Next
    End If
    rs.MoveNext
Next i
rs.Close
rs2.Close
db.Close
End Sub

Function FieldType(intType As Integer) As String

Select Case intType
    Case dbBoolean
        FieldType = "dbBoolean"    '1
    Case dbByte
        FieldType = "dbByte"       '2
    Case dbInteger
        FieldType = "dbInteger"    '3
    Case dbLong
        FieldType = "dbLong"       '4
    Case dbCurrency
        FieldType = "dbCurrency"   '5
    Case dbSingle
        FieldType = "dbSingle"     '6
    Case dbDouble
        FieldType = "dbDouble"     '7
    Case dbDate
        FieldType = "dbDate"       '8
    Case dbBinary
        FieldType = "dbBinary"     '9
    Case dbText
        FieldType = "dbText"       '10
    Case dbLongBinary
        FieldType = "dbLongBinary" '11
    Case dbMemo
        FieldType = "dbMemo"       '12
    Case dbGUID
        FieldType = "dbGUID"       '15
End Select

End Function

【讨论】:

到处找这个。谢谢,一年半后!

如何在 MySQL 中获取特定表的主键“列名”

】如何在MySQL中获取特定表的主键“列名”【英文标题】:Howtogettheprimarykey"columnname"ofaspecifictableinMySQL【发布时间】:2019-02-1616:25:25【问题描述】:我们的系统会为每个更新或插入新内容的表创建一个日志,它会保存表名... 查看详情

如何在 php 中使用 implode 获取数据库表的列名

】如何在php中使用implode获取数据库表的列名【英文标题】:Howtogetthecolumnnamesofadatabasetableusingimplodeinphp【发布时间】:2019-10-0608:32:03【问题描述】:我想获取列列表而不是implode中的行,但它给了我一个错误,但是当我使用数组的... 查看详情

如何在 MS Access 中使用 C# 获取所有表名和列名?

】如何在MSAccess中使用C#获取所有表名和列名?【英文标题】:HowtogetalltablenamesandalsocolumnnameusingC#inMSAccess?【发布时间】:2013-04-1218:17:34【问题描述】:Access2007中如何用C#获取所有表名和列表名?我想将表名绑定到组合框,将列名... 查看详情

如何使用 PANDAS 获取具有 NAN 值的列名并将这些列名存储在列表中? [复制]

】如何使用PANDAS获取具有NAN值的列名并将这些列名存储在列表中?[复制]【英文标题】:HowtoobtainColumnNameshavingNANvaluesusingPANDASandstorethosecolumnnamesinaList?[duplicate]【发布时间】:2021-05-0400:19:00【问题描述】:我有一个如下的数据框,... 查看详情

如何在 C# 运行时获取表的列名?

】如何在C#运行时获取表的列名?【英文标题】:HowtogetcolumnnamesoftableatruntimeinC#?【发布时间】:2013-04-1614:40:22【问题描述】:假设我在SQLServer中有一个名为MyTable的表IDFirstNameLastName1HarryDan2MariaVicente3JoeMartin现在如果我必须在表中... 查看详情

如何在 C# 中获取 Ms Access 表的主键

】如何在C#中获取MsAccess表的主键【英文标题】:HowtogettheprimarykeyofanMsAccesstableinC#【发布时间】:2009-05-1411:06:43【问题描述】:在给定连接和表名的情况下,我需要构成MicrosoftAccess表的主键的一个或多个字段(只需字段名称即可... 查看详情

如何在 MS 访问中运行 Regex(如果支持)? [复制]

】如何在MS访问中运行Regex(如果支持)?[复制]【英文标题】:HowtorunRegexinMSaccess(Ifsupported)?[duplicate]【发布时间】:2018-03-2100:50:31【问题描述】:这是我的第一篇文章,请多多关照。我想知道是否可以在MSaccess2010中运行类似于Ora... 查看详情

选择当前表的列名[重复]

...取按钮,当我单击它时显示当前表的内容。我的问题是,如何一一访问当前列?因为我 查看详情

如何在 ms 访问的 sql 查询中插入多行? [复制]

】如何在ms访问的sql查询中插入多行?[复制]【英文标题】:HowcanIinsertmultiplerowsinasqlqueryinmsaccess?[duplicate]【发布时间】:2014-12-0103:26:07【问题描述】:我在一个设计数据库的课程中,我没有任何背景知识。这是我的专业所必需的... 查看详情

如何获取 MySQL 中所有表的所有列名?

】如何获取MySQL中所有表的所有列名?【英文标题】:Howtogetallcolumns\'namesforallthetablesinMySQL?【发布时间】:2011-08-0415:22:30【问题描述】:有没有一种快速的方法可以从MySQL中的所有表中获取所有列名,而不必列出所有表?【问题... 查看详情

在 Oracle PL/SQL 中获取具有索引而不是列名的字段

...SQL【发布时间】:2020-01-3122:16:20【问题描述】:有人知道如何通过索引访问plsqloracle游标字段。是否可以通过索引而不是列名来获取表的字段?提前致谢。declarecursorc_userisselect*fromuserswhereage&g 查看详情

在 ms 访问报告 vba 中复制报告字段

...建一个按钮来复制来自表单的报表中的字段,但我不知道如何在VBA中的按钮后面编写VBA。我敢肯定它很简单,但无法弄清楚。如果您能帮助我,我将不胜感激。【问题讨论】:这不是一个用户从头开始为您编写代码的网站。在你... 查看详情

如何在连接表的列名中取回表名

】如何在连接表的列名中取回表名【英文标题】:Howtogettablenamebackincolumnnameofjoinedtables【发布时间】:2011-10-1708:02:03【问题描述】:我有查询...select*fromContactcleftjoinEmployeeeonc.ContactID=e.ContactIDleftjoin[Role]rone.EmployeeID=r.EmployeeIDwhereFirs 查看详情

如何将表的列名存储在雪花的数组中

】如何将表的列名存储在雪花的数组中【英文标题】:HowtostorethecolumnnamesofatableinanarrayinSnowflake【发布时间】:2020-09-1000:38:46【问题描述】:我对Snowflake很陌生。我只需要检索表的列名,然后在存储过程中将其作为数组返回。例... 查看详情

如何使用 ms 访问查询在一行中获取多个列值

】如何使用ms访问查询在一行中获取多个列值【英文标题】:howtogetmultiplecolumnsvaluesinonerowwithmsaccessquery【发布时间】:2014-12-0911:58:54【问题描述】:我正在为我的公司开发AccessDB,我有一个包含这些列的表:共同命名项目名称Date1... 查看详情

蟒蛇:MYSQLdb。如何在不执行 select * 在大表中获取列名?

】蟒蛇:MYSQLdb。如何在不执行select*在大表中获取列名?【英文标题】:python:MYSQLdb.howtogetcolumnsnamewithoutexecutingselect*inabigtable?【发布时间】:2014-07-1007:14:05【问题描述】:我想获取一个表的列名,但其中有超过一百万的数据。所... 查看详情

如何从 JAVA 中的 ResultSet 或 ResultSetMetaData 对象中获取数据库表的主键的列名?

】如何从JAVA中的ResultSet或ResultSetMetaData对象中获取数据库表的主键的列名?【英文标题】:HowcanIgetthecolumnnameoftheprimarykeyofaDatabaseTablefromtheResultSetorResultSetMetaDataobjectinJAVA?【发布时间】:2010-02-0611:56:08【问题描述】:我正在编写一... 查看详情

如何在 ms 访问中的一个查询中从同一个表中获取数据

】如何在ms访问中的一个查询中从同一个表中获取数据【英文标题】:HowcanIgetdatafromthesametableinonequeryinmsaccess【发布时间】:2018-10-2507:29:43【问题描述】:我的msaccesssql查询有问题。我想从Report中获取每个ReportPosition。在每个ReportP... 查看详情