/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Match to poster i DB
Fra : Jacob ..


Dato : 01-04-04 10:03

Jeg har en Access DB (Data.mdb) med en tabel (tblSvar) med 5
koloner:

- AntalDerMatcher
- Svar1 (true/false)
- Svaret1 (true/false)
- Svar2 (true/false)
- Svaret2 (true/false)

Hvordan kan jeg Matche Svar1 med Svaret1 (om værdien er den
samme), og returnere/update AntalDerMatcher med 1 og derefter
matche svar2/svaret2 og gøre det samme?

--
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

 
 
Jens Gyldenkærne Cla~ (01-04-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 01-04-04 10:28

Jacob .. skrev:

> Jeg har en Access DB (Data.mdb) med en tabel (tblSvar) med 5
> koloner:
>
> - AntalDerMatcher
> - Svar1 (true/false)
> - Svaret1 (true/false)
> - Svar2 (true/false)
> - Svaret2 (true/false)

Så vidt jeg kan se har du en uheldig datastruktur. Jeg gætter på at
Svar1/Svar2 indeholder brugernes svar på Spørgsmål1 og Spørgsmål2
(som vel ligger i en anden tabel?) og Svaret1/Svaret2 er det
korrekte svar på de to spørgsmål. Det er en uhensigtsmæssig
struktur, fordi du kommer til at registrere en fast værdi (det
korrekte svar på de to spørgsmål) for hvert svar.

Spørgsmål og svar hører sammen og bør derfor ligge i samme tabel.
Brugernes svar kan så ligge for sig selv.

(Det er også muligt at Svar/Svaret skal opfattes omvendt, men det
ændrer ikke ved pointen).



> Hvordan kan jeg Matche Svar1 med Svaret1 (om værdien er den
> samme), og returnere/update AntalDerMatcher med 1 og derefter
> matche svar2/svaret2 og gøre det samme?

Du kan prøve med følgende update:

UPDATE tblSvar
SET AntalDerMatcher = iif(Svar1 = Svaret1, 1, 0)
   + iif(Svar2 = Svaret2, 1, 0)
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jacob .. (01-04-2004)
Kommentar
Fra : Jacob ..


Dato : 01-04-04 11:58

> Så vidt jeg kan se har du en uheldig datastruktur. Jeg gætter på at
> Svar1/Svar2 indeholder brugernes svar på Spørgsmål1 og Spørgsmål2
> (som vel ligger i en anden tabel?) og Svaret1/Svaret2 er det
> korrekte svar på de to spørgsmål. Det er en uhensigtsmæssig
> struktur, fordi du kommer til at registrere en fast værdi (det
> korrekte svar på de to spørgsmål) for hvert svar.

Ja det er en lidt uheldig datastruktur!

> Du kan prøve med følgende update:
>
> UPDATE tblSvar
> SET AntalDerMatcher = iif(Svar1 = Svaret1, 1, 0)
>    + iif(Svar2 = Svaret2, 1, 0)

Det virker fint og efter hensigten (og hurtigt), så den holder jeg mig
til indtil videre.

Kan du forklare mig lidt om opbygningen af iif(Svar1 = Svaret1, 1, 0)
?


--
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

Jens Gyldenkærne Cla~ (01-04-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 01-04-04 12:22

Jacob .. skrev:

> Kan du forklare mig lidt om opbygningen af iif(Svar1 =
> Svaret1, 1, 0) ?

"iif" betyder "Immediate If" - dvs. "øjeblikkelig hvis". Den har
følgende syntaks:
   
    iif(boolesk udtryk, værdi hvis sand, værdi hvis falsk)

Boolesk udtryk er noget der kan evalueres som sandt eller falsk. I
dit tilfælde er det en sammenligning af to værdier. Hvis de to
værdier er ens er sammenligningen sand, ellers er den falsk.

Iif fungerer på den måde at hvis det booleske udtryk returnerer
sand, så returnerer funktionen parameter nr. 2 (værdi hvis sand),
og hvis det booleske udtryk er falskt, så vil returværdien være
parameter nr. 3 (værdi hvis falsk).

Her er et par eksempler:

Iif(True, 1, 2) => 1

Iif(False, 1, 2) => 2

Iif(2 = 3, "Ja", "Nej") => "Nej"

Iif(2 < 3, "Ja", "Nej") => "Ja"
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jacob .. (01-04-2004)
Kommentar
Fra : Jacob ..


Dato : 01-04-04 14:01


> Her er et par eksempler:
>
> Iif(True, 1, 2) => 1
>
> Iif(False, 1, 2) => 2
>
> Iif(2 = 3, "Ja", "Nej") => "Nej"
>
> Iif(2 < 3, "Ja", "Nej") => "Ja"

Tak for forklaringen - det hjælper atltid lidt på det, når man
forstår havd det egentlig er man skriver i sin kode. Tak...

--
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

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste