• 締切済み

該当件数を表示させたい。

VB6でプログラムを作っています。コンボボックスで内容を選んでコマンドボタンを押すと、データベース(Access2002)にある同じ内容のものの件数が表示されるには、どのようなソースを書けばいいですか?

みんなの回答

noname#60992
noname#60992
回答No.2

若しくは、ADOをつかって、 RST.open "SELECT * FROM TableName WHERE ........." , CON,ADOPENKEYSET,ADLOCKOPTIMISTIC と開いておけば RST.RECORDCOUNT で「件数」が取得できます。 「同じ内容のもの」 については、 RST.open "SELECT * FROM TableName WHERE ........." のSQL部分のWHERE句で調整することになります。 例えば、 WHERE USERID = '" & ME.COMBO1.TEXT & "'" のように、、、、

noname#140971
noname#140971
回答No.1

チト、丸投げ臭いのですよ! Private Sub Command1_Click()   MsgBox DBCount("*", "担当者", "ID>9") End Sub これで、Access の DBM のテーブル[担当者]を集計数を表示します。 要は、DBCount() の引数をセットするだけです。 なお、DBCount()では、ADOを利用しています。 Public Const pubCNNSTRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\XXXX\XXXX.mdb" Public Function DBCount(ByVal strField As String, _             ByVal strTable As String, _             Optional ByVal strWhere As String = "") As Variant On Error GoTo Err_DBCount    Dim N    Dim strQuerySQL As String    Dim rst     As ADODB.Recordset    Set rst = New ADODB.Recordset    strQuerySQL = "SELECT COUNT(" & strField & ") FROM " & strTable    If Len(strWhere) > 0 Then      strQuerySQL = strQuerySQL & " WHERE " & strWhere    End If    With rst     ・・・・     ・・・・    End With Exit_DBCount: On Error Resume Next    rst.Close    Set rst = Nothing    DBCount = N    Exit Function Err_DBCount:    MsgBox "SELECT 文の実行時にエラーが発生しました。(DBCount)" & Chr$(13) & Chr$(13) & _       "・Err.Description=" & Err.Description & Chr$(13) & _       "・SQL Text=" & strQuerySQL, _       vbExclamation, " 関数エラーメッセージ"    Resume Exit_DBCount End Function With rst   ・・・・   ・・・・ End With の部分がどうしても判らないときは補足します。

