Avatar billede kovalt Nybegynder
21. juni 2003 - 17:52 Der er 12 kommentarer og
1 løsning

Hvis felt er tomt skal et andet indsættes i forespørgsel

Hej alle sammen

  Jeg er ved at lave en forspørgsel som skal danne gundlag for et forum. De attrbutter jeg skal ha ud er

navnet på den som har skrevet indlæget,
kategorien som indlæget er oprettet under,
emnet og endelig en dato der fortæller hvornår der sidst er oprettet en kommentar til indlæget (hvis der er oprettet noget) - og det er her problemerne starter.

Jeg har følgende SQL som bygger på følgende if-struktur

SELECT IIf([value] = 1, 'Værdien er 1','Værdien er ikke 1') AS kolonnenavn
FROM tabel;

Jeg skal ha det udarbejdet således at forespørgslen tjekker min kommentar-tabel for at se om der er en kommentar til det givne indlæg - er der det skal den printet dato og klokkeslæt for det indlæg, der senest er oprettet - ellers skal datoen for oprettelsen af selve indlæget blot printes..... jeg har forsøgt mig med følgende men unden succes:


SELECT spillere.navn,  debat.kategori, debat.emne,
IIf ([SELECT kommentar.dato FROM kommentar, debat WHERE kommentar.debatnummer = debat.nr] <> NULL, (SELECT MAX(dato FROM kommentar WHERE kommentar.debatnummer = debat.nr),'(SELECT dato FROM debat)') AS sidst,
(SELECT COUNT (kommentar.kommentarnr) FROM kommentar WHERE kommentar.debatnummer = debat.nr) AS antalKommentar

FROM debat, spillere

WHERE debat.medlemnr = spillere.nummer;

det skal måske lige siges at scriptet virker hvis jeg kører:

SELECT spillere.navn, debat.kategori, debat.emne,
(SELECT COUNT (kommentar.kommentarnr) FROM kommentar WHERE kommentar.debatnummer = debat.nr) AS antalKommentar

FROM debat, spillere

WHERE debat.medlemnr = spillere.nummer;
Avatar billede terry Ekspert
21. juni 2003 - 18:09 #1
if you can send the dB to eksperten@santhell.dk then I will take a look, its easier to see what you mean :o)
Avatar billede kovalt Nybegynder
21. juni 2003 - 18:18 #2
Missile away :-)
Avatar billede terry Ekspert
21. juni 2003 - 18:27 #3
Received :o)
Avatar billede terry Ekspert
21. juni 2003 - 18:44 #4
kovolt>I'm just going to have something to eat and will get back a little later. I think I understand what your after and am sure I can find a solution :o)
Avatar billede kovalt Nybegynder
21. juni 2003 - 19:10 #5
OK... I´m also going to enjoy my supper - and like you - be back later.
Avatar billede terry Ekspert
21. juni 2003 - 20:13 #6
Try this, I hope its what you want :o)

SELECT DISTINCT spillere.navn, debat.nr, debat.kategori, debat.emne, IIf(IsNull([K1]![Dato]),[debat]![dato],(SELECT max(dato) from kommentar WHERE debat.nr = kommentar.debatnummer)) AS Dato1
FROM spillere INNER JOIN (debat LEFT JOIN kommentar AS K1 ON debat.nr = K1.debatnummer) ON spillere.nummer = debat.medlemnr
ORDER BY debat.nr;
Avatar billede terry Ekspert
21. juni 2003 - 20:15 #7
I'll take another look later, now I'm off to use some time with my family :o)
Avatar billede kovalt Nybegynder
21. juni 2003 - 22:05 #8
thanks - that was exactly what I was looking for.

Could you please explain this syntax to me:

[debat]![dato]
Avatar billede terry Ekspert
21. juni 2003 - 22:17 #9
its just a way of telling Access that it is the table debat and field dato. This is necessary if there is more than one field with the same name in more than one table.
Avatar billede terry Ekspert
21. juni 2003 - 22:18 #10
Now I'm off for the evening, will take a look tomorrow :o)
Avatar billede terry Ekspert
22. juni 2003 - 14:20 #11
Hi kovolt>Have you got the answer you wanted here?
Avatar billede kovalt Nybegynder
22. juni 2003 - 18:42 #12
yes.... sorry for keeping you waiting...
Avatar billede terry Ekspert
22. juni 2003 - 19:03 #13
No problem, justwanted to make sure you were happy with the answer, and thanks :o)
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