18. maj 2003 - 21:41Der er
18 kommentarer og 1 løsning
Søg i flere tabeller.
Hejsa NG.
Håber der er én der kan hjælpe mig.
Lidt info:
Tabel 'Trailer' indeholder titel, dato, og ext_link på en film.
Tabel 'TrailerDetail' indeholder detaljer omkring en film.
Jeg bruger denne her søgekode:
' Opbygger en dynamisk SQL streng strSQL = "SELECT ID, titel, detalje, dato FROM Trailer WHERE titel like '%" & strKeyword & "%' ORDER BY titel"
Den søger kun i 'Trailer', dvs. den kan kun søge på dato og titel. Jeg vil gerne man kunne udvide den søgning, så den kan søge både i 'Trailer' og 'TrailerDetail', på den måde kan besøgende søge både på titel og f.eks. skuespiller (som er i TrailerDetail)
Jeg prøvede med f.eks at den skulle søge i 'Omtale' i 'TrailerDetail'. Derfor skrev jeg TrailerDetail.Omtale og satte OR Omtale LIKE '%" & strKeyword & "%'
Men det virkede ikke..
Nogen der kan hjælpe mig. Og er det forsåeligt det jeg har skrevet?
lav en join mellem de to tabeller Det forudsættes at der er TrailerDetail er et felt der kæder tabellerne sammen. Jeg har her kaldt det trailerid
strSQL = "SELECT Trailer.ID as trailerid, Trailer.titel, Trailer.detalje, Trailer.dato TrailerDetail.* FROM Trailer inner join TrailerDetail on TrailerDetail.trailerid = Trailer.id WHERE Trailer.titel like '%" & strKeyword & "%' ORDER BY Trailer.titel"
hvis detalje indeholder trailer's id, så prøv det her.
strSQL = "SELECT Trailer.ID as trailerid, Trailer.titel, Trailer.detalje, Trailer.dato TrailerDetail.* FROM Trailer inner join TrailerDetail on TrailerDetail.detalje = Trailer.id WHERE Trailer.titel like '%" & strKeyword & "%' ORDER BY Trailer.titel"
strSQL = "SELECT Trailer.ID as trailerid, Trailer.titel, Trailer.detalje, Trailer.dato TrailerDetail.* FROM Trailer inner join TrailerDetail on TrailerDetail.id = Trailer.id WHERE Trailer.titel like '%" & strKeyword & "%' ORDER BY Trailer.titel"
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine does not recognize 'Trailer.dato TrailerDetail.*' as a valid field name or expression.
strSQL = "SELECT Trailer.ID as trailerid, Trailer.titel, Trailer.detalje, Trailer.dato, TrailerDetail.* FROM Trailer inner join TrailerDetail on TrailerDetail.id = Trailer.id WHERE Trailer.titel like '%" & strKeyword & "%' ORDER BY Trailer.titel"
strSQL = "SELECT Trailer.ID as trailerid, Trailer.titel, Trailer.detalje, Trailer.dato, TrailerDetail.omtale FROM Trailer inner join TrailerDetail on TrailerDetail.id = Trailer.id WHERE Trailer.titel like '%" & strKeyword & "%' ORDER BY Trailer.titel"
er du sikker på der er omtale til den film du søger? Hvis du er så prøv og tjek om de to id'er hvirkelig er ens så det er de rigtige film der bliver parret.
Den er hjemme... Jeg lavede trailerid om til ID. Satte
OR Omtale LIKE '%" & strKeyword & "%' ind i den sidste del.
Nu virker det.
Tak!
Synes godt om
Ny brugerNybegynder
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.