20. juli 2005 - 15:57Der er
18 kommentarer og 2 løsninger
Skifter datatype, når der importeres fra Excel
Hej drenge og piger,
Jeg har et problem med at importere en Excel-fil til en Access-tabel. I Access er et bestem felt angivet som et tekstfelt. I Excel indeholder de første 45 poster værdien 0 hvorefter der kommer blandet tekst og tal. Hele kolonnen er formatteret som tekst.
Men pga de først 45 poster, går Access ind og vurderer at datatypen SKAL være tal. Så uanset om jeg importerer til en eksisterende tabel eller en ny tabel, så opstår der en fejl på alle de poster som indeholder bogstaver. I Access-tabellen bliver feltet bare tomt og samtidig oprettet in import-fejl-tabel som skriver at der er datatypekonverteringsfejl i posterne.
Hvis jeg skriver et bogstav i første post i den pågældende kolonne fungerer det hele fint. Men det kan man jo ikke forvente i praksis!
Access bedømmer felttypen ved den første post, hvorfor ved jeg ikke. Jeg har ofte været ude for det, og løser det ved først at importere til en temp tabel og derefter overføre til den endelige.
Denne er afprøvet på et Excelark der indeholder værdierne:
0 0 0 0a 0b 0c
Dim a As String a = InputBox(Prompt:="Indtast stien til Excel-arket.", Title:="Hvor ligger Excel-filen?", Default:="") DoCmd.SetWarnings False DoCmd.TransferSpreadsheet acImport, 0, "Importtest", a, True, "" MsgBox "Importen er udført."
Med Excel kan man da vist ikke angive import-spec. Det er kun med tekst-filer :o(
Mugs foreslog at man angiver at der IKKE er kolonneoverskrifter (selvom der faktisk er det). Derved vil første kolonne blive tekst og datatypen korrekt. Derefter skal man så bare slette denne kolonne.
Det er bare besværligt, da kolonnerne så skal hedde F1, F2, F3 osv. hvilket betyder at man skal lave det i flere tempi: 1) importer til temp-tabel 2) slet første post 3) overfør data til den rigtige tabel
dette er dog den model, jeg foreløbig bruger men det kunne være rart, hvis det kunne gøres mere smidigt. Kunne sikkert finde et eller andet på MSDN, men har ikke haft heldet (og tiden) til det :o(
Så hvis nogen kender et godt link eller kan komme på de rigtige søgeord....
Have I misunderstood something? When I import an Excel sheet using the wizard, and a single column contains 0 in the first 10 or so rows, then a number of roes containing text. Then I don’t have any problem importing!
Jeg kan slet ikke huske dette problem, men smid lige et par svar begge 2, så jeg kan komme af med mine point (er der nogen, der vil have omkring 120.000 point? ;)
Hi Thomas Long time since we heard from you, hopefully busy with your business? I've noticed that you have changed address and employed more consultants. So sounds like its going well, hope so.
not everyy day you give points away, so better take them while they are there.
Hopefully your not concidering stopping with eksperten?
Jo tak, det går rigtig godt - og der er masser at lave.
Så både tiden og den voksende utilfredshed med Eksperten har gjort at jeg foreløbig bare har valgt at opsige mit PRO-abonnement (jeg føler ikke, at det er værd at støtte Ekperten-projektet så længe der ikke gives noget igen fra IDG's side).
Jeg beholder mit medlemsskab, men vil ikke længere abonnere på nogle kategorier og vil næppe heller bruge tid på at besvare spørgsmål.
Men det hænder jo, at jeg selv får brug for at stille spørgsmål af og til, så med 120.000 point, så kan det vel række et stykke tid :o)
Og som du også selv sagde engang terry (da du selv holdt pause): det er dejligt ikke at skulle stresse over at alle de spørgsmål, man skal nå at besvare.
Så jeg er gået for at blive væk :)
Men af og til, vil jeg selvfølgelig kigge forbi. Og jeg har jo også jeres mailadresser, så jeg smider nok også en mail af og til :)
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.