Avatar billede hubertus Seniormester
18. december 2013 - 17:20 Der er 8 kommentarer og
1 løsning

Flet regneark med Accesdatabase

I excel har jeg en kolonne med serienumre, og en kolonne med en egenskab ved serienumrene. I Access har jeg en kolonne med serienumre. Min opgave er at få egenskaben som står i excel overført til en ny kolonne i databasen. serienummert er så nøglen til placeringen. Hvordan løses det?
Avatar billede fdata Forsker
18. december 2013 - 19:18 #1
- Opret et link til dit Excel ark via Eksterne data.
- Herefter optræder Excel arket som en tabel i Access.
- Opret en forespørgsel, som knytter din Access-tabel og din Excel-tabel sammen via serienummeret.
- Ret forespørgslen til en opdateringsforspørgsel og indsæt opdateringsparametrene
  (sæt Access-tabellens vareegenskab lig Excel-tabellens).
Avatar billede hubertus Seniormester
19. december 2013 - 19:39 #2
Hej Fdata

Kan du uddybe dit svar lidt. Især forespørsels delen.

Kan opgaven løses ved hjælp af VBA?
Avatar billede fdata Forsker
19. december 2013 - 23:06 #3
- Opret et link til dit Excel ark via Eksterne data.
  Klik på "Eksterne data", vælg Excel, vælg Opret kæde og udpeg filen og arket.

- Herefter optræder Excel arket som en tabel i Access.

- Opret en forespørgsel, som knytter din Access-tabel og din Excel-tabel sammen via serienummeret.
  Vælg Opret/Forespørgselsdesign. Dobbeltklik på de to tabeller, så vises de i forespørgselsbilledet. Klik Luk.
  Træk nu med musen fra serienummeret i den ene tabel over til serienummeret i den anden tabel. Access viser en streg (en relation mellem de to tabeller).

- Ret forespørgslen til en opdateringsforspørgsel og indsæt opdateringsparametrene
  (sæt Access-tabellens vareegenskab lig Excel-tabellens).
  Vælg Design/Opdater. Herved ændres forespørgselstypen.
Træk feltet Vareegenskab fra Access-tabellen ned i forespørgselsgitteret. I linjen "Opdater til" skriver du [Excelarknavnet].[Vareegenskab] (altså tabel- og feltnavnet på det felt, som du vil opdatere vareegenskaben  til)

(ret selv tabel- og feltnavne så de passer med din base)
Avatar billede fdata Forsker
19. december 2013 - 23:11 #4
... og... ja, opgaven kan løses med VBA; men det vil være mere bøvlet. Du kan, når du har forespørgslen på plads, vælge Vis/SQL. Her ser du forespørgslen på SQL form. Du kan sagtens udføre sådan en SQL sætning via VBA:

  DoCmd.SetWarnings False  'Kør uden brugerindblanding
  DoCmd.RunSQL "UPDATE ..."
  DoCmd.SetWarnings True
Avatar billede hubertus Seniormester
21. december 2013 - 08:37 #5
hej

Jeg har helt styr på første del, men kan ikke få ændret forespørgslen til en opdateringsforespørgsel. Kan du hjælpe her?

nb. jeg bruger access 2010.
Avatar billede fdata Forsker
21. december 2013 - 19:47 #6
Yep. Når du har oprettet din forespørgsel, klikker du på "Design" i toppen af skærmen. Så kan du vælge forskellige forespørgselstyper på båndet.
Klik på "Opdater". Så ser du at Access smider en ny linje ind nede i forespørgselsgitteret, "Opdater til". Det er i denne, du skal skrive den værdi, som du vil opdatere til. OK?
Herfra burde du kunne følge opskriften i #3
Avatar billede hubertus Seniormester
22. december 2013 - 08:09 #7
yes - det virker fint - Tak for det.

Har du et Vba eksempel der kan det samme?  - er vandt til at programmere i VBA i Excel men ikke i en integration til Access.
Avatar billede hubertus Seniormester
22. december 2013 - 08:16 #8
Hej Fdata glemte lige at skrive, at du skulle lægge et svar - den oprindelig opgave er jo løst. :0))
Avatar billede fdata Forsker
22. december 2013 - 19:40 #9
Et VBA eksempel? Jamen det har du jo allerede fået i #4.
Hvis du for eksempel vil køre opdateringen ved et tryk på en knap, er det helt enkelt:
- Opret en knap på en formular.
- I knappens VedKlik hændelse lægger du koden fra #4, hvor SQL udtrykket er det, som du kan se hvis du vælger Vis/SQL i din forespørgsel.
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