在我的数据库中,我有一些具有机密信息的表格。这些表中的每一个都包含一个名为“ThisTableIsConfidential”的空字段。我有一个函数,可以在立即窗口中正确显示包含此字段的表的列表。现在我想在表单上显示列表,我无法弄清楚如何做到这一点。我想将该函数放在查询中并在列表框中显示该函数,但查询不起作用。有什么想法吗?
这是功能(我从几个不同的在线资源中拼凑而成):
Function GetConfidentialTable()
Dim db As Database, tbl As TableDef, fld As Field, currentTable As String
Set db = CurrentDb
For Each tbl In db.TableDefs
If (tbl.Attributes = 0) Then
currentTable = tbl.Name
If FieldExists(currentTable, "ThisTableIsConfidential") = True Then
Debug.Print currentTable
End If
End If
Next tbl
End Function
答案 0 :(得分:1)
您可以将列表框行源类型设置为值列表,然后使用您的函数返回列表:
Function GetConfidentialTable()
Dim db As Database, tbl As TableDef, fld As Field, currentTable As String
Set db = CurrentDb
For Each tbl In db.TableDefs
If (tbl.Attributes = 0) Then
currentTable = tbl.Name
If FieldExists(currentTable, "ThisTableIsConfidential") = True Then
sList = sList & ";" & currentTable
End If
End If
Next tbl
GetConfidentialTable = Mid(sList,2)
End Function