Export to csv file

Status
Niet open voor verdere reacties.

spw

Gebruiker
Lid geworden
18 nov 2016
Berichten
83
Hoi,


Ik wil een export knop maken in een formulier in Access 2010.
Ik gebruik dit commando :

DoCmd.TransferText acExportDelim, , "QUERYNAAM", "c:\temp\test.csv", hasfieldnames:=False

Maar dan krijg ik onderstaande foutmelding :

"Het veldscheidingsteken uit de specificatie voor het tekstbestand komt overeen met het decimaalteken of het tekstscheidingsteken."

Wat gaat er fout ?
Wat is het probleem ?
Hoe kan ik dit probleem omzeilen ?

Alvast bedankt.

Met vriendelijke groeten.
 
Probeer dit, oftewel voeg de export specificatie "exportcsv" toe i.p.v. die leeg te laten, en eerst die export specificatie te maken. De naamgeving van de export specificatie is vrij te kiezen en zou dan terug moeten komen in je code, dus "exportcsv" is maar een voorbeeld-naam.
Code:
DoCmd.TransferText acExportDelim, "exportcsv", "QUERYNAAM", "c:\temp\test.csv", hasfieldnames:=False

Die export specificatie zou je moeten kunnen maken en opslaan door (ik meen helemaal op het einde van het proces) een vinkje te zetten bij "Exportstappen opslaan" zodra je 'handmatig' de query exporteert door er op te rechtsklikken en te kiezen voor Export. Uiteraard de juiste zaken aangeven, dus dat je wilt exporteren naar een tekstbestand, een scheidingsteken wilt ipv. vaste lengte etc. De export specificatie wordt in de database opgeslagen, dus hij 'reist mee' met de database.

Tijs.
 
Laatst bewerkt:
Hoi,

Alvast bedankt voor de info.

Ik heb onderstaande uitgevoerd maar bij het uitvoeren (exporteren) krijg ik nu de melding "De specificatie exportcsv voor het tekstbestand bestaat niet. U kunt deze specificatie niet gebruiken om te importeren, exporteren of te koppelen."

Waar kan ik het bestand exportcsv terugvinden in de database ?
Ik had een tabel of iets dergelijks verwacht ?

Als ik manueel de export nogmaals uitvoer en gebruik dezelfde bestandsnaam (exportcsv) voor de export krijg ik wel de melding dat het bestand al bestaat.

Enig idee wat er fout gaat ?

Alvast bedankt.

Met vriendelijke groeten.
 
Heb je wel het vinkje gezet in "Exportstappen opslaan", want anders heb je (alleen) een bestand op je computer staan dat exportcsv heet (die geëxporteerde gegevens bevat).
Zie (bijv.) het dialoogvenster in deze instructie in paragraaf "Een import- of exportspecificatie maken", oftewel dezelfde als die ik hier onder laat zien. Dáár geef je de export specificatie een naam (zodra je het vinkje hebt gezet in "Exportstappen opslaan"), dus in jouw geval geef je de export specificatie de naam exportcsv [ipv. "Export-Goederen2" dat als voorbeeld wordt gebruikt in het plaatje]

Zie verder dat in het plaatje, links onderaan, de knop "Gegevenstaken beheren..." staat, die je kunt gebruiken om te zien wat je tot nu toe al aan export- en import specificaties hebt opgeslagen in je database. Je kunt ze dan aanpassen, verwijderen etc. conform deze instructie

Tijs.

cce6f6c3-d4f4-4c74-b1e3-43d62bf466aa.gif
 
Laatst bewerkt:
Hoi Tijs,

Bedankt voor uw snelle reactie.

Maar helaas, onderstaande heb ik idd allemaal gedaan. (zie printscreens)
Dwz "Exportstappen opslaan" aangevinkt.

export.png
export2.png
export3.png
export4.png

Wanneer ik opnieuw de exportcsv file wil aanmaken krijg ik de melding dat de file al bestaat.

Nog enig idee wat het probleem kan zijn ?

Alvast bedankt.
 

Bijlagen

  • foutmelding.png
    foutmelding.png
    14,7 KB · Weergaven: 68
Ok, laten we een paar dingen vaststellen:
a. De export specificatie is (met de juiste naam) opgeslagen in je database, onder de naam exportcsv
b. Blijkbaar bestaat de map C:\Temp ook en is schrijfbaar/bereikbaar voor jou

Nu beweerde je in posting #3 dat, als je de exportcsv export specificatie in je VBA code gebruikt/aangeeft, dat de export specificatie niet gevonden wordt. Is dat nog steeds zo?

