vanuit access gegevens overbrengen naar Word en Excel

Status
Niet open voor verdere reacties.
Je eerste optie kan dan nog korter (en vanuit Access optiek gezien ook begrijpelijker)
Code:
Sub cmdExcel_Click()
    DoCmd.OutputTo acOutputTable, "tPersonen", acFormatXLS, "Personen.xls", True
End Sub
 
Access excel sjabloon oproepen en velden wijzigen

Hallo

Een volledige tabel omzetten van access naar excel lukt. Dank zij jullie hulp.

Nog een vraagje betreffende Access - invullen van een excel sjabloon vanuit access en resultaat tonen in excel
vanuit access een excel sjabloon oproepen en cellen invoeren met gegevens van een tabel maw vanuit een access formulier wordt een persoon opgeroepen -->
indien excel sheet niet bestaat wordt deze in access aangemaakt - velden ingevoerd --> en excel wordt geopend met het mooi ingevuld sjabloon.

Deze code werkt maar is dit de juiste manier???

Heb een kleine code geschreven maar - foutmelding om gegevens van de tabel in excel te plaatsen.
Heeft iemand een mogelijke oplossing?
Hartelijk dank
Anne
Code:
[B]Private Sub cmdzakgeld1_Click()

  c00 = CurrentProject.Path
  c01 = "\Sjabloonexcel_001"
    
  If Dir(c00 & c01 & ".xlsx") <> "" Then
    With GetObject(c00 & c01 & ".xlsx")
       .windows(1).Visible = True
        For Each fl In CurrentDb.OpenRecordset("tblpersoon").Fields
           .variables(fl.Name) = fl.Value
        Next
        .Fields.Update
    End With
  Else
       Set excelapp = CreateObject("excel.application")
        Dim mysheet As Object
        With excelapp
          .Visible = True
         Set wb = .workbooks.Add(Template:="C:\ANNE\test\Zakgeld.xltm")
      [COLOR="#FF0000"] ' wb.SaveAs vdocument[/COLOR] ' lukt niet
        Set mysheet = excelapp.sheets(1)
With mysheet
    .sheets(1).Cells(2, 1) = "anne" ' dit loopt fout  'lukt niet zou een veld 
End With
    
End With[/B]
 
Laatst bewerkt:
Private Sub cmdzakgeld1_Click()

c00 = CurrentProject.Path
c01 = "\Sjabloonexcel_001"

If Dir(c00 & c01 & ".xlsx") <> "" Then
With GetObject(c00 & c01 & ".xlsx")
.windows(1).Visible = True
For Each fl In CurrentDb.OpenRecordset("tblpersoon").Fields
.variables(fl.Name) = fl.Value
Next
.Fields.Update
End With
Else
Set excelapp = CreateObject("excel.application")
Dim mysheet As Object
With excelapp
.Visible = True
Set wb = .workbooks.Add(Template:="C:\ANNE\test\Zakgeld.xltm")
' wb.SaveAs vdocument ' lukt niet
Set mysheet = excelapp.sheets(1)
With mysheet
.sheets(1).Cells(2, 1) = "anne" ' dit loopt fout 'lukt niet zou een veld
End With

End With

Hallo
hopelijk is dit de tag code
gr anne
 
Laatst bewerkt:
Dat is niet de goede tag, en je hebt het probleem verdubbeld door de code nog een keer te herhalen. De Code tag kun je het beste toepassen door [/code] áchter de code te typen en
Code:
 er voor. En de bedoeling van de opmerking van snb is dus dat je het betreffende bericht [I]bewerkt[/I]. En niet de code herhaalt :).
 
Code:
Private Sub cmdzakgeld1_Click()

c00 = CurrentProject.Path
c01 = "\Sjabloonexcel_001"

If Dir(c00 & c01 & ".xlsx") <> "" Then
With GetObject(c00 & c01 & ".xlsx")
.windows(1).Visible = True
For Each fl In CurrentDb.OpenRecordset("tblpersoon").Fields
.variables(fl.Name) = fl.Value
Next
.Fields.Update
End With
Else
Set excelapp = CreateObject("excel.application")
Dim mysheet As Object
With excelapp
.Visible = True
Set wb = .workbooks.Add(Template:="C:\ANNE\test\Zakgeld.xltm")
' wb.SaveAs vdocument ' lukt niet
Set mysheet = excelapp.sheets(1)
With mysheet
.sheets(1).Cells(2, 1) = "anne" ' dit loopt fout 'lukt niet zou een veld 
End With

