需要表单上的按钮以将表的字段名称插入 Access 中的另一个表
Posted
技术标签:
【中文标题】需要表单上的按钮以将表的字段名称插入 Access 中的另一个表【英文标题】:Need button on form to insert field names of a table into another table in Access 【发布时间】:2021-01-18 23:35:40 【问题描述】:这里有类似的问题和答案,但我是这样的 VBA 初学者,我没有能力对代码进行更改以使其适合我。理想情况下,这是我需要在 Access 数据库中创建的内容。
-
在表单上有一个包含表名的文本字段。
按下的按钮将该表及其字段名称插入到单独的表中(为方便起见,将其称为 TableFields,包含“TableName”和“FieldName”列)。
这可能吗?如果在其他地方回答了这个问题,有人可以指出我正确的方向吗?提前谢谢!
看起来这篇文章很相似,但对我来说不够具体/简单: How to List Field's Name in table in Access Using SQL
【问题讨论】:
【参考方案1】:使用列出表格的组合框或列表框。
按钮单击或组合框更新后事件中的代码,如:
Dim rst As DAO.Recordset, db As DAO.Database, x As Integer
If Not IsNull(Me.cbxTable) Then
Set db = CurrentDb
Set rst = db.OpenRecordset("SELECT * FROM [" & Me.cbxTable & "] WHERE ID=0")
For x = 0 to rst.Fields.Count - 1
db.Execute "INSERT INTO TableFields(TableName, FieldName) " & _
"VALUES('" & Me.cbxTable & "','" & rst(x).Name & "')"
Next
End If
替代代码。
Dim rst1 As DAO.Recordset, rst2 As DAO.Recordset, x As Integer
If Not IsNull(Me.cbxTable) Then
Set rst1 = CurrentDb.OpenRecordset("SELECT * FROM [" & Me.cbxTable & "] WHERE ID=0")
Set rst2 = CurrentDb.OpenRecordset("SELECT * FROM TableFields WHERE ID=0")
For x = 0 to rst1.Fields.Count - 1
rst2.AddNew
rst2!TableName = Me.cbxTable
rst2!FieldName = rst1(x).Name
rst2.Update
Next
End If
【讨论】:
以上是关于需要表单上的按钮以将表的字段名称插入 Access 中的另一个表的主要内容,如果未能解决你的问题,请参考以下文章