Tijs.
 
Hoi,


Punt A: idd zie je in printscreen dat exportcsv is opgeslagen in de database. Want als ik een nieuw exportconfig bestand wil aanmaken krijg ik de melding dat het bestand al bestaat. Dus dat zou in orde moeten zijn.
Punt B: Ik heb schrijf/lees rechten op c:\temp. Dus dat zou in orde moeten zijn.

Hier een deel van de code onder de "exportknop" :

DoCmd.TransferText acExportDelim, "exportcsv", "lijst", "c:\temp\exportbestand.csv", hasfieldnames:=False

En toch krijg ik nog steeds de melding dat het exportcsv niet bestaat.

Ik heb Access al volledig afgesloten en herstart.

Misschien dat het een instelling is in Access maar zou niet weten waar ik dit kan instellen.

Enig idee ?

Alvast bedankt.
 
Je had op a. en b. niet hoeven reageren, want ik stelde die vast in mijn vorige posting.

Dat je nu nog de melding krijgt dat exportcsv niet gevonden wordt moet dan haast wel een syntaxfout zijn in de VBA code
Als schot in het donker, probeer het zo ("lijst" is blijkbaar de naam van je query):
Code:
DoCmd.TransferText acExportDelim,"exportcsv","lijst","c:\temp\exportbestand.csv",False

Tijs.
 
Laatst bewerkt:
Welke Access versie gebruik je? De latere versies kennen geen exportspecificatie meer zoals dnties die beschrijft. Die kun je dus ook niet meer op die manier maken en opslaan.
 
Alternatief (als de code in mijn vorige posting tóch weer fout loopt):

Code:
DoCmd.TransferText transferType:=acExportDelim, SpecificationName:="exportcsv", TableName:="lijst", FileName:="C:\temp\exportbestand.csv", hasfieldnames:=False

Tijs.
 
@OctaFish: Zie de laatste bijlage van posting #5 dat er wel degelijk een export specificatie is opgeslagen en dus (naar ik aanneem) ook effectief gebruikt kan worden in VBA code? [Dus dat een versie van Access wordt gebruikt die wél export specificaties etc. gebruikt/toestaat]?

Tijs.
 
Hoi Tijs,

Lijst is idd de naam van de query.

En bij beide codes krijg ik dezelfde foutmelding. Exportcsv bestaat niet.


PS : en de lichten aangedaan. Dus was geen shot in de donker :)


@OctaFish : Versie = Microsoft Access 2010.

Als je geen exportfile_instelling kan gebruiken. Op welke manier kan ik dan mijn probleem oplossen ? Is het een foute Windowsinstelling ?

Alvast bedankt.
 
Hopelijk kan OctaFish (of iemand anders) je verder helpen, want ik zie niet wat er (nog) mis had kunnen gaan, gegeven wat we gedaan en uitgezocht hebben.

Tijs.
 
Volledig mee akkoord Tijs,

Had ook al liggen zoeken op internet en de geboden oplossingen hadden moeten werken maar helaas.

Dus hopelijk dat OctaFish of iemand anders mij kan helpen.

En ik wil je hartelijk bedanken voor de gedane inspanningen / tijd.
Wordt heel erg gewaardeerd.
 
Enige waar ik nog aan kan denken is bestandscorruptie en/of Access bestand te groot. Je zou op een gemaakte kopie van je Access bestand evt. nog wat compacterings- en reparatiewerk kunnen doen en dan de gecompacteerde/gerepareerde kopie openen, de exportcsv export definitie verwijderen en die opnieuw aanmaken etc.

Voldoende zaken daaromtrent te vinden op Internet, zoals deze Microsoft instructie en deze link (alleen Step 1)

Tijs.
 
Sorry Tijs maar heeft ook niet geholpen.

Hopelijk dat iemand een idee heeft ......

Zonder de config file krijg ik onderstaande foutmelding.
Foutmelding : "Het veldscheidingsteken uit de specificatie voor het tekstbestand komt overeen met het decimaalteken of het tekstscheidingsteken."

Maar volgens mij staan de Windowsinstellingen correct.
Veldscheidingsteken = ;

Dus ik zou echt niet meer waar zoeken.

Alvast bedankt.
 
Wat meer extra informatie.

Wanneer ik in Access 2010 - menu - Externe gegevens - Opgeslagen exportgegevens - exportcsv uitvoer krijg ik mijn gewenst bestand in de juiste lay-out.
Dus moet er toch iets met de code zijn.
Maar wat ik vind op het internet lijkt die mij ook correct.

