Jag kom på att jag måste specificera tabell:
intTopicID = rsTopics("tblPosts.TopicID")
Men nu reagerar den på samma sätt på denna rad:
strUserName = rsTopics("UserName")
5 svar · 204 visningar · startad av Skarre
"SELECT * FROM (tblPosts INNER JOIN tblUsers ON tblUsers.UserID = tblPosts.UserID) INNER JOIN tblTopics ON tblTopics.TopicID = tblPosts.TopicID ORDER BY LastPost DESC"
Set rsTopics = objConn.Execute(strSQL)
Så långt fungerar det, men när jag sedan ska hämta TopicID enligt följande:
intTopicID = rsTopics("TopicID")
Så säger browsern:
Item cannot be found in the collection corresponding to the requested name or ordinal.
Jag kom på att jag måste specificera tabell:
intTopicID = rsTopics("tblPosts.TopicID")
Men nu reagerar den på samma sätt på denna rad:
strUserName = rsTopics("UserName")
Har du testat samma metod på den? Att sätta tabellnamnet menar jag...
Ja, jag testade även med "tblUsers.UserName", men det hjälpte inte. Är det kanske så att "UserName" inte hämtas från "tblUsers" med ovanstående SQL-sats? Men det vore konstigt eftersom den är inner joinad och jag har valt allt (*).
Det ser skumt ut. Att ange tabellenamnet brukar inte vara någon hjälp.
Vilka kolumner får du upp om du kör din fråga direkt i Access?
Om du skriver frågan så här
SELECT *
FROM tblPosts,tblUsers,tblTopics
where tblUsers.UserID = tblPosts.UserID
and tblTopics.TopicID = tblPosts.TopicID
ORDER BY LastPost DESC
blir det någon skillnad ?
red: litet förtydligande
Det fungerade! Jag ska nog inte ge mig in på INNER JOIN förrän jag behärskar det bättre. :)