|
| Mange data i et Access felt Fra : Zodiax |
Dato : 25-01-04 21:11 |
|
Jeg har en side, hvor brugeren skal kunne indtaste et antal sangtitler i
nogle inputfelter. Jeg havde tænkt mig et inputfelt pr. sang. Derefter vil
jeg lave en variabel der indeholder alle disse titler adskilt med komma, og
lægge denne i et notatfelt i min access db. Når jeg så skal have disse
sangtitler ud af db'en, havde jeg tænkt mig at lave et array.
Jeg har hørt at det er noget skidt at have mange ting liggende i et felt
adskilt af komma, men jeg aner ikke hvordan jeg ellers skal lave det. Så mit
spørgsmål er: Hvordan gør jeg det bedst?
--
Zodiax
| |
Jesper Stocholm (25-01-2004)
| Kommentar Fra : Jesper Stocholm |
Dato : 25-01-04 21:22 |
|
Zodiax wrote :
> Jeg har en side, hvor brugeren skal kunne indtaste et antal sangtitler
> i nogle inputfelter. Jeg havde tænkt mig et inputfelt pr. sang.
> Derefter vil jeg lave en variabel der indeholder alle disse titler
> adskilt med komma,
Husk at overveje, hvad du vil gøre, hvis en bruger indtaster et komme i
en sangtitel.
> og lægge denne i et notatfelt i min access db. Når
> jeg så skal have disse sangtitler ud af db'en, havde jeg tænkt mig at
> lave et array.
>
> Jeg har hørt at det er noget skidt at have mange ting liggende i et
> felt adskilt af komma,
Det er korrekt. I det lange løb vinder du ved at redesigne din database.
> men jeg aner ikke hvordan jeg ellers skal lave
> det. Så mit spørgsmål er: Hvordan gør jeg det bedst?
Du skal designe din database-struktur, så den er nem at bruge samt ikke
indeholder informationer flere gange.
Du bør konsultere dk.edb.database for de nærmere detaljer om dette. Når
du har den på plads, og har nogle ASP-spørgsmål, så kan du jo vende
tilbage til denne gruppe.
Jeg sætter FUT til dk.edb.database, dvs svar på dette indlæg lander i den
gruppe og kan ikke ses her.
FUT: dk.edb.database
--
Jesper Stocholm
Gør Christiania en tjeneste - køb din hash et andet sted.
| |
Claus Marcussen (26-01-2004)
| Kommentar Fra : Claus Marcussen |
Dato : 26-01-04 00:40 |
|
> Jeg har hørt at det er noget skidt at have mange ting liggende i et felt
> adskilt af komma, men jeg aner ikke hvordan jeg ellers skal lave det. Så mit
> spørgsmål er: Hvordan gør jeg det bedst?
Hej.
Meget skidt - du skal derimod have 2 tabeller i din database. Exmp.
Tabel 1 (Forslagstiller) indeholder felterne ForslagID (unique), ForslagNavn
Tabel 2 (Titler) indeholder felternr TitelID (unique), ForslagID, TitelSang.
Altså en forbindelse, hvor en forekomst i tabel 1 kan stoppe 1 eller flere
forekomster i tabel 2. Det hedder en 1-n relation.
Du kan nu altid selecte dig frem til en Forslagstillers titler med noget a la
Select *
from forslagstiller,
titler
where forslagstiller.ForslagID = titler.ForslagID
Håber det skabte lidt lys.
Mvh. Claus Marcussen
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jørn Andersen (26-01-2004)
| Kommentar Fra : Jørn Andersen |
Dato : 26-01-04 00:49 |
|
On Sun, 25 Jan 2004 21:10:44 +0100, "Zodiax"
<zodiax@jesspar*REMOVE*.dk> wrote:
>Jeg har en side, hvor brugeren skal kunne indtaste et antal sangtitler i
>nogle inputfelter. Jeg havde tænkt mig et inputfelt pr. sang. Derefter vil
>jeg lave en variabel der indeholder alle disse titler adskilt med komma, og
>lægge denne i et notatfelt i min access db. Når jeg så skal have disse
>sangtitler ud af db'en, havde jeg tænkt mig at lave et array.
>
>Jeg har hørt at det er noget skidt at have mange ting liggende i et felt
>adskilt af komma, men jeg aner ikke hvordan jeg ellers skal lave det. Så mit
>spørgsmål er: Hvordan gør jeg det bedst?
Hvis jeg forstår dig ret, så er dit problem, at du vil gemme mere end
én sangtitel pr. bruger. Korrekt?
Hvis det er rigtigt, skal du have fat i det der i Access hedder en
mange-til-mange relation.
Det betsår kort fortalt i, at du på den ne side har din bruger-tabel
(med en primær-nøgle, fx brugerId).
På den anden side har du en sangtitel-tabel (med en primær-nøgle, fx
sangtitelId).
Disse to tabeller bringer du så sammen ved hjælp af en tredje tabel,
en såkaldt samletabel, som indeholder de to andre tabellers
primærnøgler som fremmednøgle (samt evt. andre felter).
Du vil så for hver bruger få flere rækker i din samletabel, men med
hver sin sangtitel. Og samme sangtitel kan gå igen hos flere brugere -
fx:
tblBrugerSangtitel
brugerID sangtitelId
1 17
1 10
2 1
2 10
3 1
3 12
3 17
- osv.
Jeg ved ikke, om det er noget i den retning du leder efter?
I Access 97 var det rimeligt godt forklaret - hjælpen i Access XP har
jeg endnu ikke lært at forlige mig med ...
Hvis der ikke er behov for genbrug af sangtitler, så bare put dem i en
separat tabel, der så skal indeholde brugerId som fremmednøgle.
Good luck!
--
Jørn Andersen,
Brønshøj
| |
Claus Marcussen (26-01-2004)
| Kommentar Fra : Claus Marcussen |
Dato : 26-01-04 01:13 |
|
> Hvis der ikke er behov for genbrug af sangtitler, så bare put dem i en
> separat tabel, der så skal indeholde brugerId som fremmednøgle.
I så fald - se mit tidligere (30 minutter gamle) eksempel
Mvh Claus Marcussen
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
|
|