• ベストアンサー

Access ソースオブジェクトの変更について

Access2007を使用しています ボタンを押すとサブフォームのソースオブジェクトを "A"から"B"に変更 するように下記のプログラムを設定しました。 Me!SubF.SourceObject = "テーブル.B" 動かしてみると、フィールド名はちゃんと表示されるのですが、データが全く表示されません。(デザインビューでソースを見てみたら、"A"のままで変更されていませんでした。) どうも変更するプログラムが違っているようなのですが…。調べてみたものの一向に判りません。 どなたかご教示の程、宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • shinkami
  • ベストアンサー率43% (179/411)
回答No.1

リンクフィールドは正しく設定されていますか

Prytwen
質問者

お礼

プロパティシートのレコードソースに"A"が入っていたので、それを削除して動かしてみたら、無事思い通りに動かせました! 今回の質問で、リンクフィールドの事をまだ理解できていなかった自分に気づくことができました!ありがとうございます!

Prytwen
質問者

補足

回答ありがとうございます。 親も子も何も入力していませんでした^^; 設定をして再度、試してみましたが、やはり駄目でした。

関連するQ&A

  • ACCESS2007でのサブフォームとグラフについて

    access 2007での質問です。 フォーム上に既存のテーブルを基にサブフォームとピボットグラフを表示させています。 サブフォームとグラフが同じレコードソースを使用しています。 サブフォームでデータを変更した場合に、グラフも変更内容を同時に反映させる方法はどうしたら良いのでしょうか。 フォームをフォームビューからデザインビューに切り替え、また、通常のフォームビューに戻すとデータ変更内容が反映されています。 これ以外何かイベントプロシージャなどで指定はできないものでしょうか。教えてください。

  • ボタン押下でサブフォームのレコードソースを変更

    ボタン押下でサブフォームのレコードソースを変更 する方法を探しています。 元とするテーブルは同じですが、拾うべきフィールドが全く異なるため2つのクエリを作成しました。 元テーブル「メンバー一覧」 クエリ「q_1組のみ」「q_女性のみ」 フォームヘッダーにコンボボックスでどちらかのクエリを選択し、ボタンを押したら サブフォームが表示されるようにしたいのですが、 現在のところ、「閉じているかまたは存在しないオブジェクトを参照」というエラーが出てしまっています。 Me.でもForms("検索ウィンドウ").でも結果は同じでした。 ソースはクエリを指定しています。 Access2007 --------------------------------- Private Sub 検索ボタン_Click() If [Forms]![検索ウィンドウ]![申込形態] = "1組のみ" Then Me.検索結果サブフォーム.Form.RecordSource = "q_しぼりこみ1" Else Forms("検索ウィンドウ").検索結果サブフォーム.Form.RecordSource = "q_しぼりこみ2" End If

  • サブフォームのビューを切り替えたい

    親フォーム(フォーム1)にサブフォームとして、 テーブルをソースとするサブフォーム(テーブル1のサブフォーム)を配置しました。 親フォームからサブフォームのビューを変更したいのですが どうすればいいか教えてください。 親フォームのコマンドボタンにはそれぞれ Private Sub 単票フォームへ切り替え_Click() Me.Controls("テーブル1のサブフォーム").Form.DefaultView = 1 '帳票フォーム End Sub Private Sub 帳票フォームへ切り替え_Click() Me.Controls("テーブル1のサブフォーム").Form.DefaultView = 0 '単票フォーム End Sub としたのですが、 実行すると 実行時エラー 2136 "このプロパティを設定するには、フォームまたはレポートをデザインビューで開きます"。 となってしまいます。 Private Sub 帳票フォームへ切り替え_Click() DoCmd.SelectObject acForm, "テーブル1のサブフォーム" DoCmd.RunCommand acCmdFormView End Sub にしたところ、 実行時エラー 2489 “オブジェクト テーブル1が開いていません、” になります。 サブフォームに埋め込んでいて親フォームを開いていても 開いてない事になるのですね。 フォームビューの時に、切り替える事は不可能なのでしょうか? 帳票ビュー表示用フォーム、 単票ビュー表示用フォーム を作るしかないのでしょうか?

  • オブジェクト名の変更

    お世話になります。 Accessで「レポート」および「フォーム」オブジェクトの名前を変更した場合の質問です。 名前を変更した後に、オブジェクトウィンドウに ”デザイン” ビューで表示するとそのタブは、変更後の名前に変わっています。 しかし、”レイアウト” および “フォーム” ビュー では、そのオブジェクトによってタブの名前が変更されている場合もあるし、変更されない場合もあります。 表現を変更すると ”デザイン” ビューは、必ず名前が変更される。 ”レイアウト” および “フォーム” ビュー では、オブジェクトによって、変更される場合と変更されない場合がある。 このオブジェクトの違いはどういう理由でしょうか。 よろしくお願いします。

  • ACCESS97 サブフォームのレコードソースプロパティーを変更したい。

    フォームの中にサブフォーム(データシート)が1つあります。 元のフォームのチェックボックスのオン・オフでサブフォームのレコードソースプロパティーを変更すると、 実行時エラー438 オブジェクトはこのプロパティまたはメソッドをサポートしていません。がでます。 サブフォームのビューは変更したくありません。 だれか助けてください。 If Me.未送信のみ = -1 Then Forms!F_処理選択!F_理選択サブ.RecordSource = "F_処理選択サブ_1" Else Forms!F_処理選択!F_処理選択サブ.RecordSource = "F_処理選択サブ_2" End If

  • Access2000VBA オブジェクト転記時にレコードソースや標題も一緒に変更したい

    転記したフォーム、レポートのレコードソース、標題をVBAで変更したいんです。 テーブル名、フォーム名、レポート名の3つのフィールドが一覧となっているテーブル「オブジェクト名」があるとします。 ○例「オブジェクト名」テーブル テーブル名  フォーム名  レポート名 T_ああ      F_ああ    R_ああ T_いい      F_いい    R_いい まず、Excelからインポートしたテーブル名を、上の一覧中のテーブル名「T_ああ」をインプットボックスでまず割り当てておきます。 割り当てた値は「varac」とします。 また、フォーム「オブジェクト作成」に、「フォーム作成」、「レポート作成」というコマンドボタンを作り、TransferDataBaseメソッドを利用し、フォーム、レポートを、既にあるそれぞれ元となるオブジェクトから転記していきます。 その際、それぞれの名称は、DLookUp関数を使い、「varac」を元にして「オブジェクト名」テーブルからフォーム名、レポート名を引っ張ってきます。 ここまでは順調に出来ました。 さらに値「varac」を利用して、フォーム、レポートのレコードソース、標題を変更したいんです。 でも、どうコーディングしたら全体プロパティのレコードソース、標題が変わってくれるのか分かりません。 一つのフォームのレコードソースや標題を変えるのなら、 Me.RecordSource = varacや、Me.Caption = varacにすれば変更できます。 ただ、転記中にフォーム「オブジェクト作成」からどう指示したら、転記先のフォーム上のプロパティ、または転記先のレポート上のプロパティと、認識してくれるのかまったく分かりません。 初心者でもあるため、コーディングに詳しいコメントをしていただくと、とても嬉しいです。 よろしくお願い致します。

  • Accessのサブフォーム

    Access2000です。 フォームを作成し、ツールボックスより「サブフォーム/サブレポート」をクリックしてサブフォームを配置しました。 イベントがEnterとExitしかないやつです。 検索するとサブフォームのテキストボックスが・・・とかあるのですが、何の事やら?です。 この、配置したサブフォームと検索すると色々ヒットするサブフォームは別物なのでしょうか? このシンプルなサブフォームのソースオブジェクトにテーブルを指定して表示させています。 リンク子フィールドやリンク親フィールドは未設定です。 使い方が間違っているでしょうか? このサブフォームの使い方がイマイチよく分かりません。 検索しても前述のように存在しないイベント(?)等の説明でさっぱりです。 分かりやすくどなたかお願いします。。。

  • ACCESSにおいてコントロールソースのフィールド値に関数を適用するには?

    フォームに表形式のフィールドを表示しています。 フィールドのコントロールソースへテーブルのフィールド値を設定しています。 ここに関数を適用する方法を教えてください。 例えば、aテーブルにbというフィールドあったときフォームにright(b,10)の状態で表示させたいです。 環境はACCESS2000です。 宜しくお願い致します。

  • アクセス2000のレポート作成で

    アクセス2000のレポート作成時にデザインビューを利用してレポートを作成しようとしています。 ここでフィールドリストを利用してテーブルのフィールド名をドラッグ&ドロップし、デザインビュー上に配置したいのですが、フィールドリストを画面に参照できません。 どのような設定をすればフィールドリストが出せるのでしょうか。 また、他に方法がないかと思い、デザインビュー上にテキストボックスを配置し、 プロパティ> データ> コントロールソース>式ビルダの作業画面からテーブルのフィールド名を配置していますが、プレビュー表示すると「#Name?」と表示されてしまいます。 よろしくお願いします。

  • フィールド名(フィールド自体)の並び替えについて

    Access初心者です。 Accessに詳しい人が作ったDBをちょっといじって 使いやすくしたいのですが、方法が分からず困っています。 そのdbはクエリを使ってフォームを作っているのですが、 フォームを開くと、 A__|B__|C__| ←フィールド名 ***|***|***| ←データ と、テーブルのような表が実行されます。 これのフィールド自体の順番を変更したいのですが、 A__|B__|C__| ←フィールド名 ***|***|***| ←データ ↓ A__|C__|B__| ←AとBの間にCを入れる ***|***|***| どこをいじればよいかが分かりません。 フォームをデザインビューで開くと、 フォームを実行した時とは全く異なるビューが表示されます。 ご教授の程、宜しくお願い致します。

専門家に質問してみよう