• 締切済み
  • 困ってます

Accessのサブフォームからフォームフィルタを使ってメインフォームも含めたレコードの抽出が出来ないのは何故でしょうか?

フォームフィルタを利用してサブフォームに入力されている値でレコードの抽出を行いたいのですが、うまくできません。 メインフォームが持っているレコード全てを持ってきます。 メインフォームに含まれているデータが100件なら、それ全てを表示してしまうということです。 私が抽出したいレコードは2件だけです。 メインフォームからフォームフィルタを利用して抽出すると正しい結果が得られます。 これはどうしてでしょうか? サブフォームへの設定が何か足りないのでしょうか? 親・子のフォームのテーブルは同一のものです。 カテゴリーで親と子にフォームを分けました。 親にはクエリはなくて、リレーションシップしたテーブル数種から直接フォームにひっぱってあります。 子は一つのテーブルからクエリを作って、そのクエリからフォームに引っ張っています。 Access2003です。 どなたかご教示いただきますようお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数709
  • ありがとう数0

みんなの回答

  • 回答No.1

子フォームで使用しているクエリーに直接フィルターの条件を入れた場合、ちゃんとした結果が出ますか? 条件に数値が入っていてテーブルのフィールドがデーター型(文字列)にしてるとかでも出ない場合があります。 まずはクエリーで見てみましょう。

共感・感謝の気持ちを伝えよう!

質問者からの補足

お世話になります。 クエリでの抽出は問題なく行えました。 他に原因があるのでしょうか・・・。

