Avatar billede sf Nybegynder
03. maj 2004 - 12:57 Der er 8 kommentarer og
2 løsninger

DoCmd.TransferSpreadsheet skriv i ark der findes

hvordan får jeg DoCmd.TransferSpreadsheet til at skrive i et ark der allerede er i excel (fx "ark1")

den kommer ikke med nogle fejl men ligger datane i et andet ark selv om jeg prøver:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, fors, sti, False, "Ark1"
eller
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, fors, sti, -1, "Ark!A1:B10"

hvordan får jeg den til at ligge datane i fx ark1?
Avatar billede terry Ekspert
03. maj 2004 - 13:15 #1
as far as I know you can NOT transfer the data into an existing speadsheet. Take a look at help and you will see that the Range parameter is only valid when importing

Range  Optional Variant. A string expression that's a valid range of cells or the name of a range in the spreadsheet. This argument applies only to importing. Leave this argument blank to import the entire spreadsheet. When you export to a spreadsheet, you must leave this argument blank. If you enter a range, the export will fail.
Avatar billede mugs Novice
03. maj 2004 - 13:32 #2
Ved eksport kan der angives navnet til et nyt ark i regnearket som sidste argument. Men ikke et eksisterende ark.
Avatar billede hubs Nybegynder
03. maj 2004 - 13:59 #3
Hvis du har mod på det kan du gøre det ved at åbne dit eksisterende ark og så tilføje data række for række, hvor du selv bestemmer placeringen. :c)

Noget i retning af:


Dim Exl As New Excel.Application
Dim WrkBook As Excel.Workbook
Dim rs As DAO.Recordset

Set WrkBook = Exl.Workbooks.Open("C:\Stien til din Excel fil")
Set rs = CurrentDb.OpenRecordset(strSQL)    ' Open a Database Recordset

    ' Export Recordset Data to Excel Row by Row
    For i = 1 To rs.RecordCount
      For j = 1 To rs.Fields.Count - 1
        WrkBook.Sheets(1).Cells(i + 2, j).Value = rs.Fields(j)
      Next j
      rs.MoveNext
    Next i
Avatar billede sf Nybegynder
03. maj 2004 - 15:12 #4
hubs har prøvet den metode men problemet er at jeg skal skrive en query ud og hvis jeg tager sqlen ud af min query bliver den ikke rigtig kun med TransferSpreadsheet  ??
Avatar billede hubs Nybegynder
03. maj 2004 - 15:49 #5
Jamen kan du så ikke bare bruge QueryDef, jeg bruger selv følgende:

strSQL = "SELECT * FROM [Table] WHERE X = '" & Me.Name & "' ORDER BY Date DESC"
Set qdf = CurrentDb.CreateQueryDef("ExcelExport", strSQL) ' Define and Creat a Query
ExportToExcel CurrentDb.QueryDefs("ExcelExport").SQL      ' Initiate ExportToExcel Function
DoCmd.DeleteObject acQuery, "ExcelExport"                ' Delete Query

Public Function ExportToExcel(strSQL As String)
On Error GoTo Err_ExportToExcel
' Export Data to Excel Based on Previously Defined Query

    Screen.MousePointer = 11        ' Set Cursor Type to 'Busy' (hourglass)

    ' Prepare Excel Sheet
    Dim Exl As New Excel.Application
    Dim WrkBook As Excel.Workbook
    Dim rs As DAO.Recordset
    Dim i As Integer, j As Integer

    Set WrkBook = Exl.Workbooks.Add
    Set rs = CurrentDb.OpenRecordset(strSQL)    ' Open Database Recordset

    If rs.EOF And rs.BOF Then GoTo Exit_ExportToExcel
    rs.MoveLast
    rs.MoveFirst                                ' Set Pointer at Start of Recordset

    ' Insert Default Field Names in Excel and Define Column Width
    For j = 1 To rs.Fields.Count - 1
        WrkBook.Sheets(1).Cells(1, j).Value = rs.Fields(j).Name
        strVAR = Len(rs.Fields(j).Name) + 2
        If strVAR < 6 Then
            strVAR = 6
        End If
        WrkBook.Sheets(1).Cells(1, j).ColumnWidth = strVAR
    Next j
        WrkBook.Sheets(1).Cells(1, 1).ColumnWidth = strVAR + 10
...
Avatar billede sf Nybegynder
03. maj 2004 - 16:22 #6
får en fejl med: Dim Exl As New Excel.Application (fejl: User-defined type not defined) sys også din start ser underlig ud jeg skal tage CurrentDb.QueryDefs("ExcelExport").SQL direkte fra en query der er blevet designet i access query design og derfor får jeg en masse underlige fejl som firkanter i min sql streng?
Avatar billede jorgen_c Nybegynder
03. maj 2004 - 17:34 #7
Ellers kan man sammenkæde et ark
Avatar billede hubs Nybegynder
03. maj 2004 - 19:28 #8
du skal bare lige huske en reference til 'Microsoft Excel x.x object library'

Håber det hjælper :c)
Avatar billede sf Nybegynder
05. maj 2004 - 23:10 #9
vil gerne give nogle point til hubs hvis du vil lave et svar og delvf også point til terry
Avatar billede hubs Nybegynder
06. maj 2004 - 09:01 #10
Takker :c)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester