Sql 重命名仅知道部分表名的表

Sql 重命名仅知道部分表名的表,sql,vba,ms-access,Sql,Vba,Ms Access,我正在开发一些工具,以便于导入大量数据并在附加到另一个表之前对其进行清理 作为此过程的一部分,我需要在执行其余进程之前重命名导入的表 Private Sub btnRenameTable_Click() DoCmd.Rename "NEW_DATA", acTable, "DATA SOURCE" End Sub 我遇到的问题是,要重命名的表的末尾有一个数字形式的差异,即数据源01,数据源02,等等 如何修改上述代码以查找表并重命名它,而不必每次修改原始名称?我只需要它来检查表标题中的

我正在开发一些工具,以便于导入大量数据并在附加到另一个表之前对其进行清理

作为此过程的一部分,我需要在执行其余进程之前重命名导入的表

Private Sub btnRenameTable_Click()
    DoCmd.Rename "NEW_DATA", acTable, "DATA SOURCE"
End Sub
我遇到的问题是,要重命名的表的末尾有一个数字形式的差异,即
数据源01
数据源02
,等等


如何修改上述代码以查找表并重命名它,而不必每次修改原始名称?我只需要它来检查表标题中的“数据源”,数字与我的需要无关。

您正在寻找
Like
操作符来查找重命名的表。发布一个示例,您可以轻松地将其修改为您的使用(包含
Like
操作符的示例,并使用索引一次性重命名所有新表,而无需单击按钮)


要获取名称,需要查看表MSysObjects。然后,您可以发出重命名命令。谢谢您,该命令按预期工作,并在需要时为批处理提供了灵活性。
Dim td As TableDef
Dim i as Long
i = 1
For Each td In CurrentDb.TableDefs
    If td.Name Like "NEW SOURCE*" Then
        DoCmd.Rename "NEW SOURCE", acTable, "DATA SOURCE" & Format(i,"00")
        i = i + 1
    End If
Next