Toon posts:

[ADO] SQL-query met CSV / TXT bestanden *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi!,

Ik maak een excel macro waarin in gegevens inlees uit een comma separated file (csv) of tekstbestand (txt). Omdat ik hier wat snelle queries op uit wil voeren doe ik dit met ADO. Dat gaat perfect.

Ik maak een schema.ini aan voor het bestand en met een connectionstring als:
code:
1
2
3
mcnVerbinding.ConnectionString = _
        "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" & splitBestand(strBronLocatie).Directory & ";" & _
        "Extensions=asc,csv,tab,txt;"


Kan ik vervolgens gewoon een SQL query op een csv of txt bestand loslaten.

Wat is dan je probleem
Een van de te verwerken csv bestanden krijgen we van de TPG. Deze bevat velden als "OBR:gewicht per stuk", "OR:eenheden verzekering", etc. Dit vind het SQL commando geen juiste velden (logisch). Voor "normale" (dus geen spaties, etc) velden gaat het wel gewoon goed.

Wat heb je al geprobeerd?
Ik heb de velden tussen [ en ] gezet. Dit werkt bij andere providers gewoon goed, maar de text driver pikt die haakjes niet.

Vervolgens heb ik de velden tussen ' en ' gezet. Dat werkt wel, maar in plaats van de veld- data krijg ik dan de tussen quote's geplaatste veldnamen voor elk record retour. Wordt je dus ook niet vrolijk van.

Verder zo'n beetje alle bestaande internetpagina's afgezocht en de mogelijkheden voor schema.ini bekeken. Ik kan alleen niks vinden.

Iedereen lijkt gewoon een select * te doen en dat vervolgens te filteren. Dat zou ik alleen een beetje zonde vinden omdat ik van de 80 best wel grote velden er in principe maar 3 nodig heb.

Alvast bedankt voor de nuttige tips!

Verwijderd

Hmz... ik heb even wat voor je rond lopen zoeken. Maar tot mijn spijt niets gevonden :(
Is het niet mogelijk om met Excess te gaan werken? * is maar een tip *

Maar ik zou nog even wat voor je rond speuren, ben zelf wel nieuwsgierig geworden!

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Is het niet mogelijk om met Excess te gaan werken?
Is dit een nieuwe combi van Excel en Access? :+

Probeer de spaties eens te vervangen door een underscore? Als dit niet lukt, loop dan eens door de veldnamen heen in je code.... Dan kun je zien wat hij ervan maakt...

My personal website


Verwijderd

OZ-Gump schreef op 08 oktober 2003 @ 14:02:
[...]
Is dit een nieuwe combi van Excel en Access? :+
Cristal zegt tegen zichzelf: Eerst lezen, denken en dan doen |:(

Verwijderd

In sql queries zijn spaties in de kolom(-veld)naam uit den boze dus is idd de oplossing (work-around) van OZ-Gump het meest voor de hand liggend.

Verwijderd

Topicstarter
Hmmmm... het blijft balen. Omdat de TPG zo stom is om spaties in de kolommen op te nemen heb ik nu dus een probleem. Als ik nou tegen SQL Server aan kon praten waren er nog weer simpel brackets omheen te zetten. Dan mag je er volgens mij alle mogelijke onzin in plaatsen. Access vergeeft je volgens mij ook een hoop.

Maar ik moet dus weer een excel macro bouwen. Omdat het een csv bestand is heb ik nu een lading code die de eerste regel (tot de linefeed) opvreet en de kolommen er uit spuugt. Ik rename nu die kolommen zelf en replace dan de bijgewerkte eerste regel in het bestand door de nieuwe regel.

Vervolgens klad ik het hele bestand weer terug naar schijf. Ik heb dan een csv bestand met als eerste regel "normale" kolomkoppen. Probleem is nu dus wel "opgelost" maar dan wel op een lelijke manier.

Bedankt voor alle hulp weer!
Pagina: 1