Avatar billede jespera Nybegynder
03. august 2006 - 11:41 Der er 14 kommentarer og
1 løsning

Mapning af en CSV men kan man bruge LOPSLAG i access

Hej Alle,

Jeg har nogle csv filer der er mere end 65000 linier lange og det kan excel ikke li :-(

Så nu har jeg importeret alle ind i access men jeg er stødt ind på et problem.

F.eks. i feltet Occupation. Kunden har 1 som Jura og vi har 5 som Jura. I excel kunne det let løses med lopslag:

HVIS(ER.FEJL(LOPSLAG(D2;$N$6:$O$111;2;FALSK));"";LOPSLAG(D2;$N$6:$O$111;2;FALSK))

Men hvordan kan man gøre noget tilsvarende i access altså så man mapper 1->5 osv....?

Håber i forstår og kan hjælpe.

På forhånd tak
Avatar billede Slettet bruger
03. august 2006 - 12:03 #1
Kør en opdateringsforespørgsel!~)
Avatar billede Slettet bruger
03. august 2006 - 12:05 #2
eks:

UPDATE NavnTabel SET NavnTabel.Occupation = "5"
WHERE (((NavnTabel.Occupation)="1"));
Avatar billede jespera Nybegynder
03. august 2006 - 12:23 #3
Ja men det gider man jo ikke gøre 30 gange og mer :-)

Findes der ikke en lettere løsning lidt ala excel
Avatar billede Slettet bruger
03. august 2006 - 13:19 #4
Nu er jeg her igen!~)

Laver du en ny import hver dag?
Avatar billede Slettet bruger
03. august 2006 - 13:22 #5
Du kan jo lave opdateringen i forbindelse med importfunktionen, hvis du har sådan en.. ellers kan du køre forespørgslen, når man åbner programmet. Set warnings til false og efterfølgende til true, så vil man ikke ligge mærke til opdateringen. Jeg tror ikke den tager særlig lang tid!~)
Avatar billede jespera Nybegynder
03. august 2006 - 13:28 #6
Nej heldigvis for det :-) det er ikke noget værrer end CSV editering...

Hmm kan man lave det mens man importerer, smart men hvordan? for hvis jeg kørte den update du først anbefalede ville den jo overskrive værdier når man kørte den igen anden gang...så det skal jo nærmest laves som en cursor som tager række for række og ændrer værdien...
Avatar billede Slettet bruger
03. august 2006 - 13:34 #7
Hvordan importerer du?~)
Avatar billede Slettet bruger
03. august 2006 - 13:38 #8
Forresten så ville den kun opdatere de nye, som har værdien 1. De "gamle" har jo nu værdien 5!~)
Avatar billede Slettet bruger
03. august 2006 - 13:41 #9
Du kunne også bare lave en knap i dit program med koden på, så når du vidste at der var importeret, så kunne du opdatere. Eller hvis du ikke vil have det på brugerfladen, så lav en makro, som kører funktionen... Der er mange muligheder, det er lidt op til dine rutiner, som de er nu, at finde det mest optimale for dig. Så lidt mere information, så finder vi nok på noget!~)

For jeg mener at det klart er at foretrække at få opdateret dataerne.. Hvis du nu f.eks. laver en ny forespørgsel eller andet, så skal du hele tiden have de her opslag med...
Avatar billede Slettet bruger
03. august 2006 - 13:50 #10
Er nød til at smutte, kigger forbi senere!~)
Avatar billede jespera Nybegynder
03. august 2006 - 13:52 #11
ok :-)

Normalt har jeg gjort det hele i Excel og så exporteret det ud til CSV for så herefter at importere det ind i MySQL. Så kom problemet med de 65.000 linier. Så tænkte jeg at jeg kunne bruge access men så så at den ikke havde lopslag.

Så jeg er lidt på bare bund så at sige..... :-)

Så alle forslag der gør det lettere er velkommen.
Avatar billede Slettet bruger
03. august 2006 - 21:43 #12
Referencetabel!~)

Du laver selvfølgelig bare en tabel med referencen i, eks.:

RefTabel:
AutoId
KundensIdNr
VoresIdNr
Avatar billede mugs Novice
03. august 2006 - 22:09 #13
Jeg har ikke nærlæst alle indlæg, men der er en funktion i Access der ligner LOPSLAG en del. DlookUp finder en værdi i en anden tabel, der ikke har relationer til den tabel hvori DLookUp er indsat. Funktionen kan benyttes både i SQL og i VBA.
Avatar billede Slettet bruger
16. august 2006 - 11:26 #14
Hvordan går det!~)
Avatar billede jespera Nybegynder
10. september 2006 - 19:21 #15
ja jeg droppede det lige igen :-) men tak for hjælpen, jeg lukker spg....
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