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

Ms access 在Access vba中创建表并用查询结果填充,ms-access,vba,Ms Access,Vba,我正在处理access 2010数据库,需要一些帮助 我正在尝试创建一些vba代码,这些代码将运行一个查询,然后根据返回的记录创建并填充一个表。然后,我希望根据查询中的值(公司名称)重命名该表 我构建了一个查询,它将从我的表中返回不同的值,但是我需要为结果中返回的每个公司创建一个单独的表 感谢所有建议。您确定为每家公司创建一个不同的表格是个好主意吗?我不赞成这样做 好的,假设您有一个名为query的查询,它包含CompanyName字段并包含所有记录。您可以从以下内容开始: Sub Export

我正在处理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

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

您需要每次运行创建一个表(返回的所有记录将针对单个公司)还是多个表(结果集中的多个公司,需要为每个公司创建并填充一个表)这正是我想要的。谢谢它对我需要做的事情非常有效。我必须为每个公司为另一个部门创建一个单独的表,以便将数据加载到我们的SQL数据库中。我不知道为什么我不能在一个表中给他们所有的数据,然后他们加载它,但在这一点上,我只想让他们现在需要什么。