16. december 2001 - 23:50Der er
4 kommentarer og 1 løsning
Hjælp søges
Jeg har 3 tabeller i en access db (varegrupper, undergrupper, produkter) som er relateret til hinanden. Jeg har lavet et site som først lister alle varegrupperne op. Ved klik på en varegruppe bliver de tilhørende undergrupper listet op og ved klik på en undergruppe bliver de tilhørende produkter listet op. Dette virker som det skal. I tabellen over produkterne har jeg et afkrydsningsfelt som hedder nyhed. Min ide med dette felt var at jeg på forsiden af sitet ville have et link, til en side som lister mine varegrupper op. Ved klik på en varegruppe skulle jeg så have vist de nyheder som tilhøre denne varegruppe. hvordan kan man lave dette når varegruppe-tabellen og produkt-tabellen ikke er direkte relateret til hinanden.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
bobbe >> du mangler enten * eller felt/-er i din SELECT :-)
Jeg går ud fra at dine tabeller er linket som dette
ID i Varegruppe = VaregruppeID i Undergruppe ID i Undergruppe = UndergruppeID i Produkter
I så fald kan du lave flg.
SELECT VareNummer, VareTekst, Pris FROM Produkter INNER JOIN UnderGruppe ON Produkter.UndergruppeID=Undergruppe.ID INNER JOIN Varegrupper ON Undergrupper.VaregruppeID=Varegruppe.ID WHERE Varegrupper.ID=XX
tmceu >> Jeg kan godt se ideen i det du skriver, nu kender jeg godt ikke så meget til inner join. Men jeg kan ikke få det til at virke. Jeg får følgende fejl. Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression \'Produkter.Undergruppe_id=Undergruppe.Id INNER JOIN Varegrupper ON Undergrupper.Varegruppe=Varegruppe.Id\'. /jens/filmsite/user/nyheder.asp, line 39
Min sql ser således ud: sql = \"SELECT Varenr, Varebeskrivelse, udsalgspris_incl_moms FROM Produkter INNER JOIN Undergruppe ON Produkter.Undergruppe_id=Undergruppe.Id INNER JOIN Varegrupper ON Undergrupper.Varegruppe=Varegruppe.Id WHERE Varegrupper.Id=\" & Request.Querystring(\"Id\") -----------------------------------------------
Dette er min side som lister aller varegrupperne op. <% Set myConn = Server.CreateObject(\"ADODB.Connection\") myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"../db/varer.mdb\")
strSQL = \"SELECT * FROM varegrupper\" set rs = myconn.execute(strSQL)
Do Id = rs(\"Id\") varegruppe = rs(\"varegruppenavn\")
Hvad hvis du prøver at køre SQL statement\'et direkte i Access ?
Jeg bruger den type joins jævnligt uden problemer. Du evt. også prøve at lave din forespørgsel grafisk i Access og så kopiere koden, så vil du dog få en masse \" i den SQL kode Access genererer.
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.