- ベストアンサー
レコード数
設定した条件に該当する「レコード数を割り出す方法・関数」を教えてください。よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ASU = rs.Fields(0).Value とかでどうでしょうか。
その他の回答 (3)
- taknt
- ベストアンサー率19% (1556/7783)
>strSQL = "SELECT COUNT (*) AS ASU From db1" >rs.Open strSQL, cn >ASU = rs.Fields(0).Value この場合、 ASU というのは rs.ASU だったかな? Fileds(0)は、SELECTで 指定した項目の1番目 ということです。 なので Fileds(0)を使うのだったら、 strSQL = "SELECT COUNT (*) From db1" でもいいと思いますよ。
補足
ありがとうございます。 なるほど、カウントに使う項目は言ってしまうと何でも 良いということなんですね。 ありがとうございます、すごく理解できました。^^
> 例えば、テキストボックスにそのCOUNT数を入れたい場合とかなんですど。。。 でしたらCountに対してフィールドを与えてあげます。 テーブルに存在するフィールドじゃなくて、SELECTの結果値を保持するための仮想フィールドですので適当な名前で構いません。 以下ですと「hoge」という実在しないフィールド名を使ってます。 SELECT Count(*) AS hoge FROM テーブル名; このSQL文字列でADOを通じてレコードセットを得る。 レコードセット内のhogeフィールドの値を取得すればレコード数を得ることができます。 と勢いで書いてしまいましたが、環境に関することが質問文に一切書いてないですね。 VBアプリケーションからADOを使って何らかのDBシステムに接続してるってシチュエーションでいいですよね? 当然のようにADOを使用してるってことでいいですよね?
補足
ご回答ありがとうございます。 環境についてはおっしゃっている通りで間違いありません。 で、上記の方法でやってみたのですが、Empty値が入りうまくいきません。 コードを記述します。変数はASUとします。 strSQL = "SELECT COUNT (*) AS ASU From db1" 'レコードセットをオープン rs.Open strSQL, cn from1.Text1.Text = ASU 極端な話、これでは不可能でしょうか? よろしくお願いします。
- taknt
- ベストアンサー率19% (1556/7783)
レコード数というとテーブルのかな? 普通は countを使いますが・・・。 select count(*) from テーブル名
補足
ご回答ありがとうございます。 質問の仕方が少しまずかったみたいです、すいません。 COUNTで割り出すところまでは分かるのですが、そのCOUNT 数、どうやって代入するんでしょう?例えば、テキストボックスにそのCOUNT数を入れたい場合とかなんですど。。。 まだまだ初心者でくだらない質問をして申し訳ありませんがよろしくお願いします。
補足
ご回答ありがとうございます。 上記頂いた内容で取得できました。ありがとうございます。 初心者でほんと仕方ないことを言ってしまい、申し訳なく思う限りですが、できれば解説頂けませんか? strSQL = "SELECT COUNT (*) AS ASU From db1" 'レコードセットをオープン rs.Open strSQL, cn ASU = rs.Fields(0).Value でASUには全レコード数が入ったわけですが、SELECT文の 時点でASUにはレコード数が入るのでは?と思うのですが その後、rs.Fields(0).Valueを代入してるのはなぜでしょう? すいませんがよろしくお願いします。