现在我有一个 MS SQL 数据库,其中包含大约 50 个左右的表,我想使用 DSN Less 连接链接到 MS Access。下面是基本代码,其中我有一个参数 stRemoteTableName,它是要导入的 SQL 表的表名。我可以每次为每张桌子调用这个函数,但这需要很长时间;是否有循环遍历 SQL 数据库中的所有表并将它们传递给该函数以便导入所有表?我很难在网上找到这样的代码,所以非常感谢帮助。
 Private Sub ImportAllTables(stRemoteTableName)
        On Error GoTo AttachDSNLessTable_Err
            Dim td As TableDef
            Dim stConnect As String
            stServer = "C:\Location"
            stDatabase = "DB"
            stLocalTableName = stRemoteTableName
            stUsername = ""
            For Each td In CurrentDb.TableDefs
                If td.Name = stLocalTableName Then
                    CurrentDb.TableDefs.Delete stLocalTableName
                End If
            Next
            stConnect = "ODBC;DRIVER=SQL Server;SERVER=" & stServer & ";DATABASE=" & stDatabase & ";Trusted_Connection=Yes"
            Set td = CurrentDb.CreateTableDef(stLocalTableName, stRemoteTableName, stConnect)
            CurrentDb.TableDefs.Append td
            Exit Sub
        AttachDSNLessTable_Err:
           AttachDSNLessTable = False
            MsgBox "AttachDSNLessTable encountered an unexpected error: " & Err.Description
        End Sub