anoniem Geplaatst: 23 november 2005 Delen Geplaatst: 23 november 2005 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! Quote Link naar reactie
anoniem Geplaatst: 23 november 2005 Auteur Delen Geplaatst: 23 november 2005 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. Quote Link naar reactie
anoniem Geplaatst: 24 november 2005 Auteur Delen Geplaatst: 24 november 2005 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. Quote Link naar reactie
anoniem Geplaatst: 24 november 2005 Auteur Delen Geplaatst: 24 november 2005 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. Quote Link naar reactie
anoniem Geplaatst: 24 november 2005 Auteur Delen Geplaatst: 24 november 2005 Helpt het misschien om op de bak waarop dat div-bestand wordt gemaakt de landinstellingen op amerikaans te zetten? Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen