Avatar billede jakobdo Ekspert
21. november 2002 - 17:18 Der er 9 kommentarer og
1 løsning

Delete fra 2 tabeller!!

Hej, hvordan sletter jeg data fra 2 tabeller??

Jeg har en tabel, som hedder Elev! Denne tabel har Cpr som primær nøgle!

Denne elev kan tilmeldes forskellige fag!

Der kan jo være en mange til mange relation, så jeg har oprettet en ekstra tabel, som hedder tilmelding!

I tilmelding er primærnøglerne Cpr og Fagkode!

Hvis jeg prøver at slette en elev, som findes i tilmelding, kan jeg ikke få lov til dette!

Så jeg kunne jo kører 2 sql'er, først sletter jeg alle tilmeldinger hvor CPR = "Det CPR jeg vil slette"
og så slette den ELEV, som har "Det CPR jeg vil slette"

Men kan man ikke lave dette i en SQL??
Avatar billede mugs Novice
21. november 2002 - 17:32 #1
Du kan ikke slette en elev i "tilmelding", fordi der findes en post med den unikke nøgle i tabellen "Elev". Du skal først slette CPR i tabellen "Elev" og derefter i tabellen "Tilmelding".

Du kan også i din Join sætte et hak i feltet Tillad kaskadevis sletning.
Avatar billede mugs Novice
21. november 2002 - 17:34 #2
Avatar billede mugs Novice
21. november 2002 - 17:41 #3
Flg kan indsættes i en VBA procedüre, og sletter det Cpr du ser i formularen fra tabellen Tilmelding. Cpr skal være et tekstfelt.

Docmd.runsql "DELETE * FROM tilmelding WHERE Cpr = '" & Me.Cpr & "'"
Avatar billede jakobdo Ekspert
21. november 2002 - 17:44 #4
Hmm, det bliver jo lidt svært at give point, da jeg ikke fik mere viden end jeg havde før!

Og jeg kan nemlig ikke lave kaskadevis sletning, da databasen ikke må røres!!

Så jeg må jo bare bruge 2 SQL'er!!

Men takker for hjælpen! Eller infoen! :o)
Avatar billede mugs Novice
21. november 2002 - 17:48 #5
Du fik da den viden, at du ikke kan have mere end een Where i en Delete sætning!!!!
Avatar billede jakobdo Ekspert
21. november 2002 - 17:54 #6
Jeg takker jo også!!
Avatar billede mugs Novice
21. november 2002 - 17:58 #7
Ja- Men den viden du fik besvarer dit spørgsmål:

Nemlig at du ikke kan have 2 Where i een sætning, og det vat jo essensen i dit spøtgsmål.
Avatar billede jakobdo Ekspert
21. november 2002 - 18:04 #8
Det vidste jeg som sådan godt!
Jeg skulle bare høre om det var andre smarte måder!
Det var der ikke...
Avatar billede mugs Novice
21. november 2002 - 18:08 #9
Der er da en smart måde: Kaskadevis sletning! Det at databasen ikke må røres skulle så have været nævnt i spørgsmålet.

Så mit svar er stadig korrekt!!
Avatar billede jakobdo Ekspert
22. november 2002 - 16:46 #10
Ok, tør øjnene! Du skal nok få 60 point! Jeg laver et spørgsmål, som hedder 60 Point til MUGS, så svarer du og du får point!! Færdig!!
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