Ga naar inhoud

[Excel] Eigenwijsheid MS


anoniem

Aanbevolen berichten

Hey, Met Access lees ik een Excelbestand in, dit [b:e559b4cbe1].div[/b:e559b4cbe1]-bestand is ge-exporteerd door een dosprogramma. Het probleem is dat Excel veel teksten aanpast. Bij een kolom gevuld met ordernummers als '20501234000' voegtexcel scheidingspunten toe. Bij een kolom gevuld met aantallen die van zichzelf al scheidingspunten hebben, gaat excel ervan uit dat het komma's zijn, waardoor bv. '10.500' wordt omgetoverd tot '10,5'. Is het mogelijk dit tegen te gaan, zodat de originele teksten blijven staan? Bedankt!
Link naar reactie
Lees je het div-bestand in naar Excel of naar Access? Klinkt als het eerste, en als je dat vanuit Access doet, dan doe je dat via CreateObject("Excel.Application")? Is het een optie om voor het importeren eerst alle kolommen in Excel van een tekstformaat te voorzien? Cells.Select Selection.NumberFormat = "@" Of importeer je het bestand in Access door gebruik te maken van het Excel-importfilter? Dan is het misschien een optie om te importeren naar een bestaande tabel met alleen maar tekstkolommen.
Link naar reactie
Ik doe het inderdaad via [i:7b12f73860]CreateObject[/i:7b12f73860]. Bij het ordernummer is dat inderdaad de oplossing. Bij het aantal (10.500) niet, excel blijft erbij dat de punt een decimaalsymbool is. Ook bij landinstellingen staat het 'Nederlands' ingesteld. Ik heb in excel zelf elke mogelijkheid geprobeerd, het blijft 10,5.
Link naar reactie
De punt wordt dus door VBA als decimaalteken gezien en de komma als scheidingsteken voor duizendtallen. Je kan het bestand eerst een keer voorbewerken met wat Replace()-functies om punten die als scheidingsteken worden gebruikt eruit te vervangen en evt. komma's die als decimaalteken worden gebruikt te vervangen door een punt. Mijn opzet zou dan zijn om een parsertje te schrijven die het div-bestand regel voor regel, veld voor veld afloopt om te kijken of een veld (met punten en komma's eruit vervangen) numeriek is en in dat geval die vervangingen te doen. Beetje omslachtig wel, maar ik neem aan dat je niet aan het dos-programma kan sleutelen, om ervoor te zorgen dat het standaard decimaalteken en geen scheidingstekens (ipv de nederlandse) worden gebruikt.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...