努力將RS的輸出顯示爲水平表格。ASP/SQL Server - 如果語句不起作用
我已經基於以下SQL
SQL = "SELECT INTRAY.TEAM, Count(INTRAY.DOC_GUID) AS NumDocs " & _
"FROM INTRAY INNER JOIN DOCUMENT ON INTRAY.DOC_GUID = DOCUMENT.GUID " & _
"WHERE DOCUMENT.DOC_TYPE = 'PNEW' " & _
"AND DOCUMENT.DATE_RECEIVED > '"& Year(FromDate) &"-"& Month(FromDate) &"-"& Day(FromDate) &"' " & _
"GROUP BY INTRAY.TEAM, INTRAY.MAIL_STATUS, INTRAY.FILE_SYSTEM " & _
"HAVING INTRAY.MAIL_STATUS = 'NT' AND INTRAY.FILE_SYSTEM ='B' " & _
"ORDER BY INTRAY.TEAM ;"
我在一個正常的表中顯示的結果的RS,如下
<table border=1>
<tr>
<th>Team</th>
<th>Records</th>
</tr>
<%Do While Not RS.EOF %>
<tr>
<td><%=RS("TEAM")%></td>
<td><%=RS("NumDocs")%></td>
</tr>
<% RS.MoveNext
Loop%>
</table>
在vertial表中的resutls顯示正常。返回10條記錄,按隊列排序。 OPS1,OPS10,OPS2等
請注意,10歸因於alpha排序後,不知道如何修改此。
只有10個團隊可以在輸出中,但有時候並不是全部都會有結果,所以表格只能返回2個或3個團隊。
我想創建已硬編碼列標題對於每個可能的團隊(1 - 10)的表,然後將下一行是用於NumDocs
球隊1 10 2 3 4 5 6 7的輸出值8個9
結果8 4 7 17 4 87 20 19 1 7
所以,我然後關閉記錄,並重新打開它;
<%RS.Close%>
<br>
<%
RS.cursortype=adOpenKeyset
RS.Open SQL, IConn, 3, 3
RS.MoveFirst
%>
然後寫下表格;
<table border=1>
<th>Report</th>
<th>OPS1</th>
<th>OPS10</th>
<th>OPS2</th>
<th>OPS3</th>
<th>OPS4</th>
<th>OPS5</th>
<th>OPS6</th>
<th>OPS7</th>
<th>OPS8</th>
<th>OPS9</th>
<tr>
<td>Untouched New Records (total)</td>
<td>
<%If RS("Team") = "OPS1" Then %>
<% Response.Write(RS("NumDocs"))
Else Response.Write("Not OPS1")
RS.MoveNext
End If %>
</td>
<td>
<%If RS("Team") = "OPS10" Then %>
<% Response.Write(RS("NumDocs"))
Else Response.Write("Not OPS1")
RS.MoveNext
End If %>
</td>
<td>
<%If RS("Team") = "OPS2" Then %>
<% Response.Write(RS("NumDocs"))
Else Response.Write("Not OPS2")
RS.MoveNext
End If %>
</td>
<td>
<%If RS("Team") = "OPS3" Then %>
<% Response.Write(RS("NumDocs"))
Else Response.Write("Not OPS3")
RS.MoveNext
End If %>
</td>
<td>
<%If RS("Team") = "OPS4" Then %>
<% Response.Write(RS("NumDocs"))
Else Response.Write("Not OPS4")
RS.MoveNext
End If %>
</td>
<td>
<%If RS("Team") = "OPS5" Then %>
<% Response.Write(RS("NumDocs"))
Else Response.Write("Not OPS5")
RS.MoveNext
End If %>
</td>
<td>
<%If RS("Team") = "OPS6" Then %>
<% Response.Write(RS("NumDocs"))
Else Response.Write("Not OPS6")
RS.MoveNext
End If %>
</td>
<td>
<%If RS("Team") = "OPS7 " Then %>
<% Response.Write(RS("NumDocs"))
Else Response.Write("Not OPS7")
RS.MoveNext
End If %>
</td>
<td>
<%If RS("Team") = "OPS8" Then %>
<% Response.Write(RS("NumDocs"))
Else Response.Write("Not OPS8")
RS.MoveNext
End If %>
</td>
<td>
<%If RS("Team") = "OPS9" Then %>
<% Response.Write(RS("NumDocs"))
Else Response.Write("Not OPS9")
RS.MoveNext
End If %>
</td>
</tr>
</table>
它不會工作,我得到的是「不OPSx」輸出。
if測試是行不通的。
如果我修改每個單元
<% Response.Write(RS("NumDocs"))
RS.MoveNext %>
然後,它會寫的價值,但我需要測試團隊在RS該行中的值,如果我修改這
<% If RS("Team") = "OPS1" Then
Response.Write(RS("NumDocs"))
End If
RS.MoveNext %>
它不會工作,什麼都不寫。
任何想法,爲什麼mty IF不工作?當我寫入TEAM的值時,它們看起來沒問題,並且沒有尾隨空格。在SQL Server不會接受TRIM功能
謝謝,現在整理!另外,我在第二張桌子的錯誤位置有End If。再次感謝您 – 2012-07-10 16:18:35
@BenHamilton - 如果這個答案對您有幫助,將答案標記爲已接受以便其他用戶知道該問題已得到解答將是禮貌的。 – LittleBobbyTables 2012-07-10 19:06:07
完成!感謝那。 – 2012-07-16 11:41:38