Avatar billede pongobear Nybegynder
10. juli 2008 - 13:14 Der er 9 kommentarer

Import af Excel Tabel til Access via VBA - Problem med feltnavne

Det er lykkedes mig at skrive kode til en knap, som henter indholdet af en Excel-panel til en Access tabel, men kun hvis tabellen er helt ny. Hvis tabellen allerede eksistere, med de ønskede feltnavne, så kommer fejlen:

"Feltet F2 findes ikke i destinationstabellen", også selvom Exceltabellens første linje matcher perfekt med felterne i Access tabellen.

Hvad gør jeg galt?

ITumpen.
Avatar billede mugs Novice
10. juli 2008 - 13:18 #1
Jeg plejer at importere til en temp tabel, og sende data til den endelige tabel. Derefter slette temp tabellen med kodenlinien:

docmd.droptable "temp"
Avatar billede jensen363 Forsker
10. juli 2008 - 13:20 #2
Det er antageligt fordi ud impotere hele regnearket, og ikke er afgrænset celle/kolonneområde fre regnearket som matcher din tabel. F2 refererer til den næste kolonne i regnearket
Avatar billede pongobear Nybegynder
10. juli 2008 - 14:10 #3
Nu har jeg defineret Range, men stadig ingen løsning.

Min første kolonne er Dato og de efterfølgende er ID'er for forretninger (tal). Disse bliver ikke registreret når jeg laver en import via VBA til en helt ny tabel. I stedet kommer F2, F3, F4 osv. Som sagt, kun Dato er okay!

ITumpen.
Avatar billede jensen363 Forsker
10. juli 2008 - 14:19 #4
Ahh ... du skal vælge at importere med 1. række som kolonneoverskrift
Avatar billede mugs Novice
10. juli 2008 - 14:19 #5
Kan du prøver at sende dit Excel ark til:

mugs snabelting mail.dk

så ser jeg på det.

Denne: I stedet kommer F2, F3, F4 osv kommer vel fordi du ikke har defineret at der skal medtsges kolonnenavne til Access.
Avatar billede pongobear Nybegynder
10. juli 2008 - 14:30 #6
Min kode ser således ud:

DoCmd.TransferSpreadsheet transfertype:=acImport, _
    spreadsheettype:=acspreadsheettypeexcel17, _
    tablename:="tblFaktiskOmsaetningDag_1", _
    filename:="G:\Omsaetning.xls", hasfieldnames:=-1, Range:="A1:AX367"

ITumpen
Avatar billede jensen363 Forsker
10. juli 2008 - 14:50 #7
Her du forsøgt med :

DoCmd.TransferSpreadsheet acImport, 8, "tblFaktiskOmsaetningDag_1", "G:\Omsaetning.xls", False, ""
Avatar billede mugs Novice
10. juli 2008 - 14:56 #8
Der opstår 2906 typekonverteringsfejl efter importen. Een af fejlene er i celle U19 der er tom. Dette vil i Access blive opfattet som en string. Når du kommer til celle U20 er der tal igen som opfattes sådan. Du må simpelthen sørge for, at der er tal i alle celler inden importen.
Avatar billede mugs Novice
10. juli 2008 - 15:06 #9
Hvis du f.eks definerer det importerede område til A1:Ad18 får du ingen fejl. Fordi der ikke er tomme celler i dette område.
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