Avatar billede x4all_dk Nybegynder
24. februar 2004 - 17:29 Der er 7 kommentarer og
1 løsning

Hent data fra Excel og ind i Access

Jeg har en access-database 'test.mdb' og et excel-regneark: test.xls, og jeg skal have importeret nogle data fra excel -> access.  Hjælp!

Test.xml - indeholdende flere ark: <ark1><ark2>.
På <ark2> er der 3 tabeller:
[ID][navn][tlf]
1  per    112
4  lars  113
6  bo    119

test.mdb - indeholder flere tabeller: <data1><data2><data3>
Under <data2> er der flg. struktur:
[andet_id][hus][ID][navn][by][tlf][post]
    1      ja  1        kbh      2400
    2      ja  2  emil  kbh 121  2400
    3      nej 4        kbh      2410 

Data skal så indsættes respektivt hvor den hører hjemme :-)

Hvordan kan jeg nemmest importerer det fra excel til access ?
- mit gæt er at lave en VBA knap som "afvikler 'sql-lignende' kode.

Kan nogen hjælpe.?  Gerne udpenslede eksempler, da jeg ikke er så stiv i excel, access, VBA.. tak!
Avatar billede mugs Novice
24. februar 2004 - 17:36 #1
Kan sende et eksempel. Blot læg din e-mail.
Avatar billede x4all_dk Nybegynder
24. februar 2004 - 17:39 #2
Hejsa mugs - tak for tilbudet, men jeg ser helst at alle for glæde af din viden!
så paste gerne eksemplet her :-)
Avatar billede mugs Novice
24. februar 2004 - 17:45 #3
Hvis du går gennem spørgsmålene i Access-kategorien vil du se, at det er normalt atr sende filer med eksempler. Alle der beder om en kopi får den. Jeg har så sent som for ca. 10 min siden sendt en fil på et spørgsmål, der er ca 1 år gammel. Så alle får del i forslaget. Men her er den:

'Slår Access systemmeddelelser fra. Husk altid at sdlå dem til igen, ellers forbliver de slået
'fra i hele applikationen
DoCmd.SetWarnings False
'Sletter alle data i importtabellen
'DoCmd.OpenQuery "Sletimport"
'Import-kommandoen. Her hedder tabellen "Import", du kan vælge et andet navn og hvis tabellen ikke
'eksisterer bliver den oprettet. Husk på, at de øvrige kommandoer reagerer på tabelnavnet "Import"
DoCmd.TransferSpreadsheet acImport, 0, "Import", "D:\VBA\XP\Mappe1", True, ""
'Meddelelsesbox der fortæller, at den ønskede funktion er udført
MsgBox "Importen er udført."
'Slår Access systemmeddelerser til
DoCmd.SetWarnings True

Du skal lave en reference til Excel i Acccess
Avatar billede mugs Novice
24. februar 2004 - 17:49 #4
Efter din import, kan du køre nogle opdateringsforespørgsler med kriterier, dr sender data fra importtabellen over i de respektive tabeller.

Eller køre en SQL som f.eks:

DoCmd.RunSQL "INSERT INTO Tabel1 SELECT Tabel2.felt2,felt1,dato FROM Tabel2 Where Tabel2.dato < #2003-01-01#"
Avatar billede x4all_dk Nybegynder
24. februar 2004 - 17:52 #5
1) Ok. sålænge folk ikke blive irriteret over ikke at "se" filen er det ok med mig.

2) kodestumpen : Was ist das ? Jeg kan ikke helt se hvad jeg skal med det kode.

3) referencer i Access. Så er Databasen vil kun 'komplet' hvis excel filerne 'eksisterer' ?  (det dur ikke)
Avatar billede mugs Novice
24. februar 2004 - 18:00 #6
1. Det gør de normalt ikke, for de kan jo blot bede om eksemplet selv.
2. "Kodestumpen" er din importfunktion fra Excel.
3. Det er heller ikke nødvendigt med en reference for at importere. Mit eksempel indeholder flere funktioner til dataudveksling mellem Access / Excel, så derfor her jeg en reference til Excel. Det er et must at Excel-filerne eksisterer, hvorfor importere hvis filen ikke eksisterer? Det kan evt. laves med en fejlhåndteringsrutine i stil med:

On Error Goto Errorhandler
Importkode
Errorhandler:
If Errno = et eller andet Then
MsgBox "Filen eksisterer ikke."
Exit Sub
End If
Avatar billede mugs Novice
02. marts 2004 - 20:53 #7
?
Avatar billede x4all_dk Nybegynder
08. maj 2004 - 11:11 #8
Jeg løste det på en nemmere måde. Excell <--> Access var ikke særlig godt.

Løsning. Jeg lavede en export i Excell til .txt fil.  Denne vil hentede jeg så ind
og så lavede alm. sql insert .. vupti.

Men takker for jeres svar.
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