Also mein Problem besteht darin das ich Daten aus einem Query
nach Excel Exportieren moechte und das so schnell wie moeglich!
Das Exportieren an sich ist kein Problem funktioniert alles
aber die geschwindichkeit laesst zu wuenschen uebrich bei
einem Query das ueber 700'000 eintraege hat
darueberhinaus exportiere ich nach kriterien! also ein datensatz
wird nur dann exportiert wenn es den namen XXX hat und es kein doppeleintrag ist
und wenn es ein doppeleintrag ist soll ich den mit dem hoeheren wert x exportieren...
den namen waehle ich vorher ueber ein combobox aus was auch schon realiesiert ist...
hier mal der Quelltext zum export
Ich glaube das es evt moeglich ist mit SQL vorher das querry
nach namen zu sortieren und dann zum ersten satz des namens springen
dann alle exportieren bis name sich aendert....
das mit denn doppelten kann man dann im normalen export abfragen...
oder gibt es noch andere moeglichkeiten viele daten mit einen schwung zu exportieren
nach Excel Exportieren moechte und das so schnell wie moeglich!
Das Exportieren an sich ist kein Problem funktioniert alles
aber die geschwindichkeit laesst zu wuenschen uebrich bei
einem Query das ueber 700'000 eintraege hat
darueberhinaus exportiere ich nach kriterien! also ein datensatz
wird nur dann exportiert wenn es den namen XXX hat und es kein doppeleintrag ist
und wenn es ein doppeleintrag ist soll ich den mit dem hoeheren wert x exportieren...
den namen waehle ich vorher ueber ein combobox aus was auch schon realiesiert ist...
hier mal der Quelltext zum export
nun meine gedanken dazu .....Private Sub CMD_Export_Click()
Dim xlA As Excel.Application
Dim xlWb As Excel.Workbook
Dim DB As Database
Dim RS As Recordset
Dim Name As String
Dim CBName As String
Dim Kurs As Variant
Dim I As Long
Dim UmPHEK As Variant
Dim SN As Integer
Set xlA = New Excel.Application
Set xlWb = xlA.Workbooks.Add
Set DB = CurrentDb()
Set RS = DB.OpenRecordset("ExportQuery")
' Alle Datensaetze durchgehen und mit namen aus cb vergleichen
' danach in Excel schreiben bei 64000 sheet wegseln
SN = 1
xlWb.Sheets(SN).Columns("A:J").NumberFormat = "@"
xlWb.Sheets(SN).Columns("A:J").ColumnWidth = 14
RS.MoveFirst
If CB_Select <> "" Then
CBName = CB_Select.Value
Else
MsgBox "You must choose an name," & Chr(13) & " Please Try Again", vbCritical, "ERROR"
Exit Sub
End If
' abfrage des wegselkurses
Kurs = InputBox("type in the course Euro-Pound", "course")
I = 1
While Not (RS.EOF)
Name = RS("PM").Value
If I > 64000 Then
SN = 2
I = 1
End If
If Name = CBName Then
' alles auslesen und PHEK berechnen und schreiben
UmPHEK = RS("PHEK").Value * Kurs
xlWb.Sheets(SN).Range("A" & I).Value = Name
xlWb.Sheets(SN).Range("B" & I).Value = RS("SNR").Value
xlWb.Sheets(SN).Range("C" & I).Value = RS("PH1").Value
xlWb.Sheets(SN).Range("D" & I).Value = RS("PH2").Value
xlWb.Sheets(SN).Range("E" & I).Value = RS("PH3").Value
xlWb.Sheets(SN).Range("F" & I).Value = UmPHEK
I = I + 1
End If
RS.MoveNext
Wend
xlWb.Close
End Sub
Ich glaube das es evt moeglich ist mit SQL vorher das querry
nach namen zu sortieren und dann zum ersten satz des namens springen
dann alle exportieren bis name sich aendert....
das mit denn doppelten kann man dann im normalen export abfragen...
oder gibt es noch andere moeglichkeiten viele daten mit einen schwung zu exportieren