DoCmd.TransferText transferType:=acExportDelim, SpecificationName:="exportcsv", TableName:="lijst", FileName:="C:\temp\exportbestand.csv", hasfieldnames:=False

Misschien dat er nu bij iemand een lampje gaat branden :D
 
Ik kwam nog wat tegen, probeer het:
a. Verwijder exportcsv export definitie
b. Maak C:\Temp leeg (in ieder geval alle export csv bestanden) of hernoem die
c. Doe weer het hele verhaal van rechtsklikken op de lijst query en kiezen voor Export, maak ook weer de export definitie aan onder de naam exportcsv etc., maar zorg er in ieder geval voor dat de hele wizard doorlopen wordt, en er dus inderdaad een export-bestand is geschreven etc, dus breek niets af.
d. Sluit het Access bestand, hernoem het zojuist gemaakte export csv-bestand in C:\temp en open daarna weer het Access bestand.
e. Kijk of je de VBA code nu wel succesvol kunt draaien/gebruiken

Verhaal van hier boven zou vooral zich richten op het volledig doorlopen van de wizard, incl. het laten schrijven van het export csv-bestand. Schijnt dat Access niet blij is als je zaken afkapt, vandaar.

Tijs.
 
Laatste kans wat mij betreft (zie verder de link in het citaat, die overigens blijkbaar voor velen (incl. mijzelf) niet te openen is -> "Not authorized"):
Folks ... this is an answer AND a question.

I just spent an hour or so toying with what I believe is a bug in Access 2010 - and figured I'd share my experience/findings with everybody for 2 reasons. First - so you can avoid my problems; and, second - in case somebody has a more clever workaround than what I've found.

To give full credit the bug/workaround I "found" are located at this URL - although I'll say it took me a while to find this URL.

http://social.technet.microsoft.com/Forums/en/offi ce2010/thread/d9d2abf3-859f-4920-8964-900b9f5b6347

Here's what I specifically did - and what I saw:

I created a query in Access 2010
I right-clicked the query name and chose to export to a text file
I created an export file spec for my query and saved the spec as "SymbolsOnly". The purpose of the spec for me is that I didn't want quotes surrounding the text being exported.
I completed the export - it ran fine
I then created a Macro tied to a command button that would run the export for a user.
I used the ImportExportText Macro Action.
I chose the File Spec from the drop-down list that Access provides (so there were no spelling issues involved).
I tested the export - and got the error message "The Text File specification '1' does not exist. You cannot import, export, or link using the specification."
I went back and re-tested doing this manually by right-clicking the Query but this time loading the saved spec and exporting - it worked fine! So - I know it's not corruption.
I re-tested via the button - error.
I created a duplicate spec, modified my macro by selecting the duplicate spec from the drop-down list (again, no spelling errors are possible this way) and tested. This time the error was for Text File specification '2'. Really weird!!!!!


I started digging - and found the link above. The author said they tried naming their file spec "1." I deleted all my specs and created the spec from scratch - naming it "1." I tested it manually - it worked - then I tested via the command button - it worked.

How horrible is that?

So - my new export spec is intuitively named "1." That will help me later on when troubleshooting this app.

Hopefully this info is found by somebody having the same issue I had - and you get your answer quicker than it took me. As it is - if anybody wishes to reply to this thread with insight as to why this happens in Access 2010 ... or alternative solutions that may allow for more intuitively-named specifications ... I'm all ears.

Oftewel: Maak een export definitie en noem die 1. [let op de '.' achter de '1'!] en gebruik die in je VBA code.
Alternatief (als 1. als exportdefinitie werkt) zou zijn een export definitie te maken die exportcsv. heet [let op de '.' achter de 'v'!] en gebruik die in je VBA code.

Tijs.
 
Laatst bewerkt:
Hoi,


Ik heb een export gedaan naar .xlsx en dat is wel gelukt.
Export naar .csv lukt ook niet, omdat ik twee vragen stel in de query, vb [Geef de dag] en [Geef company].
Dan krijg ik de foutmelding "Er zijn te weinig parameters. Het verwachte aantal is : 2

Nu weet ik niet of dergelijke query kan geëxporteerd worden via .csv.
Via .xlsx is het wel gelukt.

Ik weet niet of er een commando bestaat dan een .xlsx bestand kan converteren naar een .csv
Een commando in de Stijl van : Docmd.convert ......

Alvast bedankt.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan