在Access vba中创建表并使用查询结果填充

时间:2012-10-23 19:19:03

标签: ms-access access-vba

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

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

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

赞赏任何和所有建议。

1 个答案:

答案 0 :(得分: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

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