exporteren naar bestand met specifieke naam

Status
Niet open voor verdere reacties.

Bospeen

Gebruiker
Lid geworden
23 aug 2005
Berichten
150
Beste forumleden,

Misschien weten jullie of het volgende te realiseren is:

Op een formulier heb ik een knop gemaakt die een tabel opslaat als Excel-bestand. In de bijbehorende macro heb ik geen locatie of bestandsnaam opgegeven.
Ik zou echter graag willen dat de naam van het bestand automatisch wordt gevuld door de inhoud van een veld op het formulier (een persoonsnaam).
Is dit mogelijk?
 
Bestandsnaam is een parameter, en volgens mij heb je die nu ook ingevuld, want een tabel exporteren zonder naam is onmogelijk. Dus je zou dan zoiets moeten hebben om de naam variabel te maken:
Code:
     DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "tblTest", Me.txtNaam, True
 
Ik heb er nu een macro aan hangen, waarbij ik geen locatie of naam heb ingevuld. Bij export naar Excel kiest Access dan automatisch de naam van de te exporteren tabel. Maar ik ga jouw code proberen, ziet er volgens mij goed uit.
Bedankt!
 
Nog steeds bezig met macro's? :) Er komt een moment dat je er achter komt dat macro's een korte doodlopende steeg zijn, en VBA procedures een brede snelweg :D
 
Ik maak bijvoorbeeld bij mijn uitslagverwerking via Access 2003 o.a. een deelnemers.xls file aan gebaseerd op een tabel via een query export met een benaming samengesteld uit drie zaken (die ik haal vanop een frmHoofdemnu) , de locatie van de wedstrijd(=bestandsnaam), jaartal en wedstrijdnaam. Bij mij worden die velden automatisch ingevuld bij het openen van dat formulier maar dat kan je natuurlijk ook manueel doen.

Code:
'naam, wedstrijdjaar ophalen uit bovenliggende form
    stWedstrijdjaar = [Forms]![frmHoofdmenu].TxtJaartal.Value
    stWedstrijdbestand = [Forms]![frmHoofdmenu].TxtBestandsnaam.Value
    If [Forms]![frmHoofdmenu].TxtWedstrijdnaam.Value <> vbNullString Then
        stWedstrijdnaam = [Forms]![frmHoofdmenu].TxtWedstrijdnaam.Value
    Else
        stWedstrijdnaam = ""
    End If
'controleren of de map van die wedstrijd al bestaat, zoniet map aanmaken
    dirname = GetPath & "\data\Internet\verslagen2002\pdffiles\" & stWedstrijdjaar & "\" & stWedstrijdbestand & "" & stWedstrijdjaar
    If Dir(dirname, vbDirectory) = "" Then MkDir dirname
    Opslagmap = GetPath & "\data\Internet\verslagen2002\pdffiles\" & stWedstrijdjaar & "\" & stWedstrijdbestand & "" & stWedstrijdjaar
    DoCmd.SetWarnings False
    myfile = GetPath & "\data\Internet\verslagen2002\pdffiles\" & stWedstrijdjaar & "\" & stWedstrijdbestand & "" & stWedstrijdjaar
'Deelnemers exporteren naar Excel
    If [Forms]![frmHoofdmenu].TxtWedstrijdnaam.Value <> vbNullString Then
        DoCmd.OutputTo acOutputQuery, "qryDeelnemers_H", "Excel97-Excel2003Workbook(*.xls)", GetPath & "\Data\Internet\verslagen2002\pdffiles\" & stWedstrijdjaar & "\" & stWedstrijdbestand & "" & stWedstrijdjaar & "\" & stWedstrijdbestand & "" & stWedstrijdjaar & "_" & stWedstrijdnaam & "_deelnemerslijst.xls", False, ""
    Else
        DoCmd.OutputTo acOutputQuery, "qryDeelnemers_H", "Excel97-Excel2003Workbook(*.xls)", GetPath & "\Data\Internet\verslagen2002\pdffiles\" & stWedstrijdjaar & "\" & stWedstrijdbestand & "" & stWedstrijdjaar & "\" & stWedstrijdbestand & "" & stWedstrijdjaar & "_deelnemerslijst.xls", False, ""
    End If

Getpath is deze eenvoudige functie die je voorafgaandelijk in een module giet.

Code:
Function GetPath()
   'Retourneert de huidige bestandslocatie van de database
    GetPath = CurrentProject.Path
      
End Function

Hopelijk ben je hier iets mee.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan