05. marts 2004 - 12:55Der er
12 kommentarer og 1 løsning
Overføre Access97 forespørgsel til bestemt felt i Excel97
Det er jo lidt af en klassiker, men alligevel anderledes:
Hvordan kan man overføre en forespørgsel i Access97 til et allerede eksisterende Excel97-regneark, hvor indlæsningen i regnearket starter et bestemt sted (fx. starte i feltet A4)? Jeg har forsøgt med DoCmd.TransferSpreadsheet, men der kan jeg ikke bestemme stedet i regnearket hvor den skal starte indlæsning?
Private Sub Kommandoknap3_Click() Dim Obvar As Object, wkb As Object, Rst As Recordset ' Variabelerklæringer Dim i As Integer, Felt1 As Integer, Felt2 As Integer, Tek As String, xls As New Excel.Application On Error GoTo Errorhandler DoCmd.SetWarnings False DoCmd.OpenQuery "tilføjtemp" Me.Refresh Set Rst = DBEngine.Workspaces(0).Databases(0).OpenRecordset("Opgaver", dbOpenTable) Set Obvar = CreateObject("excel.application") xls.Workbooks.Open Filename:="D:\VBA\XP\Mappe1.xls" ‘her vælger du hvilken mapper du vil eksportere til Obvar.Visible = True Set wkb = Obvar.Workbooks.Add wkb.Worksheets("Ark1").Cells(1, 1).Value = "geertf' s overskrift"’ vælg overskrifter til Excels’ kolonner wkb.Worksheets("Ark1").Cells(1, 2).Value = "Hej" For i = 2 To Rst.RecordCount + 1 wkb.Worksheets("Ark1").Cells(i, 1).Value = Str$(Rst.Fields![FELT!]) wkb.Worksheets("Ark1").Cells(i, 2).Value = Str$(Rst.Fields![FELT2]) Rst.MoveNext Next wkb.Worksheets("Ark1").UsedRange.Columns.AutoFit Set Obvar = Nothing DoCmd.OpenQuery "slettemp" DoCmd.SetWarnings True Errorhandler: If Err.Number = 94 Then Resume Next End If
Undskyld den sene tilbagemedling. Melder lige tilbage selvom jeg håber du holder weekend :-) Tak for indputte, meget overvældende. Jeg kan ikke umiddelbart få det til at virke. Skal der ikke defineres en ny type i starten? Jeg får en fejl i 3. linie "User-defined not defined" ved linien med makeringen: xls As Excel.Application Jeg kan ikke rigtigt gennemskue det. Du må meget gerne sende mig en mail på med180itimen@hotmail.com. hilsen Geert
Er sandsynligvis en referencefejl. for at Access kan "se" Excel skal der oprettes en reference. Åbn din VBA-editor og i Tools > References (Funktioner > Referencer) browser du ned igennem bibliotekerne og finder dit Excel-bibliotek. Det kan hedde lidt forskelligt afhængig af din version, men blot der står Excel er det OK. Sørg for at der er et flueben i boksen i venstre side.
Kan stadig ikke få det til at virker. Har tilsluttet "Interface til Excel97" under Referencer, men den påstår stadig at jeg ikke har defineret en brugerdefineret type?
Jeg har ikke Office97 pakken, men så vidt jeg huske SKAL den hedde noget i stil med "Microsoft Excel og så en version Library". Bibliotekerne skal være sorterede alfabetisk, så check om ikke der er et sådant bibliotek.
Jeg kan stadig ikke få det til at virker, desværre! Jeg tror måske at problemet ligger i den måde min arbejdsplads har valgt at sætte Access op på? Jeg lukker spørgsmålet, og forsøger ad anden vej, men mange tak for forsøget. Venlig hilsen Geert
Tak for point. Men prøv at sende din db, så vil jeg prøve om det kan fungere her.
Synes godt om
Ny brugerNybegynder
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.