Avatar billede stieper Nybegynder
05. maj 2007 - 21:33 Der er 12 kommentarer

Ændre datatype ved import fra Excel

Hej,

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?

På forhånd tak.
Avatar billede mugs Novice
05. maj 2007 - 21:51 #1
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.
Avatar billede mugs Novice
05. maj 2007 - 21:53 #2
Slet den temporære tabel med kommandoen:

DoCmd.DeleteObject acTable, "DIN TABEL"
Avatar billede stieper Nybegynder
05. maj 2007 - 21:56 #3
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?
Avatar billede mugs Novice
05. maj 2007 - 22:29 #4
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.
Avatar billede stieper Nybegynder
05. maj 2007 - 22:42 #5
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..
Avatar billede terry Ekspert
06. maj 2007 - 09:57 #6
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.
Avatar billede stieper Nybegynder
06. maj 2007 - 10:10 #7
@ terry,

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.
Avatar billede terry Ekspert
06. maj 2007 - 10:23 #8
If the field in the Access table is text are you saying you still get an error?
Avatar billede stieper Nybegynder
06. maj 2007 - 10:29 #9
Ja - lige netop.

Jeg har både prøvet med "memo" og "text" - men jeg får fejlen i begge situationer...
Avatar billede mugs Novice
06. maj 2007 - 10:51 #10
Lav en tabel med tekstfelter men uden data og prøv at importere til denne tabel.
Avatar billede _on_ Nybegynder
07. maj 2007 - 22:07 #11
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?
Avatar billede stieper Nybegynder
07. maj 2007 - 22:20 #12
@_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)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester