• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Access data exporteren naar bestaand Excel bestand.

Status
Niet open voor verdere reacties.

assessor

Gebruiker
Lid geworden
7 jan 2007
Berichten
184
Het leek mij zo simpel maar na enkele uren lezen in de Excel en Access geschiedenis alhier begin ik hieraan te twijfelen.

Ik wil dus vanuit Access drie kolommen met header exporteren naar "Sheet1" van een bestaand Excel bestand.
Het Excel bestand mag niet worden overschreven want deze bevat de VB code om de DATA van Sheet1 te modificeren en te plaatsen in Sheet2.
De DATA in Sheet1 mag, sterker nog, moet overschreven worden. Dus wanneer de nieuwe DATA minder records telt mogen de oude records niet blijven staan.

Ik hoop dat ik de vraag zo duidelijk heb geformuleerd en dat iemand mij hiermee kan helpen.

PS. Moderator; Ik wist niet of ik deze in Access of Excel moest plaatsen, aan jou om aan te geven of deze hier goed staat.

grts
 
Laatst bewerkt:
Je kunt eenvoudig access data importeren in Excel :

Data, Externe gegevens ophalen, Nieuwe databasequery;
Vervolgens link je naar de gewenste .mdb file, selecteert de gewenste velden, stelt een sorteervolgorde in en geeft aan vanaf welke cel op je werkblad de gegevens geoplaatst moeten worden.

Als je deze handeling vaker wilt herhalen dan zou ik bovenstaande handelingen opnemen met de macrorecorder.
 
Als je bekend bent met VBA:

Code:
Public Sub CreateSpreadsheet(strQry As String)
'Deze procedure exporteert de query naar een Excel object. Kolom voor kolom.

    Dim appExcel  As Excel.Application
    Dim wbExcel   As Workbook
    Dim wsExcel   As Worksheet
    Dim rst       As Recordset
    Dim qdf       As QueryDef
    Dim intRij    As Integer
    Dim intVelden As Integer
    Dim intTeller As Integer
        
    Set qdf = CurrentDb.QueryDefs(strQry) 'Jouw query
    Set rst = qdf.OpenRecordset
    
    If Not rst.EOF Then 'Hebben we records?
        Set appExcel = New Excel.Application
        With appExcel
            .Visible = True 'Als je deze op false zet werkt de procedure een stuk sneller. Na afloop zet je hem dan op True.
            Set wbExcel = .Workbooks.Add
            Set wsExcel = wbExcel.Worksheets(1)
        End With
    Else
        MsgBox "Geen records gevonden", vbExclamation
        Exit Sub
    End If
    
    intVelden = rst.Fields.Count - 1 'Maximaal aantal velden in de query = aantal kolommen in de spreadsheet
        
    intRij = 1
    'Eerst de veldnamen. Als je deze niet wil, verwijder dan de volgende drie regels.
    For intTeller = 0 To intVelden
        wsExcel.Cells(intRij, intTeller + 1) = rst.Fields(intTeller).Name
    Next intTeller
                
' zolang er nog records zijn worden deze weggeschreven naar de spreadsheet.
    Do While Not rst.EOF
        intRij = intRij + 1
        For intTeller = 0 To intVelden
            wsExcel.Cells(intRij, intTeller + 1) = rst.Fields(intTeller)
        Next intTeller
        rst.MoveNext
    Loop
        
' Met dit commando worden alle kolommen op de juiste breedte ingesteld.
    wsExcel.Columns.AutoFit
    
'appExcel.Visible=true 'als je dat nog niet gedaan hebt.

    Set rst = Nothing
    Set qdf = Nothing

End Sub

Enjoy!
 
Laatst bewerkt:
Je kunt eenvoudig access data importeren in Excel

Ik doe het al jaren andersom (Access link -> Excel) en het komt verdorie niet in mij op dat het anderom ook zou kunnen. :o

Je laatste zin zegt het helemaal.

Maar ik ben er nog niet...
 
Guus

Ik ben niet helemaal thuis in VB maar als je hier en daar wat uitleg/commentaar kan toevoegen kom ik er wel uit.

vast dank
 
kijk in mijn eerdere bericht. is nu aangevuld met meer commentaar.
 
Twee perfecte oplossingen mannen maar een antwoord zou geen antwoord zijn als er niet een nieuwe vraag uit voortkwam.

De link van Excel naar de Access tabel werkt perfect!
Op deze zelfde wijze kun je ook Excel naar een andere Excel bestand linken, maar met deze optie krijg ik steeds de foutmelding.

This data source contains no visible tables.

Dat vind ik erg vreemd dit zijn namelijk exact dezelfde drie kolommen data die met de Access link wel gezien worden? :confused:
 
Guus has left the building

Hier haak ik af. Ik heb veel ervaring op het gebied van Access en weinig op het gebied van Excel. Het kost me teveel tijd om dit uit te zoeken.
 
Hier haak ik af. Ik heb veel ervaring op het gebied van Access en weinig op het gebied van Excel. Het kost me teveel tijd om dit uit te zoeken.

Duidelijk verhaal Guus, dank zover. Ik heb al een idee voor een oplossing hiervoor...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan