Avatar billede sth Novice
01. oktober 2002 - 22:55 Der er 8 kommentarer og
1 løsning

UPDATE med INNER JOIN

jeg har 2 tabeller med relation imellem, jeg ønsker at lave en opdate på alle felter i den ene tabel og selvf. på det felt hvor der er relationer til.

hvis man laver en forespørgsel ser den sådan ud fra access:

SELECT TblSamletRettigheder.ID, TblUsers.Navn, TblSamletRettigheder.User, TblSamletRettigheder.Kategori, TblRettigheder.Rettighed, TblSamletRettigheder.SkalVises
FROM TblUsers INNER JOIN (TblRettigheder INNER JOIN TblSamletRettigheder ON TblRettigheder.RettighedID = TblSamletRettigheder.Rettighed) ON TblUsers.LoginID = TblSamletRettigheder.User;


jeg ønster at lave en opdate på fælgende felter:
1. TblUsers.Navn
2. TblUsers.LoginID
3. TblSamletRettigheder.User

kan man det ? hvis ja så hvordan ?
Avatar billede medions Nybegynder
01. oktober 2002 - 22:57 #1
Dette er ikke et spm der hører til i ASP kategorien, nærmere i Access, jeg ser næppe ngoet ASP i det der ;o)

//>Rune
Avatar billede _just4fun_ Nybegynder
01. oktober 2002 - 23:26 #2
Hvilke poster vil du gerne opdatere ;-)...
Avatar billede roger Nybegynder
01. oktober 2002 - 23:44 #3
hvis du skal update, skal du nok bruge update fremfor select :)
Avatar billede roger Nybegynder
01. oktober 2002 - 23:50 #4
Ville umiddelbart mene det var noget i den stil her:

UPDATE TblUsers,TblSamletRettigheder SET TblUsers.Navn=XXX,TblUsers.LoginID=XXX,TblSamletRettigheder.User=XXX WHERE bla bl bla
Avatar billede sth Novice
02. oktober 2002 - 07:33 #5
roger >> ja ja men læs nu lige hvad jeg skrev, jeg skrev "hvis man laver en forespørgsel ser den sådan ud fra access", altså hvis det VAR en forespørgsel, ved at vise denne forespørgsel mente jeg at jeg kunne give jer et indtryk at tabellerne, hvilket åbenbart ikke lykkes for mig :)jeg er godt klar over at jeg skal bruge update, men når jeg gør det kan det ikke lade sig gøre da et af de felter jeg vil opdatere har en relation til en anden tabel. og hvad gør man så ?

jeg ønster at lave en opdate på fælgende felter:
1. TblUsers.Navn
2. TblUsers.LoginID
3. TblSamletRettigheder.User
Avatar billede roger Nybegynder
02. oktober 2002 - 17:31 #6
Ohh ok sorry :-)

Som jeg forstår det nu:
du vil ændre et felt som andre tabeller er afhængige af (foreign key)?
Dvs. du får ikke bare lov at ændre uden fejl vel ?
Avatar billede sth Novice
02. oktober 2002 - 20:43 #7
roger  >> du har helt ret :)

jeg kunne selvf. fjerne relationerne i access basen, men det må dog være muligt at lave det uden dette lille nummer.

Nu er det ikke mig selv der har lavet basen, jeg skal bare lave et par asp-programmer til at vedligeholde data.

Nå mewn jeg kan da lige sige at jeg har ændret lidt i relationerne, så den nu laver kaskadevis opdatering og så kan jeg ændre, det meste men dog ikke feltet TblUsers.LoginID , som er nøglen i denne tabel.

nogen med en løsning ?
Avatar billede roger Nybegynder
02. oktober 2002 - 20:47 #8
-Opret en ny række med den nye ændring
-Ændrer referencerne i de aktuelle rækker i den anden tabel
-Slet den gamle række...

Tror altså ikke du kommer uden om den procedure, men skal dog sige at jeg ikke har sort bælte i databaser :)
Avatar billede sth Novice
02. oktober 2002 - 23:32 #9
Ja du har nok ret, basen er oprettet røv forkert, jeg giver dem besked på at man ikke kan ændre, men at man skal slette og så oprette en ny !!
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
Kurser inden for grundlæggende programmering

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