Sadece ben her şeyden önce benzersiz değerler listesi içinde bulmaya çalışıyorum bazı VBA (bu sey yeni bana çok sabırlı!) Sorgusu itibarenİhracat Recordset E-Tabloya
ContactDetails_SurveySoftOutcomes kulpları almak bu sorgu DeptName alan, dolayısıyla rsGroup
Çin DeptName sahada gruplanmış sorgu depolanması.
Bu gruplandırılmış listeyi tekrar aynı sorguda dolaşmanın bir yolu olarak kullanacağım, ancak tüm kayıt kümesinde bir süzgeç olarak her benzersiz girdiden geçerek filtrelenmiş her bir kayıt kümesini kendi Excel elektronik tablosuna aktarıyorum ... Do While Not
döngüsüne bakın.
DoCmd.TransferSpreadsheet
...
rsExport
kısmına kadar açma. Bu konuda biraz yeniyim, ama sanırım bu kayıtta kayıt seti için
rsExport
Dim ismim kabul edilmedi ..?
Zaten başladım yoksa tüm Bunu başarmak için tamamen farklı bir yaklaşım kullanarak gereken kod kolay bir düzeltme var mı?
Kod: Kod Sabit
Public Sub ExportSoftOutcomes()
Dim rsGroup As DAO.Recordset
Dim Dept As String
Dim myPath As String
myPath = "C:\MyFolder\"
Set rsGroup = CurrentDb.OpenRecordset("SELECT ContactDetails_SurveySoftOutcomes.DeptName " _
& "FROM ContactDetails_SurveySoftOutcomes GROUP BY ContactDetails_SurveySoftOutcomes.DeptName", dbOpenDynaset)
Do While Not rsGroup.EOF
Dept = rsGroup!DeptName
Dim rsExport As DAO.Recordset
Set rsExport = CurrentDb.OpenRecordset("SELECT * FROM ContactDetails_SurveySoftOutcomes " _
& "WHERE (((ContactDetails_SurveySoftOutcomes.DeptName)='" & Dept & "'))", dbOpenDynaset)
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, rsExport, myPath & Dept & "\" & Dept & " - Soft Outcomes Survey.xls", True
rsGroup.MoveNext
Loop
End Sub
:
Public Sub ExportSoftOutcomes()
Dim rsGroup As DAO.Recordset
Dim Dept As String
Dim myPath As String
myPath = "C:\MyFolder\"
Set rsGroup = CurrentDb.OpenRecordset("SELECT ContactDetails_SurveySoftOutcomes.DeptName " _
& "FROM ContactDetails_SurveySoftOutcomes GROUP BY ContactDetails_SurveySoftOutcomes.DeptName", dbOpenDynaset)
Do While Not rsGroup.EOF
Dept = rsGroup!DeptName
Dim rsExportSQL As String
rsExportSQL = "SELECT * FROM ContactDetails_SurveySoftOutcomes " _
& "WHERE (((ContactDetails_SurveySoftOutcomes.DeptName)='" & Dept & "'))"
Dim rsExport As DAO.QueryDef
Set rsExport = CurrentDb.CreateQueryDef("myExportQueryDef", rsExportSQL)
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "myExportQueryDef", myPath & Dept & "\" & Dept & " - Soft Outcomes Survey.xls", True
CurrentDb.QueryDefs.Delete rsExport.Name
rsGroup.MoveNext
Loop
End Sub
size yardımcı olacaktır bu umut deneyin hata iletisinde SQL dizesi ekler benim nesne ... bir adımı kaçırdım mı? –
düzenlenmiş çözümü deneyin. – Chris
Evet, işe yaradı. Çok teşekkür ederim. –