Avatar billede aniels21 Nybegynder
06. oktober 2004 - 11:45 Der er 11 kommentarer og
1 løsning

Slette alle data i DB vedrørende en bruger

Jeg har brug for at slette alle data i DB som vedrører en given bruger. Data er fordelt på mange tabeller, hvordan får jeg fat i disse?

DB er opbygget på følgende måde (bær over med mig, jeg er ret ny i DB):

Bruger.BrugerID
Tabel2.BrugerID
Tabel3.Tabel2ID
Tabel4.Tabel3ID
Tabel5.Tabel4ID

Forstås? Eller skal det uddybes?

Altså jeg vil slette alle tubbles som vedrører BrugerID.

How?
Avatar billede jensen363 Forsker
06. oktober 2004 - 11:49 #1
DELETE Bruger.*, Tabel1.*, Tabel2.*, Bruger.BrugerID
FROM (Bruger INNER JOIN Tabel1 ON Bruger.BrugerID = Tabel1.BrugerID) INNER JOIN Tabel2 ON Bruger.BrugerID = Tabel2.BrugerID
WHERE (((Bruger.BrugerID)=[Slet bruger:]));
Avatar billede aniels21 Nybegynder
06. oktober 2004 - 11:50 #2
Sig til hvis I skal have flere point, jeg ved ikke om det er svært eller et dumt spørgsmål. Samtidig skal I bare sige til hvis det er volapyk jeg har lagt op.
Avatar billede jensen363 Forsker
06. oktober 2004 - 11:50 #3
Udvides naturligvis til at medtage de øvrige tabeller c",)
Avatar billede jensen363 Forsker
06. oktober 2004 - 11:51 #4
Oprettes som sletteforespørgsel ! ... og det er ikke volapyk ... klar og forståelig opgaveformulering !!!
Avatar billede aniels21 Nybegynder
06. oktober 2004 - 12:01 #5
tak, den skal jeg lige nørkle lidt med
Avatar billede jensen363 Forsker
06. oktober 2004 - 12:03 #6
Velbekommen ... skulle det være en anden gang
Avatar billede aniels21 Nybegynder
06. oktober 2004 - 13:03 #7
Jeg skal lige bede om at få forklaret linjen

WHERE (((Bruger.BrugerID)=[Slet bruger:]));

Når jeg kører forespørgslen i Acces' "queryAnalyzer" så spørges efter en Bruger.ID parameterværdi. Der vil jeg angive 1 som brugerens ID, så kører jeg queryen, men intet sker i DB. Skal [sletBruger:] angives anderledes?
Avatar billede jensen363 Forsker
06. oktober 2004 - 13:07 #8
[Slet bruger:] prompter dig for at du skal angive hvilken brugerid du vil slette, og hvis brugerID=1 ( nummerisk id ) skal dette virke
Avatar billede aniels21 Nybegynder
06. oktober 2004 - 13:16 #9
Ok, tak. Du får pointene. Jeg er sikker på at det bare skal tilpasses nu. Jeg fik svaret på hvordan det gøres, nu er det så bare op til mig selv at få det til at virke :-) .
Avatar billede jensen363 Forsker
06. oktober 2004 - 13:26 #10
Det du skal sikre er at BrugerID hhv. TabelID overholder de samme egenskaber/relationsregler for at virke korrekt bl.a. skal de begge være enten nummerisk eller alfanummerisk, ikke hver sin egenskab
Avatar billede aniels21 Nybegynder
06. oktober 2004 - 13:34 #11
thx :-)
Avatar billede aniels21 Nybegynder
06. oktober 2004 - 13:36 #12
Alle ID hele vejen igennem er Autonummerering.

Jeg får en fejl om at "Der kan ikke slettes i de angivne tabeller." Skal der sættes en GRANT til at der må slettes i tabellen, eller er det ikke default i Access?

Der er adgangskode til DB, men jeg tester Querys i Access så det skulle vel ikke være et problem?
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