importeren csv bestand

Status
Niet open voor verdere reacties.

Dick34

Gebruiker
Lid geworden
16 nov 2010
Berichten
77
Hallo,
Ik heb een vraag over het importeren van een csv bestand. Ik krijg steeds de melding dat het decimale scheidingsteken (standaard ingesteld op een komma) hetzelfde is als het veldscheidingsteken. Als ik nu het decimale scheidingsteken verander in een punt (een tip op dit forum), dan verloopt het importeren niet naar wens.
In de accesstabel, waarin de het csv bestand moet worden geimporteerd, komt nl. een valuta veld voor (euro), met als scheidingsteken een komma. Dit veld wordt niet geimporteerd.

Ik los het nu met een omweg op: importeren in EXCEL (dit lukt wel) en dan het excelbestand importeren in de accesstabel.
Maar ik zou graag het csv bestand rechtsteeks willen importeren.
 
Je moet zowiezo Valuta en Getalnotatie dezelfde scheidingstekens geven, anders kom je in de problemen. Dus als je de komma als duizendtal scheidingsteken gebruikt voor getallen, dan moet je dat ook voor valuta gebruiken. En uiteraard ook voor de punt als decimaalteken. Lijkt mij ook een stuk netter als je getallen en valuta naast elkaar hebt; iedereen ziet ze allebei natuurlijk (terecht ook) als getal...
 
Je melding heeft niets met je valutaveld in je tabel te maken maar alles met het teken dat je gebruikt om de gegevens in je csv bestand je scheiden.
Dat teken is het veldscheidingsteken waar je foutmelding het over heeft.
Oplossing is ervoor te zorgen dat tijdens het aanmaken van het csv bestand een ander scheidingsteken wordt gebruikt.
Bijvoorbeeld de puntkomma.

Tardis
 
Je melding heeft niets met je valutaveld in je tabel te maken maar alles met het teken dat je gebruikt om de gegevens in je csv bestand je scheiden.
Dat teken is het veldscheidingsteken waar je foutmelding het over heeft.
Oplossing is ervoor te zorgen dat tijdens het aanmaken van het csv bestand een ander scheidingsteken wordt gebruikt.
Bijvoorbeeld de puntkomma.

Tardis

Dat zou de oplossing zijn, ware het niet dat ik het bestand niet zelf aanmaak. Het is een download van financiele gegevens van mijn bank. Dit csv bestand heeft de volgende notatie:
"Datum","Naam / Omschrijving","Rekening","Tegenrekening","Code","Af Bij","Bedrag","MutatieSoort","Mededelingen"

In het veld "Bedrag" staan bedragen met een komma als decimaal scheidingsteken. Voorbeeld: 1200,75.

Importeren in EXCEL gaat wel, zoals ik al zei.
 
Je kunt nog proberen om een Importspecificatie te maken/gebruiken. Dan kun je het scheidingsteken ook apart definiëren.
 
Je kunt nog proberen om een Importspecificatie te maken/gebruiken. Dan kun je het scheidingsteken ook apart definiëren.

Dit had ik al geprobeerd, maar is me niet gelukt. Het probleem is dat het veldscheidingsteken hetzelfde is als het decimaal scheidingsteken, een komma dus. Ik snap alleen niet waarom het in EXCEL wel kan en in ACCESS niet.
 
Access gaat wat stricter met waarden om als Excel vermoedelijk :) Zowiezo zou ik niet weten hoe je een scheiding kan maken tussen een veld en een waarde met een scheidingsteken als het scheidingsteken hetzelfde is als het decimaal teken. Staan de gegevens tussen dubbele aanhalingstekens dan is dat ook nog een hulp, maar daar rep je verder niet over.
 
@OctaFish, in 2009 kwam je ook met een mooie oplossing, vraag toen iets anders maar lijkt er aan de andere kant ook weer erg op.
Met een kleine aanpassing moet het je nu ook wel lukken denk ik.
Controle op "," en deze vervangen door bv ; mogelijk zit je nog wel met de eerste " en laatste " in elke rij maar die laten vervallen zou ook geen groot probleem moeten zijn.
VBA & Access is niet m'n sterkste kant dus waag ik me er even niet aan, en jij kent je eigen code het beste.

http://www.helpmij.nl/forum/showthread.php/477601-CSV-bestand-met-scheidingsteken-een-dubbele-tab
 
Laatst bewerkt:
Access gaat wat stricter met waarden om als Excel vermoedelijk :) Zowiezo zou ik niet weten hoe je een scheiding kan maken tussen een veld en een waarde met een scheidingsteken als het scheidingsteken hetzelfde is als het decimaal teken. Staan de gegevens tussen dubbele aanhalingstekens dan is dat ook nog een hulp, maar daar rep je verder niet over.

Ze staan tussen aanhalingstekens, zoals uit het door mij gegeven voorbeeld blijkt.
 
@OctaFish, in 2009 kwam je ook met een mooie oplossing, vraag toen iets anders maar lijkt er aan de andere kant ook weer erg op.
Met een kleine aanpassing moet het je nu ook wel lukken denk ik.
Controle op "," en deze vervangen door bv ; mogelijk zit je nog wel met de eerste " en laatste " in elke rij maar die laten vervallen zou ook geen groot probleem moeten zijn.
VBA & Access is niet m'n sterkste kant dus waag ik me er even niet aan, en jij kent je eigen code het beste.

http://www.helpmij.nl/forum/showthread.php/477601-CSV-bestand-met-scheidingsteken-een-dubbele-tab

Het vervangen van bepaalde tekens in het csv bestand is inderdaad een oplossing, maar hoe kun je dat automatiseren?
 
Op ongeveer dezelfde manier als ik in de andere draad heb gedaan, maar dan omgekeerd: i.p.v. een tabel uit te lezen, moet je eerst het csv bestand openen, dan de bewerking uitvoeren en vervolgens weer opslaan. Daarna kun je importeren. E.e.a. heeft dan overigens weinig meer met Access te maken, dat is hooguit het programma waarin je de handelingen uitvoert, maar dat zou net zo goed Word kunnen zijn. Overigens ook een programma waarmee je het csv bestand kunt openen en bewerken.
Misschien moet je deze specifieke vraag stellen in het VBA forum; daar kijken mensen meer specifiek naar algemene vraagstukken.

Overigens hoef je niet continue te quooten op berichten waar je zelf op reageert; dat maakt de teksten er bepaald niet leesbaarder op :)
 
Ik heb in EXCEL een macro gemaakt die het csv bestand importeert en als excelbestand opslaat. Dit bestand importeer ik vervolgens in ACCESS (records worden toegevoegd aan een bestaande tabel) dmv een importspecificatie.
Dank voor de hulp.
 
Dat zou je dan nog wat netter kunnen doen door de hele operatie vanuit Access te draaien; ik neem aan dat je het Excel bestand verder niet nodig hebt, en dat je daar een tijdelijk bestand voor gebruikt? Als je in een Access procedure in je routine een Excel sessie opent, het CSV bestand importeert, opslaat als XLX en vervolgens Excel sluit kun je in de rest van je code het Excel bestand weer importeren. Kun je ook geen fouten maken :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan