特定のデータベースのすべてのテーブルには正確な列があるため、すべてのテーブルにあることがわかっている特定のいくつかの列について、それらすべてを一度にクエリできる方法があるかどうか疑問に思っています。これを行う理由は、データベース内のテーブルの数が常に増加し、新しいテーブルの名前に対応するためにクエリを毎日変更する必要がないためです。
いつものように助けていただければ幸いです
その場合は、ADO を試してください。
Function ListTablesContainingField(SelectFieldName) As String
'Tables returned will include linked tables
'I have added a little error coding. I don't normally do that
'for examples, so don't read anything into it :)
Dim cn As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim strTempList As String
On Error GoTo Error_Trap
Set cn = CurrentProject.Connection
'Get names of all tables that have a column called <SelectFieldName>
Set rs = cn.OpenSchema(adSchemaColumns, _
Array(Empty, Empty, Empty, SelectFieldName))
'List the tables that have been selected
While Not rs.EOF
'Exclude MS system tables
If Left(rs!Table_Name, 4) <> "MSys" Then
strTempList = strTempList & "," & rs!Table_Name
End If
rs.MoveNext
Wend
ListTablesContainingField = Mid(strTempList, 2)
Exit_Here:
rs.Close
Set cn = Nothing
Exit Function
Error_Trap:
MsgBox Err.Description
Resume Exit_Here
End Function
から: http://wiki.lessthandot.com/index.php/ADO_Schemas
テーブルのテーブルをまだ取得していない場合は、リンクされた Excel テーブルをリストし、アーカイブの日付などの詳細を保持するテーブルを検討することをお勧めします。これは、ある段階で制限に遭遇するためです。