Jag försöker göra en funktion där man ska kunna kryssa för vilka dokument ett visst företag ska ha tillgång till. Det finns ett antal rubriker och till varje rubrik ett antal dokument (se bifogad bild). I tabellen Comp_File spara jag de dokument företaget ska ha tillgång till genom att spara företags id:t (CompanyID) och dokument id:t (FileID). SQL-frågan nedan fungerar när man inte behöver ta hänsyn till vilket företag det är men så fort jag försöker lägga till ett "WHERE CompanyID= 2" så får jag det inte att fungera. Jag vill ju att alla rubriker och dokument ska synas med endast det som är sparade ska var ikryssade. Hur kan jag lösa detta?
SELECT fc.CategoryID, fc.Categoryname, f.FileID, f.Filename, Comp_File.FileID, Comp_File.CompanyID
FROM (FileCategories AS fc INNER JOIN Files AS f ON fc.CategoryID = f.CategoryID) LEFT JOIN Comp_File ON f.FileID = Comp_File.FileID
ORDER BY fc.Categoryname, f.Filename
<input type="checkbox" <%If RS("Comp_File.FileID") = RS("f.FileID") Then Response.Write("checked")%>>
Om det var så här du menade Jesper T så får jag endast med de dokument som är sparade på företaget, jag vill att alla dokument i en kategori ska synas.
SELECT fc.CategoryID, fc.Categoryname, f.FileID, f.Filename, Comp_File.FileID, Comp_File.CompanyID
FROM (FileCategories AS fc LEFT JOIN Files AS f ON fc.CategoryID = f.CategoryID) LEFT JOIN Comp_File ON f.FileID = Comp_File.FileID
WHERE Comp_File.CompanyID=1
ORDER BY fc.Categoryname, f.Filename
Jesper TMedlem sedan nov. 20017 144 inlägg Och om du tar bort: WHERE Comp_File.CompanyID=1
och lägger till: LEFT JOIN Comp_File ON f.FileID = Comp_File.FileID AND Comp_File.CompanyID=1
Vad händer då, då?
Får felmeddelande "Kopplingsuttrycket stöds inte" som hänvisar till "AND Comp_File.CompanyID=1". Tack för de snabba svaren!
SELECT fc.CategoryID, fc.Categoryname, f.FileID, f.Filename, Comp_File.FileID, Comp_File.CompanyID
FROM (FileCategories AS fc LEFT JOIN Files AS f ON fc.CategoryID = f.CategoryID) LEFT JOIN Comp_File ON f.FileID = Comp_File.FileID AND Comp_File.CompanyID=1
ORDER BY fc.Categoryname, f.Filename
LarsGMedlem sedan dec. 200012 464 inlägg ON (f.FileID = Comp_File.FileID
AND Comp_File.CompanyID=1)
Stort tack hjälpen uppskattas verkligen, nu fungerad den delen fint.
SELECT fc.CategoryID, fc.Categoryname, f.FileID, f.Filename, Comp_File.FileID, Comp_File.CompanyID
FROM (FileCategories AS fc INNER JOIN Files AS f ON fc.CategoryID = f.CategoryID) LEFT JOIN Comp_File ON (f.FileID = Comp_File.FileID AND Comp_File.CompanyID=1)
ORDER BY fc.Categoryname, f.Filename
Nu har jag en fråga till, jag spara även de kategorier som man kryssat för i tabellen Comp_Cat med företags id:t (CompanyID) och Kategori id:t (CatID). Jag skulle vilja att även dessa plockas ut i samma fråga på samma sätt som dokumenten som är sparade till ett företag nu gör. För som det är nu så om man kryssa för en hel kategori och klickar på spara så nästa gång man går in på det företaget så är alla dokument i kategorin ikryssade men inte själva kategorin (se bifogade bilden). Lite svårt att förklara... Hur fasen skulle den SQL-frågan se ut.