Gå til innhold

Importere data til Access?


Anbefalte innlegg

Hei!

 

Noen som har noen løsning på følgende?:

 

Har en tabell i access på følgende (forenklet) oppsett:

 

"Nøkkelfelt (autonr.)"__________ "Nr. felt 2"___________"+ Diverse andre beskrivende felter..."

(Dette vil da være det som nedenfor vil være referert til som et produkt. Et produkt er altså en verdi for disse tre attributtene).

 

Innimellom må denne tabellen oppdateres. Denne er generert i en csv-fil og så konvertert til Excelformat. Så skal denne excelfilen importeres til tabellen i Access. I dette excelarket er da verdiene for "nr. felt 2" og "div. beksrivende felter" med. Nøkkelfeltet genereres imidlertid i access.

 

Problemet er hvordan få importert denne til Access uten at alle produktene bare legges til på nytt... Det gir jo ingen mening. Jeg ønsker at:

 

1. Produkter som ikke eksisterer fra før skal få nytt autonr.

2. Eksisterende produkter skal få opdatert informasjonen, men beholde autonr., slik at annen informasjon manuelt inntastet om produktet opprettholdes. Dette er viktig fordi det er en ganske stor jobb å legge til informasjon som er manuelt inntastet og derfor MÅ denne informasjonen opprettholdes og kan IKKE legges til på nytt for hver oppdatering.

 

Om produktet eksisterer/ ikke eksiterer avgjøres av om "Nr. felt 2" eksisterer i tabellen fra før...

 

Håper noen har noen tips :)

 

- Amund

Lenke til kommentar
Videoannonse
Annonse

Denne er da ganske enkel... Jeg har (heldigvis) veldig begrenset erfaring med access, men jeg ville importert filen inn i en ny tabell og så merget denne sammen med den eksisterende tabellen. Vil kun fungere om felt2 er unik.

 

insert into eksisterende_tabell

select * from import_tabell where felt2 not in (select a.felt2 from eksisterende_tabell a, import_tabell b where a.felt2=b.felt2)

 

Syntax for access får du finne selv. Det spørringen gjør er å sette inn alle rader fra import_tabellen der felt2 ikke er lik i eksisterende og ny tabell.

 

Magnus

Lenke til kommentar

Jeg klarer så mye som dette:

 

1. Legge til nye produkter via importfunksjonen.

 

2. Oppdatere informasjon om produktene som både er i eksisterende tabell og i oppdateringstabellen. Dette gjøres via spørringsfunksjonen. Problemet er at da forsvinner all informasjon for produktene som ikke er med i oppdateringstabellen. Dvs. at produktinformasjon som er i tabellen fra før forsvinner hvis produktet ikke er med i oppdateringstabllen også.

 

 

Som tilleggsinformasjon kan det nevnes at jeg også klarer å gjennomføre oppdatering etter at en oppdatering allerede er gjennomført. Så det er ikke noe problem.

 

 

Jeg har vel ikke direkte tro på at den problemstillingen min her skal gjøre at noen kommer opp med en løsning. Men jeg håper at det jeg her beskriver gjør at noen får en følelse av hva jeg prøver på og kanskje kommer på noe de dere selv har gjort en gang....

 

Som håper innstendig at jeg klarer å få løst det siste problemet her, når jeg først er så nærme.. :)

 

- Amund

Endret av amundsf
Lenke til kommentar
2. Oppdatere informasjon om produktene som både er i eksisterende tabell og i oppdateringstabellen. Dette gjøres via spørringsfunksjonen. Problemet er at da forsvinner all informasjon for produktene som ikke er med i oppdateringstabellen. Dvs. at produktinformasjon som er i tabellen fra før forsvinner hvis produktet ikke er med i oppdateringstabllen også.

8196475[/snapback]

Har du prøvd å bruke metoden jeg anbefalte i posten over? Den skal ikke slette data som ligger i originaltabellen og ikke i importtabellen.

 

Ellers vil jeg anbefale deg å holde deg langt unna verktøy i access som gjør ting du ikke har kontroll over, bruk sql!

 

Lykke til

Lenke til kommentar

Hvis jeg bare hadde hatt peiling på hva kodene for det du foreslår er i access så... Access er jo ikke veldig flinke til å opplyse om sånt. Og ikke bruker de koder som finnes i andre programmer engang (selv i forhold til excel har de klart å lage andre koder...).

 

Så da sliter jeg litt....

 

 

Men tror jeg har funnet en løsning. Ved å først importere oppdateringstabellen inn i eksisterende tabell. Også importerer jeg eksisterende tabell inn i oppdateringstabellen. Da eksisterer eksakt de samme radene, slik at "flettingen" i spørringen vil fungere.

 

Litt tungvindt, men jeg tror i alle fall at det vil fungere :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...