関連するQ&A

  • Access2003 リレーションされたサブフォームの抽出

    Access顧客情報のデータベースを正規化(VBA)している初心者です。リレーションされているテーブルを元にクエリ(3つのテーブルをつなげただけ)を作成しメインフォームにサブフォームを作りました。3つのテーブルは、1対多でリレーションされています。テーブルAのGR_IDやグループ名で検索しそれに紐づいているCOmpanyは抽出できるのですが、サブフォームのテーブルBのCOmpany nameから抽出することができません。メインフォームからオプションボタンを使用してメインとサブの両方のテーブルを検索したいので、子・親リンクの設定をはずせませんよね?以前の類似質問で「サブフォームのフィルターに入力し、フィルター実行でうまくいきました」とありましたが、具体的にどのように設定(マクロやVBA、再クエリ?)すればいいのかわからず悩んでいます。どうぞ初心者向きのアドバイスをよろしくお願いいたします。 テーブルA GR_ID グループ名 ※テーブルA(1):テーブルB(多) テーブルB GR_ID Company_ID Company name ※テーブルB(1):テーブルC(多) テーブルC Company_ID salesman

  • AccessVBA メイン/サブフォームのチェックボックス

    AccessVBAを用いて、メインフォーム内にサブフォームを設置しています。 メイン、サブの両方にチェックボックスがあり、メインに4個(オプショングループ)、サブには表形式で設定しています。全て連結コントロールです。 メインフォームのレコードソースは、テーブル、サブは、テーブルの値をパラメータにしたクエリーを割り当てています。 このフォームを表示した状態で、メイン内のチェックボックスを1個~4個(任意)クリックした状態で、サブ内のチェックボックスをクリックすると、メイン内でクリックしてレとしたはずのチェックが全て外れてしまいます。 この現象を修正したいのですが方法が解りません。 どなたか教えて下さい!! ちなみに、複数の人間が入力するので、メイン、サブ共にレコードロックは「編集済みレコード」としています。 宜しくお願い致します!!

  • access検索フォームからメイン、サブフォームへ

    access初心者です。 先日、「メイン、サブフォームの入力」について質問した者です。 取引先の会社情報を管理するために、access2007で顧客管理を作成しています。 現在、取引先本社情報とその支店情報を新規登録及び既存顧客を編集するフォーム「会社登録フォーム」と「会社検索フォーム」を主にVBAで作成しています。 <実現したいこと>: 既存顧客を編集する場合は「会社検索フォーム」から抽出し、「選択」ボタンで会社情報を「会社登録フォーム」に呼び出し、本社及びその支店情報を編集する。 <困っていること>: 「会社検索フォーム」から顧客を選択後、「会社登録フォーム」では、支店情報は変わりますが、本社情報が変わりません。 (メッセージ:「リレーションシップが設定されたレコードがテーブル'支店テーブル'にあるので、 レコードの削除や変更を行うことはできません。」というメッセージがでます。) <会社登録フォームの環境>: 会社の本社情報をメインフォーム、その会社の支店情報をサブフォームに、単票形式のタブコントロールで複数画面にして、支店ごとに分けて入力できる登録フォームを作成しています。 本社テーブルの会社IDを主キーに、支店テーブルの支店IDを主キーにしてリレーションシップを設定し、クエリ「Q_本社支店」というテーブルを作成しています。 <会社検索フォームの環境>: ・「Q_本社支店」テーブルを元に「会社検索フォーム」を作成しています。 ・「会社名」「支店名」等で検索し、データシートで表示します。 ・ 抽出されたレコードの「選択」ボタンで、「会社ID」を「会社登録フォーム」の本社情報の「会社ID」に代入します。 色々調べてやってはみたのですが、上手くいきません。 行き詰まり感があり、困っております。 ご教授のほどよろしくお願いいたします。

  • ACCESSのサブフォームについて

    ACCESS-2000を使用しております。 リレーションシップを作成し、抽出されたデータをリストボックスに 表示されるようにしました。 そのリストボックスを他のフォームにサブフォームとして挿入し、 メインフォームとリンクをさせたいのですがこれは可能なのでしょうか? リストボックスに表示されるデータの元になっている2つのテーブルと、 リンクを張りたいメインフォームのデータテーブル(1つ)間にリレー ションシップを作成すればよいのでしょうか。 よろしくお願いいたします。

  • Access メインフォーム サブフォームにて

    お世話になります。 Accessにて メインフォームにコマンドボタンを置いて、クリックするとサブフォームのレコードが 次に行くようにしたいのですが、 コマンドボタン クリック Forms![メインフォーム]![サブフォーム名].Form!フィールド名.SetFocus DoCmd.GoToRecord , , acNext メインフォームとサブフォームのレコードが次に行ってしまいます。 サブフォームだけ次のレコードに行くには、どのようにすれば良いのでしょうか。 分かる方教えて下さい。 宜しくお願いします。

  • ACCESSで、メインフォームとサブフォームがあるとき・・・

    Accessで、メインフォームとサブフォームがあり、メ インフォームのテキストボックスで期間を指定し、再 クエリを行うマクロボタンでサブフォーム上に期間指 定したデータのみが表示されるようにしています。 また、Access起動時に開くフォームがあり、そのフォ ームに、先ほど上述したメインフォームが開くマクロ ボタンを作成したところ、パラメータの入力画面が出 てきてしまいました。 恐らく、サブフォームの抽出用のクエリに設定してあ るものだと思いますが、これが表示されないようにす ることは出来ないのでしょうか?

  • ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい

    日付/品番/出庫数のフィールドで構成された「明細テーブル」があります。 「日付」フィールドからなるメインフォーム、「品番/出庫数」からなるサブフォームをつくり、メインフォームのサブフォームコントロールのレコードソースを「サブフォーム」に指定しました。 日付を入れるとその日の出庫明細がサブフォーム上に表示されるのですが、このレコード件数をメインフォーム上のコントロールで表示したいのです。 サブフォームのヘッダにテキストボックスコントロールを作り「=Count([品番])」としてやれば、「サブフォーム上での」件数表示は出来るのですが、同じ式をメインフォーム上のコントロールに記述すると、「全レコードの件数」が表示されてしまいます(当たり前ですが) そこで、「=Count([埋め込み].Form![品番])」とやってみました。ここで「埋め込み」とはメインフォーム上のサブフォームコントロールの名前です。 結果は「#Error」となってしまいます。Count関数だけでなくSum関数などでも同様の結果となります。 はっきりいって「サブフォームのヘッダに表示させればいいじゃないか」というところなのですが、「式ビルダ」ではサブフォームのコントロール名も容易に参照できるようになっており、なにか方法があるのではないか、初歩的なところでつまずいていないか、と思案している次第です。 なにかアドバイスいただけたら幸いです。

  • Access サブフォームにフィルターをかけるには

    Access初心者です、教えてください。 AのテーブルにIDと名前、BのテーブルにIDと電話番号と管理番号と業種があります。 メインフォームのテキストボックスでAのテーブルからあいまい検索で電話番号を検索、検索結果のIDでBテーブルのサブフォームにフィルターを掛けたいのですが、 どのようにしたらいいのでしょうか?

  • サブフォームにフィルタをかけたい

    サブフォームにフィルタをかけたいのですが エラーになってしまいます。 下記がエラー内容です。 ---------------------------------------------------------- 実行時エラー 438 オブジェクトは、このプロパティまたはメソッドをサポートしていません。 ---------------------------------------------------------- 細かい概要は テーブル1にフィールドがあり、 レコードには「あああ」と入力されています。 テーブル1がレコードソースとされている「フォーム(2)」をサブフォームとして 親フォーム(フォーム名:フォーム(1))に乗せました。 フォーム(1)を開いた時にフォーム(2)にフィルタをかけたいのですが うまくいきません。 オブジェクト名にカッコを付けているため、 Form_フォーム・・・・ というコードは書けないので ---------------------------------------------------------- Private Sub Form_Open(Cancel As Integer) Forms("フォーム(1)").Controls("フォーム(2)").Form.Filter = "フィールド = '" & "*あ*" & "'" Forms("フォーム(1)").Controls("フォーム(2)").FilterOn = True End Sub ---------------------------------------------------------- としています。 Forms("フォーム(1)").Controls("フォーム(2)").FilterOn = True でエラーになりますが、 この行をなくしたら、フィルタがかかりません。 どうすればサブフォームにフィルタをかける事が出来るのでしょうか? ご教示よろしくお願い致します。

  • Accessのメインフォームとサブフォームの使い方について

    Accessにてメインフォーム(単票形式)+サブフォーム(帳票形式)を使って進捗管理をするデータベースを作っており、新規にメインフォームで入力し、サブフォームで入力したデータを表示させてます。 サブフォームで更新したいレコードをクリックしたときにメインフォームでそのレコードを表示させるにはどのようにすればよろしいのでしょうか?