• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ASPでRecordCountが使用できない(2))

ASPでRecordCountが使用できない

このQ&Aのポイント
  • 前回、指示をされた内容ででテストを試みましたがやはり、結果は-1。Set db1=Server.CreateObject("ADODB.Connection") db1.Provider="Microsoft.Jet.OLEDB.4.0" db1.ConnectionString=Server.MapPath("../master.mdb") db1.Mode=1 db1.Open。Set rs1=Server.CreateObject("ADODB.Recordset") Rs1.Pagesize = 5。keyword = "ABC"。SQL1a = "SELECT top 5 * FROM dbFILE WHERE dbTABEL Like '%" & Keyword & "%'" Set Rs1=db1.Execute(SQL1a) Rs1.CursorType = adOpenKeySet intP = Rs1.RecordCount Response.Write "RecordCount = " & intp & "<BR>"
  • MSDNの説明でRecordCountなど参照しましたが理解不足でしょうか ?

質問者が選んだベストアンサー

  • ベストアンサー
  • hequil
  • ベストアンサー率65% (242/372)
回答No.1

AccessってadOpenKeySetをサポートしていなかったような・・・、って試したわけではないので保証できませんが(^^;; 直接コード書いているので動作保証できませんが 以下のようにすれば動くような気がします #エラー出たらすいません Set db1=Server.CreateObject("ADODB.Connection") db1.Provider="Microsoft.Jet.OLEDB.4.0" db1.ConnectionString=Server.MapPath("../master.mdb") db1.Mode=1 db1.Open keyword = "ABC" SQL1a = "SELECT top 5 * FROM dbFILE WHERE dbTABEL Like '%" & Keyword & "%'" Set rs1=Server.CreateObject("ADODB.Recordset") rs1.Open SQL1a, db1, adOpenStatic, adLockReadOnly, adCmdText rs1.Pagesize = 5 intP = Rs1.RecordCount Response.Write "RecordCount = " & intp & "<BR>" rs1.Close Set rs1=Nothing db1.Close Set db1=Nothing あと各定数(adOpenStaticなど)は別途宣言する必要があります。

ShiroNeko
質問者

お礼

hequil さん 何度も助けて頂き、本当に有難うごさます。 何とか以下のようなリストで思い通りの結果を得られました。  これが怪しくて adOpenStatic, adLockReadOnly うまく変換されていない ようです。 Set rs1=Server.CreateObject("ADODB.RecordSet") Set db1=Server.CreateObject("ADODB.Connection") db1.Provider="Microsoft.Jet.OLEDB.4.0" db1.ConnectionString=Server.MapPath("../master.mdb") db1.Mode=1 db1.Open ' SQL1a = "SELECT top 10 * FROM ma01pf WHERE ma01mesg Like '%" & aryKey & "%'" rs1.open SQL1a,db1,3,3