Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

MSAccess 2010, export text via VBA

Pagina: 1
Acties:

  • Stefke
  • Registratie: December 2000
  • Laatst online: 21-11 18:08
Ik heb een 2003 database waarin een textexportfunctie zit, gewoon met de Transfertext functie

DoCmd.TransferText acExportDelim, , Tmp_Qry_EXPORT.Name, Bestandsnaam, True

Dat werkt, echter nu ik de database in Access 2010 ga gebruiken krijg ik bij het exporteren de foutmelding:

3441 Text file specification field separator matches decimal separator or text delimiter


Met een exportspecificatie kan ik het oplossen, echter de Tmp_Qry bestaat elke keer uit andere velden, terwijl een exportspecificatie specifieke velden vereist. Nogo dus

Voor de rest krijg ik het niet klaar. Het enige dat werkt is als ik de configuratie van windows de landinstellingen naar (bijv.) Engels VS zet, dan werkt de export weer.
Als ik de settings van Engels overneem op de nederlandse instelling werkt het niet (nog afgezien van het feit dat ik in beide settings dan geen normale nederlandse notaties meer heb, ook nogo dus)


Ik meen me te herinneren dat ik eerder dit probleem had, misschien zelfs in de 2003 versie van het programma, maar ik weet niet meer wat ik gedaan heb om het te fixen.

Iemand een idee?


Edit: ik zou in de SysIMEXSpecs en MSysIMEXColums de exportspecificatie met VBA kunnen aanpassen aan de velden die in de query zitten, maar dat is nogal extra werk, terwijl het gewoon ergens in een setting moet zitten....

[ Voor 9% gewijzigd door Stefke op 23-11-2011 12:41 ]


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

De defaultinstelling haalt de jetengine vziw uit:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text

Mogelijke waarden vind je op MSDN: Much ADO About Text Files

Even controleren met regedit :)

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Stefke
  • Registratie: December 2000
  • Laatst online: 21-11 18:08
Hmmm...mooie link :) . Alleen heb ik die registrywaarde niet (geen "Jet" onder HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\)

Ik gebruik Office 2010 op een windows 7 computer.


edit: los van dat probleem is het wel gelukt door in de directory waar het bestand geplaatst wordt een schema.ini te plaatsen met daarin alleen
[FileName.csv]
Format=Delimited(;)

Echter, de gebruikers kunnen met een dialoogvenster een bestandsnaam en lokatie opgeven; die zullen dus beide vaak afwijken, waardoor ook deze oplossing niet praktisch is
En om nou elke keer via VBA een schema.ini te genereren (en verwijderen)...het kan (denk ik), maar ook dat is weer een hoop extra werk.

Toch nog tips ivm de registry? Waarom heb ik die waarde niet?

[ Voor 103% gewijzigd door Stefke op 23-11-2011 17:59 ]


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

stefijn schreef op woensdag 23 november 2011 @ 17:44:
Hmmm...mooie link :) . Alleen heb ik die registrywaarde niet (geen "Jet" onder HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\)

Ik gebruik Office 2010 op een windows 7 computer.
mm, jet is doorontwikkeld als access databse engine, dus die sleutel kan idd wel een andere naam hebben. Maar zoeken op sleutelnaam='format'kan geen kwaad. :)

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland