Avatar billede yuksel Nybegynder
19. august 2005 - 13:41 Der er 8 kommentarer og
1 løsning

Import fra Excel

hej til alle.

jeg har noget kode som skal hente data fra et bestemt sted i en
Excel ark til en tabel i en Access database.
koden bliver ekseveret fra databasen.
Koden virker også, men bare ikke som jeg ønsker det.
Problemmet er ved importering at feltnavne på excel arken skal være i lige med den på databasen.
når den importere så lede den efter det feltnavn som den hedder i Excel arken.
men jeg vil selv angive hvilke feltnavn den skal gemme i  ?


er der nogen der kan gennemskue det her ?




koden:

     
DoCmd.TransferSpreadsheet transfertype:=acImport, SpreadsheetType:=5, _
            tablename:="test", Filename:="a.xls", _
            Hasfieldnames:=True, Range:="Bilag!h7:h9"
End Sub
Avatar billede madschristensen Nybegynder
19. august 2005 - 14:01 #1
Jeg har løst det ved at analyserer kolonneoverskrifterne i excelarket (i vba-kode). Her efter danner den linie for linie en sql sætning som bliver eksekveret.
Avatar billede yuksel Nybegynder
19. august 2005 - 14:03 #2
hvordan , har du kode eks...
Avatar billede madschristensen Nybegynder
19. august 2005 - 14:10 #3
Ja- men det er langt (og kører i excel).. Men det er noget med, at du erklærer et object af type excel. Åbner det relevante ark. Læser i kolonneoverskrifterne og herefter læser i datacellerne.
Avatar billede mugs Novice
19. august 2005 - 23:10 #4
Du importerer samtlige data til en temp tabel i Access. Derefter med en til føjelsesforespørgsel (eller en SQL-sætning), smider du data over i den rigtige tabel i Access. På den måde er du uafhængig af feltnavne og sikrer, at dine Access data får den rigtige datatype.

Til sidste sleter du Temp-tabellen. Alt kan gøres i VBA. Er du interesseret kan jeg lave et eksempel, men først LØR aften grundet arbejde.
Avatar billede yuksel Nybegynder
05. september 2005 - 12:40 #5
har droppet den funktion da jeg ikke kunne få det til at fungere
Avatar billede ldanielsen Nybegynder
10. oktober 2005 - 11:50 #6
Det kan godt ske at du har droppet den, men du har udlovet 200 point til den der kunne hjælpe med det. Det ser ud til at både mugs og madschristensen kunne det, og de har oven i købet præsenteret dig for hvordan, uden at gå i detaljer.

Jeg synes ikke at det er helt rimeligt at du bare tager de points igen. Men det er vel forklaringen på at næsten halvdelen af de spørgsmål du stiller bliver besvaret af dig selv.
Avatar billede mugs Novice
10. oktober 2005 - 12:54 #7
Hej idanielsen > Jeg er helt enig i dine betragtninger. Jeg har længe haft kig på denne bruger, der har spildt masser af min tid.
Hvis brugeren havde "set sig" lidt omkring i eksperten's vidensbase, ville denne have fundet bl.a. dette spørgsmål:

http://www.eksperten.dk/spm/298914

Og da vi jo må formode, at yuksel kender reglerne, må det jo være klart, at jeg også ville sende eksemplet en gang til.

Men der er jo også en grund til at yuksel ligger på Access Top10 i de sidste 2-3- mdr.
Avatar billede ldanielsen Nybegynder
10. oktober 2005 - 13:33 #8
Så det skulle være en måde at komme på top10? Der kan man bare se :o)

Grunden til at jeg reagerer er dette:
http://exp.dk/spm/648280

Svaret på dette spørgsmål er af typen "det kan man desværre ikke", men når det følges af forklaringer på hvad man i stedet kan, og hvorfor man ikke kan det ønskede, så synes jeg det er god pli at dele i hvert fald nogle af pointene ud til dem der har lagt arbejde i det.

Nu er yuksel jo ikke så velhavende for tiden, men vi får jo alle 35 point om ugen, og måske skulle han lade være med at udlove 200 point pr. spørgsmål. Oftest er mindre nok. Jeg svarer gerne på et spørgsmål til 5 point hvis det er interresant og ikke for tidskrævende.

Jeg lyder måske pointfikseret, men det med pointene er sjovt, og er med til at animere os til at lægge noget arbejde i det. Barnligt måske, men det virker for mig.
Avatar billede mugs Novice
10. oktober 2005 - 13:55 #9
Idanielsen > Det er ikke at spørgsmål om point. Jeg har lidt over 80000 så det rækker nok til de spørgsmål jeg måtte oprette i fremtiden. Men det der gør eksperten unik i forhold til øvrige site's af samme type er netop pointsystemet.

Jeg sidder her med 2 * 3 dage undervisning i Access på den lokale handelssskole, og jeg synes da det er sjovt, at jeg ind imellem kan slå "profferne" for et par point. Desuden lærer jeg utrolig meget af at afprøve andres funktioner.

Tilbage til dette spørgsmål. Et svar der lyder "Det kan ikke lade sig gøre", er også et korrekt svar og bør udløse den fulde pointsum. Den bruger der svarer, har jo brugt sin viden og tid på at afgive et korrekt svar. Og jeg er helt ening i at yuksel burde sætte point ned. Mange af spørgsmålene er ganske simple. Man kan jo også søge i eksperten's vidensbase over besvarede spørgsmål, der ligger mange gode svar på brugernes problemer.
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