関連するQ&A

  • oo4oでデータベース接続

    VBでoo4oを使ってデータベースに接続、 コンボボックスでテーブル名を指定してコマンドボタンを押すとフレキシブルグリッドに選択されたテーブルの内容を表示させるというプログラムを作っているのですが… ・どうやってコンボボックスに全テーブル名を入れればいいのか ・テーブルの内容をフレキシブルグリッドに表示させるにはどういう風に記述すればいいのか この二点がわかりません。 教えていただけないでしょうか。

  • Access2010 イベントが動かない

    超初心者です。言葉の意味も分からない場合がありますので、どうか噛み砕いて教えてくださると助かります。 他の方がAccess2003で作成されたAccessプログラムです。 コンボボックス1 コンボボックス2 コンボボックス3 コンボボックス4 テキスト5 コマンドボタン6 コマンドボタン7 コンボボックス1で選択したものに関連するものが、コンボボックス2で選択できるようになる コンボボックス2で選択したものに関連するものが、コンボボックス3で選択できるようになる コンボボックス3で選択したものに関連するものが、コンボボックス4で選択できるようになる コンボボックス4まで選択をするとテキスト5に選択されたものが表示される。 コマンドボタン6を押すと、コンボボックス1~4、テキスト5がクリアされ、また新しくコンボボックス1から選択できるようになる。 コマンドボタン7を押すとAccessが終了する このように設定されるようです。 Access2003では正常に動いていました。 しかしOffice2010(Access2010?)を導入したために、上記のプログラムの中で、コマンドボタン6,7が動作しません。 コンボボックス1で選択したものに関連するものが、コンボボックス2で選択できるようになる コンボボックス2で選択したものに関連するものが、コンボボックス3で選択できるようになる コンボボックス3で選択したものに関連するものが、コンボボックス4で選択できるようになる コンボボックス4まで選択をするとテキスト5に選択されたものが表示される。 このアクションは問題ありません。正常に動きます。 しかし、 コマンドボタン6を押すと、コンボボックス1~4、テキスト5がクリアされ、また新しくコンボボックス1から選択できるようになる。 コマンドボタン7を押すとAccessが終了する この2つができません。 コマンドボタン6のイベントプロージャでは、 Private Sub コマンド6_Click() Me![コンボボックス1] = "" Me![コンボボックス2] = "" Me![コンボボックス3] = "" Me![コンボボックス4] = "" End Sub と書かれています。 コマンド7はプロパティシートのイベントのタブ、クリック時に「終了」となっており、マクロで動いているようです。 マクロは、クリックするとAccess終了というだけの簡単なマクロです。 <課題・問題> ・コマンドボタン6を押してもコンボボックス1~4、テキスト5が消去(クリア)されない。クリアさせたい。 ・(Access2003で実行したときに)コマンドボタン6を押してコンボボックス1~4、テキスト5を消去(クリア)しても、データを保持しているらしく、 コンボボックス1~2で選択しても、前回選択したコンボボックス2に関連するものが、コンボボックス3に選択肢が出る。正しく抽出されてこない。 ・コマンド7を押してもAccess終了が実行されない   引数’オプション’を指定した場合、’Quit’マクロアクションを無効モードで実行したり、埋め込みマクロから呼び出して実行したりすることはできません。   とエラーになる。(このエラーの意味も分かりません) どうしたら課題をクリアして動く、使えるようになるのでしょうか? 教えてください。 宜しくお願い致します。

  • VB2005でデータグリッドビューにTextBoxのセルとComboBoxのセルを表示

    はじめまして。プログラム開発初心者です。よろしくお願いいたします。 OSはWin2000、VB2005でプログラムを作成しています。 データベースはACCESS2000を使用しています。 今回はデザイナではなく、プログラムにてDatagridView.ROWS.ADDで行追加したいと思っています。 フォームにデータグリッドビューを配置し、三つのカラムにデータベースから持ってくるデータをを表示させたいと思っています。 ただし三つ目のカラムをコンボボックスにして 4つのデータを用意してデータを変更できるようにしたいと思っています。 DatagridView.ROWS.ADDにてテキストボックスカラムを二つ、コンボボックスの列を一つ行追加するにはどのようにしたらいいのでしょうか? またそのコンボボックスの中身の設定はどのようにしたらよいのでしょうか? テキストボックスのみの行追加はできるのですが。。。 テキストボックスカラム+コンボボックスのカラムを追加する方法を調べたのですが探しきれませんでした。 お知恵をおかしください。

  • Excel 行・列の非表示について

    コンボボックスやコマンドボタンを配置してある行や列を非表示にすると、そのコンボボックスやコマンドボタンは画面に残ったままになります。 コンボボックス・コマンドボタンごと行や列を非表示にするテクニックはありますでしょうか? ※コンボボックスやコマンドボタンは絶対に削除できない 下手な文章ですみません。 不明点はご指摘いただければ、補足にて追記させていただきます。 よろしくお願いします。

  • vbプログラムでの長時間バッチ処理の途中経過件数を表示したい。

    vbで多量の件数を処理するバッチプログラムがあります。 現在何件処理済みかを、1000件単位でtext項目へ表示させたいと思っています。 ProgressBarとか考えましたが、表示内容が今ひとつでした。 トータル件数と現在実行済み件数だけの表示でよいのですが、上手くいきません。 仕方がなく表示用にプログラムをもう一つ作りまして、件数情報をそのプログラムに渡して表示させています。 この仕組みが割と複雑で、もっと簡単にvb機能だけで出来るのではないかと思っています。 よい方法をご存知の方、ご教授を頂きたく宜しくお願い致します。 os:windows2000pro vb:vb6 です。

  • 日付の加算方法 AddDate関数?

    皆様、こんにちは。VB初心者のMALと申します。 当方VB5.0を使用しています。 以下のような事にチャレンジしておりますが、壁に当たっております。 フォーム上にはコンボボックスが3つ。 ラベルが3つ。 コマンドボタンが1つ。 年、月、日をそれぞれコンボボックスから入力。 コマンドボタンを押すと、その日より13日後、29日後、89日後の値を、それぞれラベルに表示。 とても初歩なのだろうとは思いますが、何卒宜しくお願い致します。

  • アクセス2000でまた質問です。

    Win2000,アクセス2000使用しています。 フォーム上のコンボボックスを使用してデータを入力しています。 コンボボックスの値("新規";"変更")のそれぞれ件数を計算したいのですがうまくいきません。 例)コンボボックスの値→"新規";"変更"   新規が何件   変更が何件 というようにしたいんですが、件数を表示させるテキストボックスのプロパティのコントロールソースという所を使って計算させることができますか? よろしくお願いします。

  • VBでコンボボックスをテーブルのように扱いたい

    VB.net 2010での質問です。 外部テキストファイルを読み込んで、フォーム上のコンボボックスに入れるのは簡単にできましたが、 ボタンを押したときに、選んだコンボボックスの該当データのうち一部だけを取り出して他データとからめつつ処理して表示させたいのです。 テキストファイルが以下のようになっています。データ件数は多くはありません。 阿部,北海道,10001,2001/05/01 山崎,東京都,11111,2003/09/25 ボタンを押した時には、別のテキストボックスに 山崎 - 10001 と表示させたいのです。贅沢を言えば、コンボボックスには人名のみが表示されるようにできれば素晴らしいです。 どうかよろしくお願いします。

  • データ処理実行中に処理件数を表示させたい

    こんばんは、ACCESS初心者です。 ACCESSのVBAで、あるデータ処理を行うプログラムを作成しました。 処理件数が多いため、現在処理中の件数をフォーム上に表示させてあげようと、 テキストボックスを配置し、そこへカウンタの値をセットしようと思います。 (カウントアップしているサマをユーザーに見せたい) しかし、ただセットするだけではダメのようで、 再表示的なこと?をしてあげないと表示されない感じなのですが、 処理中にテキストボックスの最新の値を常に表示させるには 何か方法があるのでしょうか? よろしくお願いします。

  • ExcVBAについて、コンボBOXの項目をセルに記録する

    ユーザーフォーム1にコンボBOX1に氏名を記録させてあります。 同じくユーザーフォーム1にコマンドボタン1で入力ボタンをつくってあります。sheet1にはVBエディタのフォームよりコマンドボタン2を作成しsheet1にコンボBOXを表示させるようにしています。 そこでコンボBOXの氏名1をsheet1のA3にコマンドボタン1を使い記録させます。後にA4に氏名2を記録させます。 というように、Aの欄に記録、記録としていきたいのですがコードが判りません。どのようなコードを使えば記録がA2、A3、A4と記録できるのでしょうか教えてください。ちなみにA1だけに記録は出来ます。 宜しくお願いします。

専門家に質問してみよう