現在Accessで作成したデータベースにアクセスし、検索する簡単なプログラムを作成しています。
データベース先を指定し、接続詞 Do While()で検索し表示しています。 検索はComboBoxでいくつかの条件を選択させ、選択された条件をSQLに埋め込み検索し表示しています。
プログラムを起動し始めの検索は問題なくできます。だた、別な条件で検索しようとしても前の検索結果しか表示されません。
この場合、どの部分をみるべきなのでしょうか?
また、SQLで検索した際、どのカラムにも一致しなかった場合エラーを表示させたいのですが、どうすればいいのでしょうか?
No.1ベストアンサー
- 回答日時:
VBのバージョンや現在のSQLコードの組み立てなどをどのようにしているのか投稿してみましょう
またデータベースから取得してくるのはどのような形態なのかも
DAO、ADO、ADO.NETなど
No.4
- 回答日時:
・検索条件が変わっていない→検索条件をリセットするコードを
・画面がリフレッシュされていない→フォームをリフレッシュしましょう
エラーの出し方としてはカウントする方法か、レコードセットを呼び出しているなら.EOF をチェックするかですね。
例題的なコードはネット上に沢山あると思いますよ。
No.3
- 回答日時:
この質問の書き方はひどい。
どう質問者はコードを書いているか、明らかにせず、回答者がエラー原因を指摘しろなんてできるはずが無い。1字違えばアウトという、プログラムの恐ろしさを知らない人のやること。またエラー現象も込み入ったものでなく、初期的なエラーですから、すぐ質問となっているようで、自身の突込みが足りない。WEBなどに関連記事が増えた現在、自分でもっとエラーの原因の箇所を絞る努力をして、絞って質問するべきだ。
参考
http://www.hyuki.com/writing/techask.html
ーー
また>どのカラムにも一致しなかった場合とはどういう意味か。
フィールド名のことか。
複数列検索をやっているのか。
ーー
>SQLで検索した際、該当レコードが無かったときに・・、の意味なら
http://www.accessclub.jp/bbs/0034/beginers14692. …
のなかの
>処理としては、抽出条件でフィルターを掛けたレコードセットを作って、
そのレコードセットのレコード数が0の場合はフィルターを解除して
フォームに表示、1以上の場合はそのまま表示という処理になるかと思います。
それや
http://okwave.jp/qa619151.html
のANo2のCountを使う方法など。
No.2
- 回答日時:
レコードセットを作ってDo-loopで表示させているなら、
一旦レコードセットを閉じ、
SQLを作り直してレコードセットをつくり、
中身を表示させればよいと思います。
レコードセットの中身がカラの場合(最初からEOFの場合)
エラーを表示させればよいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- Access(アクセス) Access 複数条件検索の設定が上手く行きません 1 2022/07/22 20:37
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Excel(エクセル) Excel フィルタ後のコピー貼付けと可視セルの関係について 3 2023/02/07 16:42
- エッセイ・随筆 尋常小学校唱歌『さくら さくら』の解釈について以下のものは成立しますか?普通じゃおもろない? 7 2023/02/26 16:52
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル関数を教えてください
-
UserForm1.Showでエラーになり...
-
マクロで"#N/A"のエラー行を削...
-
実行時エラー 438 の解決策をお...
-
お助けください!VBAのファイル...
-
インポート時のエラー「データ...
-
String""から型'Double'への変...
-
VB.net 重複チェックがしたいです
-
エクセルVBA 「On Error GoTo...
-
VBAでfunctionを利用しようとし...
-
「実行時エラー '3167' レコー...
-
ASPで、変数名に、変数を入れら...
-
変数にするとエラーになる理由は?
-
【Access】Excelインポート時に...
-
実行時エラー'-2147467259(8000...
-
Excel vbaについての質問
-
ADO 「認証に失敗しました」
-
マクロの「SaveAs」でエラーが...
-
【VB.NET】 パワポ操作を非表示で
-
ACCESSで値を代入できないとは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
VBAでfunctionを利用しようとし...
-
お助けください!VBAのファイル...
-
文字列内で括弧を使うには
-
実行時エラー 438 の解決策をお...
-
マクロで"#N/A"のエラー行を削...
-
On ErrorでエラーNoが0
-
エクセルVBA 「On Error GoTo...
-
VBA データ(特定値)のある最...
-
実行時エラー'-2147467259(8000...
-
【VBA】ワークブックを開く時に...
-
VBでSQL文のUPDATE構文を使った...
-
ACCESSで値を代入できないとは?
-
マクロの「SaveAs」でエラーが...
-
Excel vbaについての質問
-
インポート時のエラー「データ...
-
Filter関数を用いた結果、何も...
-
「実行時エラー '3167' レコー...
-
バッチファイルで、あるスクリ...
おすすめ情報