正しい結果を返すために、以下の strSQL 行を適切にコーディングする方法を考えていました。
SELECT * FROM Reviews WHERE Month=x AND Year=x
月と年をハードコーディングします。
アクセスデータベースを使用してaspページを実行しています。上記の文字列を (月と年をハードコーディングして) 試しましたが、うまくいきませんでした。
サーバー ログ ページがダウンしているため、そのように確認することはできません。ブラウザーが完全なエラー メッセージを表示するように設定されていても、表示されるのは 500 - 内部サーバー エラーだけです。
コード化した月と年に一致するレコードの Reviews テーブルを確認しました。2012 年 3 月のレコードがかなりあるので、いくつかの結果が表示されるはずです。
月と年のフィールドは、ユーザーが手動で入力したデータベース内の別個のフィールドです。
<%
Set adoCon = Server.CreateObject("ADODB.connection")' initialize connection
Set ors = Server.CreateObject("ADODB.RecordSet")' initialize record set
adoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("database.mdb")
Const COLUMN_COUNT = 1
strSQL = "SELECT * FROM Reviews WHERE Month= 'March' AND Year= '2012'"
coll_width=100/COLUMN_COUNT
column = 0 ' initialize counter
ors.open strSQL,adoCon,1,1 'open record set
Do While Not ors.EOF
If column = 0 Then Response.Write "<TR>"
%>
<td width="<%=coll_width%>%" valign="top" ><table width="100%" border="0">
<tr >
<td height="100%">
<div class="extra_container post reviews">
<figure> <img src="images/<% = oRs.Fields("Image") %>" width="200" alt=""> </figure>
<div>
<div class="date">
<% = oRs.Fields("ReleaseDate") %>
</div>
<div class="title">
<% = oRs.Fields("Artist") %> - <% = oRs.Fields("Album") %>
</div>
<% = oRs.Fields("Teaser") %>
<br>
<a href="cdreviewsmain.asp?pl=<% = oRs.Fields("ID") %>" class="button">more</a> </div>
</div>
</td>
</tr>
</table>
</td>
<% column = column + 1
If column = COLUMN_COUNT Then
Response.Write "</TR>" & vbNewLine
column = 0 ' start over!
End If
oRS.MoveNext
Loop %>
<% ors.Close 'Close the database connection
'SET ors = Nothing 'Clean up after yourself
%>
</table>
他にもいくつか問題がありますが、一度に 1 つずつ並べ替えます。
あなたが与えることができるかもしれないどんな助けにも感謝します,
イアン