End With
 
Heb je nou 3 keer dezelfde code gepost? Ok, 3 verschillende opmaken, maar wel met dezelfde fout :). Als je een object maakt van een sheet, dan moet je die niet daarna nog eens apart aanroepen. Daarnaast is je variabelen gebruik nogal inconsequent. Of alles, of niks zou ik zeggen.

Code:
Dim mySheet As Object, excelApp As Object, wb As Object
Dim fld As DAO.Field
Dim c00 As String

    c00 = CurrentProject.Path & "\Sjabloonexcel_001.xlsx"
    If Dir(c00) <> "" Then
        With GetObject(c00)
            .Windows(1).Visible = True
''            For Each fld In CurrentDb.OpenRecordset("Bestanden").Fields
''                .variables(fld.Name) = fld.Value
''            Next
''            .Fields.Update
        End With
    Else
        Set excelApp = CreateObject("Excel.application")
        With excelApp
            .Visible = True
            Set wb = .workbooks.Add(Template:="C:\test\Zakgeld.xltm")
            wb.SaveAs CurrentProject.Path & "\Sjabloonexcel_001.xlsx"
            Set mySheet = excelApp.Sheets(1)
            With mySheet
                .Cells(3, 1) = "octafish"
            End With
        End With
    End If
En in een Excel document kun je volgens mij niet op deze manier met Variables werken. Maar dat komt waarschijnlijk nog uit je Word document.
 
@annetiti

Het is niet duidelijk wat je wil.
Plaats je Excel bestand en een voorbeeld van je Accessbestand.

Zoals @Octa al aangaf: een Word-bestand kan documentvariabelen bevatten; een Excelbestand niet.

Je moet dus de methoden voor Word en Excel niet door elkaar gooien.
 
Access excel

Hallo

Momenteel zijn alle Word sjablonen aangepast en gekoppeld met access. (vandaar dat ik niet onmiddellijk gereageerd heb)

Met Access - Excel heb ik een voorbeeldje meegestuurd.
Van het sjabloon heb ik een printscreen gemaakt.--> bestand was 500kb en dus te groot.

werking
1. formulier openen in access
2. afhankelijk van de geselecteerde persoon wordt zijn naam en voornaam weggeschreven in het excel gemaakte sjabloon.(zakgeld).

ik lees dat dit niet mogelijk zou zijn om gegevens uit een access formulier over te brengen naar het excel sjabloon.

Heb toch een klein voorbeeldje meegestuurd. betreft zakgeld.

groeten Anne
en een dikke merci om mij bij te staan met al mijn vragen.
 

Bijlagen

Waar lees je dat het niet mogelijk is om gegevens van Access over te brengen naar Excel? Ik heb dat in ieder geval nergens geschreven.... En waarom zou ik? Het zou geen enkel probleem mogen zijn!
 
Dag
Heb me verkeerd uitgedrukt. Je kan niet werken met variabelen zoals in Word!
Er bestaat waarschijnlijk een andere techniek!
Sorry voor het misverstand.
groeten anne
 
Leg eens uit (en voorbeeldjes helpen daar enorm bij) wat je nu wilt; je kunt prima een volledig gegevensbestand (tabel/query) naar Excel overzetten, maar dat is dus niet de bedoeling. Daarnaast is het prima te doen om geselecteerde gegevens over te halen naar een specifieke locatie in een Excel bestand. Alleen moet dat natuurlijk anders dan een volledig bestand. JE hoeft niet met variabelen en verwijzingen te werken zoals in Word, omdat in Excel elke plek waar je iets wilt hebben al bekend is; elke cel heeft immers een adres dat je kunt aanspreken. Variabelen daarvoor zijn dus nogal overbodig.
Maar je snapt hopelijk ook dat het voor ons niet echt zinvol is om zelf voorbeelden te gaan bouwen; ik althans steek liever tijd in een oplossing die bij jouw vraag past. Ergo: gebaseerd is op een voorbeeldje.
 
Hallo

Het is gelukt met de code ADODB.Recordset. Kan gegevens uit access (query) overbrengen naar Excel.

Hartelijk dank voor jullie goede tips en geduld!

groeten Anne
PS Geluk dat zo een forum bestaat.
 
PS Geluk dat zo een forum bestaat.
Zeg dat wel, waar zouden we anders heen moeten met onze vrije tijd? :). Je mag de vraag nog op <Opgelost> zetten (Blauwe menubalk bovenin).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan