Avatar billede lenton Nybegynder
19. april 2004 - 12:34 Der er 7 kommentarer og
2 løsninger

Flyt til tabel med tilføjelser

Jeg importerer indbetalinger fra en csv-fil over i tabellen Indbetalinger_temp og skal derfra flytte de indbetalinger som ikke allerede eksisterer i tabellen Indbetalinger derover i. Alle indbetalinger har nemlig fra bankens side fået et unikt ArkivrefNr.
Umiddelbart ville en Primary Key kunne undgå double entries, men da jeg gerne vil have muligheden for manuelt at skrive indbetalinger ind betalt på anden måde, er Primary Key på ArkivrefNr ikke en mulighed. Så mit query skulle gerne frasortere allerde eksisterende indbetalinger, men her er jeg på bar bund.

Dernæst skal jeg ud fra et IndbetalingsID tilknytte KundeID til alle indbetalinger. Alle kunder har KundeID og BetalingsID defineret i tabellen Kunde.
Jeg har forsøgt at få KundeID via DLookup da jeg ved at subselects ikke er for gode i append queries, men uden held.
Håber I forstår mit problem og er i stand til at hjælpe!
Avatar billede hekla Nybegynder
19. april 2004 - 12:52 #1
Kan den ikke laves  med <>[MinTabel]![ArkivRefNr] som kriterie for [Indbetalinger_temp]![ArkivRefNr] i din forespørgsel?
Avatar billede lenton Nybegynder
19. april 2004 - 13:08 #2
Ja det var også sådan jeg tænkte det skulle gøres, men Access spørger mig når jeg kører query'et om værdien for Indbetalinger!ArkivrefNr og det er det jeg ikke forstår :(
Avatar billede hekla Nybegynder
19. april 2004 - 13:13 #3
Husk at tage tabellen med i forespørgslen
Avatar billede lenton Nybegynder
19. april 2004 - 13:55 #4
Hov, ja det hjalp da på det :)
Men nu bliver der ikke overført en eneste indbetaling selvom query'et kører uden fejl. Jeg kan se at de to tabeller nu bliver joinet via ArkivrefNr på begge tabeller - og hvis jeg fjerner den join ryger alle indbetalinger i stedet over to gange!
Avatar billede terry Ekspert
19. april 2004 - 14:12 #5
you should be able to use an append query, something like

INSERT into Indbetalinger SELECT * FROM Indbetalinger_temp T where T.ArkivrefNr NOT IN (SELECT ArkivrefNr FROM Indbetalinger)

NOTE: NOT TESTED!
Avatar billede lenton Nybegynder
19. april 2004 - 14:43 #6
Tak skal du ha, terry! Jeg forstår ikke lige din syntaks med tabellen T, men jeg fik det i hvert fald til at virke med det subselect!
Så nu er der sørget for at jeg kun får unikke Indbetalinger ind, men så til den anden halvdel af problemet - at tildele hver indbetaling et KundeID bestemt ud fra BetalingsID. Det burde vel kunne klares i samme query?

Eller er jeg virkelig nødt til at lave dette i et separat query, i så fald inden jeg flytter indbetalingerne?
Avatar billede terry Ekspert
19. april 2004 - 14:58 #7
T is just an alias for (Indbetalinger_temp)

I'm not quite sure I understand your tables/relationships. If the temp table contains a BetalingsID then it should be possible to make a query where you JOIN your temp table and the Kunde table. Then use query in the append query instead of the TEMP table. This will allow you to append the KundeID!
Avatar billede lenton Nybegynder
19. april 2004 - 15:01 #8
OK, jeg fandt selv ud af at joine dem så jeg finder KundeID, så jeg tror bare jeg deler det op i to queries. Tak for hjælpen! :)
Avatar billede terry Ekspert
19. april 2004 - 15:06 #9
selv tak!

If you have joined them to find KundeID then you only need to run one query to append non existing records!
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