2

我正在开发一个 access 2010 数据库,需要一些帮助。

我正在尝试创建一些 vba 代码来运行查询,然后根据返回的记录创建和填充表。然后,我想根据查询中的值(公司名称)重命名表。

我构建的查询将从我的表中返回不同的值,但我需要为结果中返回的每个公司创建一个单独的表。

任何和所有的建议表示赞赏。

4

1 回答 1

1

您确定为每家公司创建不同的表是个好主意吗?我不建议这样做!

好的,假设您有一个名为 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

这只是一个想法......您应该添加更多错误检查代码,并且您还应该转义公司名称或确保它不包含任何特殊字符。

于 2012-10-23T19:41:12.390 回答