Jeg har problemer med "Transferspreadsheet" metoden i Access VB
Jeg får "importerrors" fordi Access tror at nogle felter i mine Excel-sheets er tal, hvor det rent faktisk er tekst.
Det der sker, er at jeg har 10 rækker med 0'er i en bestemt kolonne, hvorefter de sidste 3 rækker (11 12 og 13) er kommentarer - altså tekst.
Ved importen læser Access de første linjer og "ser" at det er tal (0'er) - derfor får jeg importerrors (typekonverterings fejl) - selvom feltet i min tabel står til memo/notat.
Kan jeg på nogen måde tvinge import-proceduren til at håndtere den pågældende kolonne som tekst, og ikke som tal?
Jeg mener, at Access måler på det første felt og deraf bestemmer datatypen. Du kna importere til en temporær tabel og derefter sende data til den rifgtige tabel. Slet derefter den temporære tabel. alt dette kan gørerse via VBA.
Vil jeg ikke få "blanke" kommentar felter, selvom jeg henter til en temp tabel? Jeg ændrer jo ikke ved Access' opfattelse hvorvidt felterne i Excel er tal eller tekst?
Hvis kommentarfeltet i Excel er tomt, vil det jo også være tomt i Acces. Den temporære tabel vil importere som angivet i første række. Men i den rigtige tabel i access kan du angive hvilke felttyper der skal være, og overførslen hertil vil blive korrekt.
Tomme kommentarfelter er ikke nogen god ide, men uden at kende din db's opbygning er det svært at give noget brugbart forslag.
Kommentarfelterne i Excel er jo netop ikke tomme - de indeholder en masse 0'er og så nogle kommentarer i de felter der er skrevet noget tekst...
Desuden har jeg lige verificeret at Access ikke måler på første felt, men tager et gennemsnit af et, for mig ukendt, antal rækker i den pågældende kolonne...
F.eks. har jeg i et dokument:
Kommentar: 0 0 0 0 0 Jeg synes at det er....
Her importeres kommentaren korrekt - altså er 5 rækker med 0'er ikke nok til at "fremprovokere" fejlen..
Import the data into a TEMP table with field types as text for the Excel columns which contain numbers and text.
Once the data is inthe TEMP table you can make some functions which clean your data. You can then us ethese functions in a query which takes the data from your TEMP table and inserts the cleaned data into another tabel where the fields data types are as you want them.
ja det er jo samme løsning som mugs foreslår - men det ændrer jo stadig ikke på, at i den temp tabel vil jeg få samme import-fejl, da Access tror jeg importerer tal, men i nogle af felterne er der tekst.
Ville det hjælpe hvis du formaterede de kolonner som du bruger til kommentarer som 'Tekst' i stedet for 'Standard', som er default for en celle der ikke er formateret af brugeren?
@_on_ : det kan jeg desværre ikke fordi jeg henter mine data fra et bagvedliggende skjult worksheet, som henter sine data via formler fra et andet worksheet. Hvis jeg formaterer kolonnerne til "tekst" bliver formlerne ikke behandlet, og så står der jo formler i kommentar-felterne i stedet ;o)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.