VBA循环访问查询以创建多个csv文件

时间:2016-05-30 20:46:10

标签: ms-access

我的MS访问数据库带有一个名为qrycustdata的查询,其中包含客户数据。我在数据中有一个custid字段,并寻找一个VBA,它将在custid上分割记录,并根据每个custid创建多个csv文件。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

  1. 遍历custid并从qrycustdata创建临时表 数据,一次一个 custid
  2. 使用DoCmd.TransferText方法将表内容导出到csv文件:

    Dim rst As DAO.Recordset  
    Set rst = CurrentDb.OpenRecordset("SELECT MIN(custid) FROM qrycustdata GROUP BY custid", dbOpenSnapshot)  
    Do While Not rst.EOF
        DoCmd.Execute "INSERT INTO Temp" & cstr(rst.Fields(0)) & " SELECT * FROM qrycustdata WHERE custid =" & rst.Fields(0)
        DoCmd.TransferText acExportDelim, , "Temp" & cstr(rst.Fields(0)) , "C:\TempFolder\Temp" & cstr(rst.Fields(0)) & ".csv", True
        currentdb.TableDefs.Delete  "Temp" & cstr(rst.Fields(0))
    rst.MoveNext: Loop