/ 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
SQL-problem 2
Fra : Jørn Andersen


Dato : 30-06-01 13:57

Hej,

Jeg har (i Access 97) en artikeldatabase som skal bruges til ASP.
Basen indeholder artikler fra 'Socialistisk Arbejderavis' med
forfatter, titel, avisens nr., sidetal m.v.
Til hver artikel er der tilnyttet et eller flere søgeord, som tildeles
ved opslag i en søgeordstabel.

Jeg har lavet en forespørgsel, som skal udtrække:
ArkivNr, Titel, Forfatter, avisens Nr, Side
- efter et indtastet søgeord.

**Det virker også i Access 97**, men jeg kan af en eller anden grund
ikke få det til at virke i ASP ????
Der er ingen fejlmeddelelser, den returner blot et tomt recordset.

SQL'en er som følger (ikke specielt overskuelig ...):

SELECT DISTINCT tblArtikler.ArkivNr, tblArtikler.Titel,
tblForf.Forfatter, tblArtikler.Nr, tblArtikler.Side
FROM tblSoegeord INNER JOIN (tblNumre INNER JOIN (tblForf INNER JOIN
((tblArtikler INNER JOIN tblForfKombi ON tblArtikler.ArkivNr =
tblForfKombi.ArkivNr) INNER JOIN tblSoegeordTilArtikel ON
tblArtikler.ArkivNr = tblSoegeordTilArtikel.[Arkiv nr]) ON
tblForf.ForfID = tblForfKombi.ForfID) ON tblNumre.Nr = tblArtikler.Nr)
ON tblSoegeord.SoegeordID = tblSoegeordTilArtikel.SoegeordID
WHERE (((tblArtikler.ArkivNr) In (SELECT DISTINCT tblArtikler.ArkivNr
FROM tblSoegeord INNER JOIN (tblArtikler INNER JOIN
tblSoegeordTilArtikel ON tblArtikler.ArkivNr =
tblSoegeordTilArtikel.[Arkiv nr]) ON tblSoegeord.SoegeordID =
tblSoegeordTilArtikel.SoegeordID
WHERE (((tblSoegeord.Soegeord) Like "* -- mit søgeord -- *"));)))
ORDER BY tblArtikler.ArkivNr;

(når det bruges til ASP, erstattes * af %)


Den "centrale" tabel er [tblArtikler], som har
mange-til-mange-relationer til hhv. [tblForf] og [tblSoegeord] samt en
n-1-relation til [tblNumre]

Where-sætningen indeholder en IN-sætning, som finder ArkivNr efter
søgeord - og jeg har testet, at denne IN-sætning faktisk returnerer et
resultat (nogle arkiv-numre).

Jeg har så prøvet at erstatte IN-sætningen med arkiv-numrene, og det
virker også. Men når jeg sætter det sammen, så virker det ikke

Nogen ideer?


Det skal lige siges, at selv om jeg godt kan se, at SQL er smart, så
har jeg tit svært ved at gennemskue hvad der går galt, når det ikke
virker. Så jeg laver som regel forespørgslerne i
Access-forspørgselsvinduet, hvorefter jeg kopierer/tilretter, når jeg
skal bruge det i ASP ...


X-post:
dk.edb.internet.webdesign.serverside.asp,dk.edb.database.ms-access
FUT: dk.edb.internet.webdesign.serverside.asp


Mvh. Jørn



--
Jørn Andersen
Brønshøj

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

Månedens bedste
Årets bedste
Sidste års bedste