初心者です。
ASP上のVB SCRIPT記述(result setからcountを取得する方法)が分かりません。
Set rsRet= MyConn.Execute(strSql)
nCltCnt = 0
If Not rsRet Is Nothing Then
nCltCnt = rsRet.Count
End If
という記述をしたのですが、エラーになります。メッセージは以下の通りです。
●エラー タイプ
Microsoft VBScript 実行時エラー (0x800A01B6)
オブジェクトでサポートされていないプロパティまたはメソッドです。: 'Count'
xxx.asp, line 110
サポートされていないのであれば、result setからの件数の取得を教えて下さい。
どなたかアドバイス宜しく願います。
No.1
- 回答日時:
レコードセットオブジェクトが、どれを使っているか分かりませんが、レコードセットは、一度、MoveLastメソッドなどで、一番後ろのレコードまで動かさないと、Countプロパティでレコード数は取れません。
エラーメッセージが、それにあたるかどうかは分かりませんが、どのミドルウェアのレコードセットかを教えていただければ、もう少し詳しくコメントできると思います。
この回答への補足
回答ありがとうございます。下記のようなコーディングにしてみましたが、やっぱり上記と同様のエラーが発生しました。MoveLastは、サポートされていないというエラーが出ました。ミドルウェアって、compatible; MSIE 5.01; Windows NT) ということで宜しいんでしょうか?
rsRet.moveFirst
While Not rsRet.EOF
rsRet.moveNext
Wend
'rsRet.moveLast
rsRet.moveFirst
nCltCnt = 0
If Not rsRet Is Nothing Then
nCltCnt = rsRet.Count
End If
No.2
- 回答日時:
データベースとの接続はどのようにしていますか?
ADO?
DAO?
などなど。。。
それによって使えるメソッドも違ってきますよね?
回答ありがとうございます。
現在、ADOを使用してます。ただ将来的にはRDOに変更する可能性がありますので、できれば各々で使用可能なメソッドを教えて頂けると助かります。
No.3ベストアンサー
- 回答日時:
>現在、ADOを使用してます
ADOでは、Countプロパティはありません。RecordCountプロパティを使用します。
nCltCnt=rsRet.RecordCount
ですが、ADOのマニュアルを見ると、「前方スクロールカーソル」ではレコード数が取れないこと、「プロバイダやカーソルタイプ」によってはサポートしないことが明記されています。ですので、
Set rsRet=MyConn.Execute(strSql)
では、前方スクロールとなるため、取得できません。
ですので、レコードセットのOpenメソッドを使い、前方スクロールカーソルでないタイプを選ぶことと、OLE DBプロバイダがRecordCountプロパティをサポートするかどうかを調べてください。
ちなみに、私はDBがOracleだったので、oo4oを使い、GetRowsメソッドを使い、配列の大きさを見て、レコード数を数えました。
>ミドルウェアって、compatible; MSIE 5.01; Windows NT) ということで宜しいんでしょうか?
ミドルウェアとは、まさに、ADO、DAO、RDO、oo4oのことをさしています。
>将来的にはRDOに変更する
余計なことかもしれませんが、RDOは将来性がないと思います。ADOでもODBCが使えますので、ADOのままにされることをお勧めします。
>各々で使用可能なメソッド
ADOは、ADOがインストールしてあるコンピュータで「ADO*.chm」で検索してもらえば、ヘルプファイルが見つかると思います。
RDOは、ヘルプファイル自身が、情報が少ないので、MSDNをお勧めします。
DAOは、同じく「DAO*.chm」または「DAO*.hlp」でヘルプが見つかると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
コマンドプロンプト実行後に画...
-
JSPで<SELECT>の中にDBから持っ...
-
VB.netで、シリアル通信のタイ...
-
boolean型のフィールドとゲッタ...
-
mainメソッドのthrows節で設定...
-
Excel VBA でExcelを終了したい...
-
onClickで関数呼出し後に、結果...
-
エクセルVBAにおけるON TIMEメ...
-
配列のメソッド
-
Refreshメソッドの使い方
-
DataGridViewでセルクリックイ...
-
シンボルを解決できません。 ...
-
ListViewにて行追加
-
AdapterView<?> parent この部...
-
worksheets & rows メソッドは...
-
サーブレット DBにある生年月...
-
ポストバック時のDatasourceバ...
-
ASP.NET MVCのホームページ表...
-
ダブルコロンの役割
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
Labelコントロールに数字を代入...
-
final修飾子を使っているのに、...
-
エクセルVBAにおけるON TIMEメ...
-
コマンドプロンプト実行後に画...
-
mainメソッドのthrows節で設定...
-
DataGridViewでセルクリックイ...
-
javascriptからjavaを呼び出したい
-
VBPをダブルクリックするとたま...
-
onClickで関数呼出し後に、結果...
-
ExcelのxlDialogInsertPictureで。
-
Refreshメソッドの使い方
-
JSPで<SELECT>の中にDBから持っ...
-
【sendkeysメソッドが動かずに...
-
ウィンドウを最前面にできません
-
(String args[])というメッソ...
-
C# 演算 最大値 最小値 表現の仕方
-
Excel VBA シェイプの原型のサ...
-
VB.netで、シリアル通信のタイ...
-
boolean型のフィールドとゲッタ...
おすすめ情報