Avatar billede martens Guru
27. december 2022 - 20:00 Der er 4 kommentarer og
1 løsning

Tilføje hvis ID ikke eksisterer // Kode virker ikke som den skal...

har nedenstående kode, jeg gerne vil have til at sende data fra én tabel i databasen (DB_001 ) over i en anden tabel i en anden database  ( DB_002 ).

Når jeg eksekverer koden virker den fint, hvis der IKKE er data i tabellen i DB_002

Er der data i tabellen bookings i DB_002 tilføjes en difference ikke, hvis der tilføjes et nyt UNIKT ID i tabellen DB_001

Tabellerne er 100%  Identiske !

Håber der en skarp hjerne, der kan fortælle, hvad der går galt...

kode :
--------------------------------------------------------------------------------------------
strsql = "INSERT INTO [C:\temp\DB_002.accdb].bookings SELECT * FROM bookings WHERE NOT EXISTS (SELECT * FROM [C:\temp\DB_002.accdb].bookings WHERE bookings.id = bookings.id)"
DoCmd.RunSQL strsql

-----SLUT -------------------------------

på forhånd tak ...

mvh martens
Avatar billede Gustav Ekspert
28. december 2022 - 07:58 #1
Den vil indsætte de poster, hvis id ikke findes i forvejen. Det kan ikke gå galt.
Hvis det ikke er det, den skal, må du fortælle, hvad den så/ellers skal gøre.
Avatar billede a3-seo.dk Ekspert
28. december 2022 - 08:04 #2
Har du prøvet med:

kode :
--------------------------------------------------------------------------------------------
strsql = "INSERT INTO [C:\temp\DB_001.accdb] .bookings SELECT * FROM bookings WHERE NOT EXISTS (SELECT * FROM [C:\temp\DB_002.accdb].bookings WHERE bookings.id = bookings.id)"
DoCmd.RunSQL strsql

-----SLUT -------------------------------
Avatar billede terry Ekspert
28. december 2022 - 14:23 #3
strsql = "INSERT INTO [C:\temp\DB_002.accdb].bookings SELECT * FROM bookings T1 WHERE NOT EXISTS (SELECT * FROM [C:\temp\DB_002.accdb].bookings WHERE T1.ID = bookings.ID)"
Avatar billede martens Guru
28. december 2022 - 18:50 #4
Hej Terry

Nu virker det lige som jeg gerne vil have det til at virke..

Jeg kan faktisk godt se at det er noget "snask" med  [ bookings.id = bookings.id ]
Det kommer jo aldrig til at virke som det skal...
Men ved at definere den ene tabel som T1 med unikt ID sammenlignet med ID i DB_002 - så spiller det !
Når jeg sletter poster i DB_002 og kører koden, så smider den de poster ind, jeg lige har slettet ..
Men kan godt se sig lidt blind på sådan en kode..

1000 tak Terry
Avatar billede terry Ekspert
28. december 2022 - 18:57 #5
Selv tak, og godt nyt År til alle
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