我正在开发一个 access 2010 数据库,需要一些帮助。
我正在尝试创建一些 vba 代码来运行查询,然后根据返回的记录创建和填充表。然后,我想根据查询中的值(公司名称)重命名表。
我构建的查询将从我的表中返回不同的值,但我需要为结果中返回的每个公司创建一个单独的表。
任何和所有的建议表示赞赏。
您确定为每家公司创建不同的表是个好主意吗?我不建议这样做!
好的,假设您有一个名为 QUERY 的查询,其中包含字段 CompanyName 并包含所有记录。你可以从这样的事情开始:
Sub Export_Query()
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("select distinct CompanyName from QUERY")
While Not rs.EOF
On Error Resume Next
CurrentDb.Execute "DROP TABLE [" & rs("CompanyName") & "]"
CurrentDb.Execute "SELECT QUERY.* INTO [" & rs("CompanyName") & "] FROM QUERY WHERE CompanyName=""" & rs("CompanyName") & """;"
On Error GoTo 0
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
End Sub
这只是一个想法......您应该添加更多错误检查代码,并且您还应该转义公司名称或确保它不包含任何特殊字符。