Kopierer data til Excel
Nedenstående funktion benyttes til at kopiere udvalgte data til Excel.Public Function sCopyRSToNamedRange_001()
Dim objXL As Excel.Application
Dim objWkb As Excel.Workbook
Dim objSht As Excel.Worksheet
Dim db As Database
Dim rs As Recordset
Const conMAX_ROWS = 20000
Const conSHT_NAME = "Short Term Bookings"
Const conWKB_NAME = "\\Cphfil-01\managementflash\MailReport\ManagementFlash.xls"
Const conRANGE = "A131:I159"
Set db = CurrentDb
Set objXL = New Excel.Application
Set rs = db.OpenRecordset("Arrival_5_Weeks_1")
With objXL
.Visible = False
Set objWkb = .Workbooks.Open(conWKB_NAME)
On Error Resume Next
Set objSht = objWkb.Worksheets(conSHT_NAME)
If Not Err.Number = 0 Then
Set objSht = objWkb.Worksheets.Add
objSht.Name = conSHT_NAME
End If
Err.Clear
On Error GoTo 0
objSht.Range(conRANGE).CopyFromRecordset rs
objWkb.Close SaveChanges:=True
objXL.Quit
End With
Set objSht = Nothing
Set objWkb = Nothing
Set objXL = Nothing
Set rs = Nothing
Set db = Nothing
End Function
Const conRANGE = "A131:I159" er det område jeg forventede at blive overskrevet ved hver kopiering, men hvis mit datasæt fra Access er mindre end dette område overskrives kun det område i conRange der svarer til mit datasæt fra Access med det resultat at der kan være data fra tidligere kopieringer der ikke slettes, hvilket er meget uheldigt idet jeg efterfølgende summerer på forkerte data i Excel
Hvad kan gøres anerledes ?