webForumDet fria alternativet

relation i access

6 svar · 267 visningar · startad av da97enla

da97enlaMedlem sedan dec. 2001343 inlägg
#1

Hej

Jag försöker fräscha upp mitt minne när det gäller access. Jag har tre tabeller:

login: idnr*, name, passw

bild_inlog: idnr, bildnr

bild:bildnr*, bild

Nu vill jag skapa en ny tabell som ska heta meny, denna ska beroende på användare se olika ut.

ska jag göra två nya tabeller såhär?:

meny: menynr*, meny

meny_inlog: idnr, menynr

Är jag på rätt spår?

mvh
Enla

JaktJanneMedlem sedan feb. 20001 507 inlägg
#2

Flyttad från Kontorsprogram

Engine^Medlem sedan dec. 20003 887 inlägg
#3

Du kan vara på rätt spår - det beror ju faktiskt på vad du är på jakt efter :OO

Som jag tolkar det ser det ut som om du vill att menyalternativen ska bero på vilken användare det är som är inloggad.

da97enlaMedlem sedan dec. 2001343 inlägg
#4

--> Engine det är precis det jag vill, men hur går jag vidare? Jag har kopplat tabellerna till varandra, tabell login:idnr till tabell meny_inlog:idnr. Från tabellen meny_inlog:menynr till tabellen meny:menynr

I tabellen meny kanske jag ska ha ett fält med url också, menyn ska ju vara klickbar.

Hoppas du förstår vad jag menar!

Enla

Engine^Medlem sedan dec. 20003 887 inlägg
#5

För det menysystemet räcker det ju faktiskt med tre tabeller...

tblMenu
intMenuID
strMenuText
strMenuUrl

tblUsers
intUserID
...

tblUsermenu
intUserID
intMenuID

Jag har ett liknande system på min sida, men det har jag löst med två tabeller. Den styrande delen är att varje menypost i menytabellen har en kolumn intRequiredLevel och varje användare har en intUserLevel. När jag skapar menyerna hämtar jag menyalternativen med denna fråga (ungefär)

SELECT strMenuText, strMenuUrl FROM tblMenu WHERE intRequiredLevel <= [CurrentUsersLevel]

och då räcker det med två tabeller

tblMenu
intMenuID
intRequiredLevel
strMenuText
strMenuUrl
...

tblUsers
intUserLevel
...

da97enlaMedlem sedan dec. 2001343 inlägg
#6

Ok, men jag fick det att funka, fast det kanske inte är en bra lösning?

Så här ser min SQL sats ut:

SELECT * FROM [meny] INNER JOIN (login INNER JOIN meny_inlog ON login.idnr = meny_inlog.idnr) ON meny.menynr = meny_inlog.menynr WHERE login.idnr=" & Session("idnr")

Är din tblUser detsamma som min tabell login?

Engine^Medlem sedan dec. 20003 887 inlägg
#7

Ju färre tabeller du måste blanda in i en fråga ju snabbare kan frågan returnera ett resultat och om det är många användare är prestanda viktigt ;)

247 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
129 ms — hämta forumlista (db)
116 ms — hämta statistik (db)
124 ms — hämta tråd, inlägg och bilagor (db)