set rsTitle = Server.CreateObject("ADODB.RecordSet")
rsTitle.CursorLocation = 3
sql = "SELECT t.*, (SELECT COUNT(*) FROM tblNote n WHERE t.TitleId = n.TitleId) AS TitleNoteCount, (SELECT MAX(n.NoteCreationDate) FROM tblNote n WHERE t.TitleId = n.TitleId) AS NoteDate FROM tblTitle t"
If lTitleId <> -1 Then
sql = sql & " WHERE t.TitleId = " & lTitleId
Else
sql = sql & " ORDER BY t.Titleid"
End If
rsTitle.Open sql, dbconn, 3, 1
rsTitle.ActiveConnection = Nothing
set dbconn = nothing
fel meddeladet:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
/test/Default.asp, line 42
set rsTitle = Server.CreateObject("ADODB.RecordSet")
rsTitle.CursorLocation = 3
sql = "SELECT t.*, (SELECT COUNT(*) FROM tblNote n WHERE t.TitleId = n.TitleId) AS TitleNoteCount, (SELECT MAX(n.NoteCreationDate) FROM tblNote n WHERE t.TitleId = n.TitleId) AS NoteDate FROM tblTitle t"
If lTitleId <> -1 Then
sql = sql & " WHERE t.TitleId = "& lTitleId
Else
sql = sql & " ORDER BY t.Titleid"
End If
rsTitle.Open sql, dbconn, 3, 1
rsTitle.ActiveConnection = Nothing
set dbconn = nothing
Något strular väl till sig då du har flera SELECT-satser. Jag har inga direkt lyckade lösningar med SELECT-blandningar och Access. Jag brukar istället försöka lösa liknande problem med lösa ut varje SELECT-sats och loopa igenom dessa inifrån och ut tills jag får fram det jag vill ha, men jag blir lite osäker på om detta skulle hjälpa dig i det här fallet :l
Det kanske är så att Access tappar bort tabellaliaset n? Testa använda dig av tblNote.TableId och tblNote.NoteCreationDate istället.
Access kan vara sååå irriterande ibland, så det kanske bara är så att det är Access som jäklas med dig ;)
128 ms totalt · 3 externa anrop · v20260731065814-full.b746b907