Del PeroMedlem sedan feb. 20003 785 inlägg Jag har problem med denna koden:
strSQL = "SELECT " & strDbTable & "Author.*, " & strDbTable & "Thread.*, " & strDbTable & "Group.Name "
strSQL = strSQL & "FROM " & strDbTable & "Author, " & strDbTable & "Group "
strSQL = strSQL & "INNER JOIN " & strDbTable & "Thread ON " & strDbTable & "Thread.Author_ID = " & strDbTable & "Author.Author_ID "
strSQL = strSQL & "WHERE " & strDbTable & "Author.Group_ID = " & strDbTable & "Group.Group_ID AND " & strDbTable & "Thread.IP_addr Like '" & strSearchCriteria & "' "
strSQL = strSQL & "ORDER BY " & strDbTable & "Author." & strSortBy & ";"
Jag får följande felmeddelande: 80040e14.
Användaren ska kunna söka på ett IP-adress(strSearchCriteria). IP-adresserna (IP_addr) lagras i tabellen tblThread där även inläggskaparens ID finns (Author_ID) finns lagrat. Jag vill koppla ihop användarens ID från tblAuthor med det i tblThread för att sedan presentera sölresultatet.
(Variabeln strDbTable har värdet "tbl".)
Hur får jag det att fungera? :)
LarsGMedlem sedan dec. 200012 464 inlägg Får du inte ut någon feltext? (Är inte 80040e14 en felkod från vb-script ?)
Vad får strSQL för värde?
Att använda strDbTable är bara förvirrande.
Del PeroMedlem sedan feb. 20003 785 inlägg Jag får följande feltext:
error '80040e14'
/forum/jk/admin/select_members.asp, line 245
SQL-koden ser ut såhär:
SELECT tblAuthor.*, tblThread.*, tblGroup.Name
FROM tblAuthor, tblGroup INNER JOIN tblThread
ON tblThread.Author_ID = tblAuthor.Author_ID
WHERE tblAuthor.Group_ID = tblGroup.Group_ID
AND tblThread.IP_addr = '192.168.0.1'
ORDER BY tblAuthor.Username ASC;
Jag ska kanske tillägga att jag kör MS SQL Server.
Del PeroMedlem sedan feb. 20003 785 inlägg Detta är vad MSDN säger om felmeddelandet:
DB_E_ERRORSINCOMMAND
80040E14
The command text contained one or more errors— typically a syntax error or unexpected keyword. The error string should contain the unexpected token.
LarsGMedlem sedan dec. 200012 464 inlägg Det är inget fel i den frågan (i alla fall inte enligt ANSI SQL).
Kanske SQL server har någon begränsning att man inte kan blanda i from-listan
SELECT tblAuthor.*, tblThread.*, tblGroup.Name
FROM tblAuthor inner join tblGroup
on tblAuthor.Group_ID = tblGroup.Group_ID
INNER JOIN tblThread
ON tblThread.Author_ID = tblAuthor.Author_ID
where tblThread.IP_addr = '192.168.0.1'
ORDER BY tblAuthor.Username ASC
Del PeroMedlem sedan feb. 20003 785 inlägg Tack! :D
Den koden fungerar utmärkt, men:
Nu skriver den ut en rad för varje gång den IP-adressen använts.
Jag tror inte att jag varit tydlig nog. :)
Syftet med den här funktionen är att användaren ska kunna söka på en IP-adress och det ska resultera i att de medlemmar som använt den IP-adressen skrivs ut en gång. Vad som jag vill få fram är alltså vilka användare som använt den IP-adressen och inte, som det är nu, de fall där IP-adressen använts.
Hur skriver jag om SQL-frågan? :)
LarsGMedlem sedan dec. 200012 464 inlägg Så, informationen from tblThread är irrelevant?
SELECT tblAuthor.*, tblGroup.Name
FROM tblAuthor inner join tblGroup
on tblAuthor.Group_ID = tblGroup.Group_ID
where tblAuthor.Author_ID in (
select tblThread.Author_ID
from tblThread
where tblThread.IP_addr = '192.168.0.1' )
ORDER BY tblAuthor.Username ASC