人が作ったシステムを古いサーバーから別のサーバーに移行する作業をしています。
test.mdbファイルからSQL文を使って必要な情報を表示するコードです。
問題のエラー文 ADODB.Recordset エラー '800a0cb3' 現在の Recordset はブックマークをサポートしてません。プロバイダーか、選択されたカーソルタイプの限界の可能性があります。 test.asp, 行 51
エラーの出た部分
rs.AbsolutePosition=cnt
ここからどのように修正したらいいか分からず、困っています。
記述以外に必要な情報があれば追記します。よろしくお願いします。
追記情報.
新サーバーにAccessは入っていません。
旧サーバーのAccessはMicrosoft(R) Access 97です。
以下このエラーになるまでに試したことを記載します。
ADODB.Connection エラー '800a0e7a' プロバイダーが見つかりません。正しくインストールされていない可能性があります。 test.asp, 行 49
エラーの出た部分
db.Open
対処したこと
db.Provider="Microsoft.Jet.OLEDB.4.0"
から
db.Provider="Microsoft.ACE.OLEDB.12.0"
に変更しました。
Microsoft Access Database Engine エラー '80040e37' 入力テーブルまたはクエリ '×××××' が見つかりませんでした。そのテーブルやクエリが存在していること、または名前が正しいことを確認してください。 test.asp, 行 50
エラーの出た部分
rs.Open "SELECT * FROM ××××× WHERE parent=0 ORDER BY sdat DESC",db,3,2
対処したこと
test.mdbファイルの保存形式を
Access97形式から
Access2003形式に保存して置き換えました。
以上を行い、問題のエラー文になりました。
追記.コード全体
ASP
1<%@Language="VBScript" %> 2<html> 3<head> 4</head> 5<body bgcolor="ffffff"> 6<BR><center> 7<BR> 8<P align="center"> 9<FONT size="+1" face="MS ゴシック" color="#666666"><B>「全体について」投稿ページ</B></FONT> 10</P> 11 12<table width="95%" cellspacing="10"> 13<% 14Sub disp(ByVal rss) 15 Do While Not rss.EOF 16 Response.Write "<tr><td bgcolor='#FFF7F7'>" 17 Response.Write "<div style='text-indent:" & rss("level")*20 & "px'>" 18 If rss("title")="削除済" Then 19 Response.Write rss("id") & ":<span style='color:#FF99AA'>削除済</span> " 20 Response.Write "(" & FormatDateTime(rss("sdat"),0) & ") " 21 Else 22 Response.Write " ┗ "&rss("id") & ":<a href='q&a_003.asp?id=" & rss("id") & "'>" 23 Response.Write rss("title") & "</a> " 24 Response.Write rss("nam") & "(" & FormatDateTime(rss("sdat"),0) & ") " 25 If rss("flg") < 4 then 26 Response.Write " <img src='イラスト.gif'> " 27 End If 28 End If 29 Response.Write "</div></td></tr>" 30 SQL_S="SELECT * FROM Q-表示 Where parent=" & rss("id") & " ORDER BY sdat ASC" 31 Set rs_s=db.Execute(SQL_S) 32 If rs_s.EOF=False Then Call disp(rs_s) 33 rss.MoveNext 34 Loop 35End Sub 36If Request.QueryString("cnt")="" Then 37 cnt=1 38 page=1 39Else 40 cnt=CInt(Request.QueryString("cnt")) 41 tmpCnt=cnt-15 42 page=CInt(Request.QueryString("page")) 43End If 44Set db=Server.CreateObject("ADODB.Connection") 45Set rs=Server.CreateObject("ADODB.Recordset") 46db.Provider="Microsoft.ACE.OLEDB.12.0" 47db.Mode=3 48db.ConnectionString=Server.MapPath("master.mdb") 49db.Open 50rs.Open "SELECT * FROM Q-表示 WHERE parent=0 ORDER BY sdat DESC",db,3,2 51rs.AbsolutePosition=cnt 'エラーの出た部分 52Do While Not rs.EOF 53 Response.Write "<tr><td bgcolor='#F5FFFF'>" 54 If rs("title")="削除済" Then 55 Response.Write rs("id") & ":<span style='color:#FF99AA'>削除済</span> " 56 Response.Write "(" & FormatDateTime(rs("sdat"),0) & ") " 57 Else 58 Response.Write rs("id") & ":<a href='q&a_003.asp?id=" & rs("id") & "'>" 59 Response.Write rs("title") & "</a> " 60 Response.Write rs("nam") & "(" & FormatDateTime(rs("sdat"),0) & ") " 61 If rs("flg") < 4 then 62 Response.Write " <img src='イラスト.gif'> " 63 End If 64 End If 65 Response.Write "</td></tr>" 66 SQL1="SELECT * FROM Q-表示 Where parent=" & rs("id") & " ORDER BY sdat ASC" 67 Set rs1=db.Execute(SQL1) 68 If rs1.EOF=False Then Call disp(rs1) 69 rs.MoveNext 70 cnt=cnt+1 71 If cnt=page*15+1 Then Exit Do 72Loop 73Response.Write "</table>" 74Response.Write "<div align='center'>" 75If page>1 Then 76 Response.Write "<a href='q&a_001.asp?cnt=" & tmpCnt & "&page=" & page-1 77 Response.Write "'><img src='next.gif' alt='前ページへ' border='0' /></a> " 78End If 79Response.Write " <a href='q&a_002.asp'><img src='note.gif' width='40' height='40'" 80Response.Write " alt='新規作成' border='0'/></a> " 81If Not rs.EOF Then 82 Response.Write " <a href='q&a_001.asp?cnt=" & cnt & "&page=" & page+1 83 Response.Write "'><img src='prev.gif' alt='次ページへ' border='0' /></a>" 84End If 85Response.Write "</div>" 86%> 87<BR> 88<BR> 89</body> 90</html> 91
回答2件
あなたの回答
tips
プレビュー