ACCESSのフォームで、絞込み検索すると重複したレコードが増えてしまいます。
ACCESSのフォームで、コンボボックスを6ほど設置し、条件を絞り込んでデータを抽出するシステムを作成しました。
抽出自体は問題なく出来ているのですが、再クエリを実行した時、同じ抽出条件と結果が複数レコード表示されてしまいます。
調査した結果、フォームプロパティのレコードソースに設定していますクエリの実行結果の件数と同じ件数分増えてしまうようです。
そして、そのフォームをしばらく使用していますと、「これ以上テーブルを開くことができません。」とのメッセージが出てしまいます。
これも何か関係しているのでしょうか?
いろいろと調べてみましたが、解決する事ができませんでした。ご指導、宜しくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>フォームプロパティのレコードソースに設定していますクエリ
何クエリですか?。
この結果をいったんテーブル作成クエリにして、どういう結果か検証してみては?。
xxクエリ→フォーム
を
xxクエリ→テーブル作成クエリ→(できたテーブルを元にした)クエリ→フォーム
結果は同じですが、
1回目、2回目、・・・・と
どのレコードがどう増えて?いるか検証できると思います。
あやしいと思われるイベントに
メッセージボックス等で情報表示するよう、わなを仕掛けるか、
クエリの結果を目視できるようにしてみます。
テーブルAとテーブルBからテーブルAを追加更新するようなクエリがあると
またそれを行えば
(AとBからAを追加更新した結果のA)とBからAをまた追加更新する
・・・
繰り返すと件数が多くなるのはこういう感じでしょうか?。
結果が全く重複しているのであれば
「distinct」が使えるか検討します。
この回答への補足
お返事が遅くなりました。
>フォームプロパティのレコードソースに設定していますクエリ
>何クエリですか?。
絞込み検索クエリになります。
後、フォームのレコード数が増えてしまうのは、通常の結果のようでした。
しかし、印刷しますと、そのレコード件数分同じ印刷物が出力されてしまいます。
レポートに関しましても、同じ結果のようです。
レコード件数分、印刷されてしまうのを制限する方法はあるのでしょうか?
No.1
- 回答日時:
>そして、そのフォームをしばらく使用していますと、
>「これ以上テーブルを開くことができません。」とのメッセージが出てしまいます。
エラーメッセージがいきなり出るのではなく、使い続けると
出てくる、というのであれば、フォームのコード、あるいは
関数の呼び出しで、
Set rs = db.Openrecordset("テーブル名", dbOpenDynaset)
のようにして、プロシージャの終わりに、
rs.Close
Set rs = Nothing
のようにオブジェクトの破棄を明示していない、という
ことはないですか。
この回答への補足
早速のご回答ありがとうございます。
VBA初心者ですので、間違っている可能性もありますが、上記記載して頂いていますプログラムを追加してみた所、「実行時エラー '424':オブジェクトが必要です。」と、エラーが発生してしまいます。
Private Sub コマンド28_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Set rs = db.Openrecordset("テーブル名", dbOpenDynaset)
Me.Requery
rs.Close
Set rs = Nothing
End Sub
上記のように入力しています。コマンド28のボタンをクリックすると、リクエリをして、コンボボックスによる条件で、抽出する仕組みです。
Me.Requeryを、DoCmd.Requeryと変更して入力しても同じ結果になります。
追加入力する場所が違うのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) access レポート 請求書について 2 2022/07/04 22:52
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- Oracle 列1と列2の関係性で列3の条件に一致するレコードを抽出したい 1 2022/04/13 07:46
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのクエリでSplit関数は...
-
accessでクエリの結果だけをリ...
-
アクセス:クエリの結合とリレ...
-
クエリのデータをテーブルに入...
-
クロス集計クエリの結果を一時...
-
クロス集計クエリの結果をテー...
-
アクセス 項目毎にデータを横...
-
access インポート時、既にある...
-
テンポラリファイルのための空...
-
Access「レコードが削除されま...
-
ACCESSで行数指定(5万行目~8...
-
ACCESS2000 クエリをテーブル化...
-
Accessにてテーブルが異なるデ...
-
更新不可能なクエリに対して更...
-
アクセス クロス集計クエリ→テ...
-
ACCESSでテーブルの一部だけを...
-
ACCESSでアンケート調査→回答ごとの...
-
Accessで注文書を作成したいです。
-
Accessでテーブルにあるレコー...
-
Access DAOのExecuteメソッドの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クロス集計クエリの結果をテー...
-
アクセス:クエリの結合とリレ...
-
Access「レコードが削除されま...
-
アクセスのクエリでSplit関数は...
-
クエリのデータをテーブルに入...
-
accessでクエリの結果だけをリ...
-
デザインビューにてテーブルが...
-
アクセス 項目毎にデータを横...
-
ACCESSで行数指定(5万行目~8...
-
access インポート時、既にある...
-
教えてください! アクセスのac...
-
更新不可能なクエリに対して更...
-
アクセス クロス集計クエリ→テ...
-
ACCESSでの重複レコードの削除
-
Accessのクロス集計→テーブル作...
-
access テーブル作成クエリでテ...
-
Access DAOのExecuteメソッドの...
-
Access2010「クエリが複雑すぎ...
-
Access 末尾に0を追加したい
-
エクセル複数シートをアクセス...
おすすめ情報