我在Access中有一个数据库,其中包含大量表。不幸的是,创建者使用了非常不具描述性的名称,因此,仅通过查看其名称就根本不可能猜测出该表的用途。我需要紧急查找包含某些数据的表,而且我很确定我知道它的某些列的名称,或者至少知道这些列的名称中包含的单词。基本上,我需要某种“按整个数据库中每个表的列名搜索”,它显示了包含某些列名的所有表。
在我像猴子一样一步一步走之前,有什么方法可以做到这一点吗?
最佳答案
此过程将列出名称包含您提供的文本的所有列的表名和列名。结果打印在立即窗口中(按Ctrl + g即可)
Public Sub ListTablesWithColumnNamesContaining(ByVal pText As String)
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
Set db = CurrentDb
For Each tdf In db.TableDefs
For Each fld In tdf.Fields
If InStr(1, fld.Name, pText, vbTextCompare) > 0 Then
Debug.Print tdf.Name & ":", fld.Name
End If
Next fld
Next tdf
Set fld = Nothing
Set tdf = Nothing
Set db = Nothing
End Sub
关于database - 知道列名时查找表吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10405237/