• ベストアンサー

ACCESSでコントロールソースの変更

ACCESS超初心者です。 VBAでフォームとレポートのコントロールソースを変更したいと思います。 どのようにすればよいのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • karon24
  • ベストアンサー率40% (8/20)
回答No.1

フォームやレポートであれば、 Me.RecordSource = "テーブル名 または クエリー" コントロールであれば、 Me.[コントロール名].ControlSource = "テーブル名 または クエリー" でよかったと思います。

toroon
質問者

お礼

お礼が遅くなってしまい申し訳ありません。 できました(^O^)。ありがとうございます。 何しろ、超初心者ですので、今後ともお世話になります(^^ゞ

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

該当のレポート、あるいはフォームをデザインモードにして、各オブジェクトのプロパティを見てください。データタブを選択するとソースオブジェクトという項目があると思います。 違うテーブル、クエリを参照したいのであれば、そこを変更すればOKです。

toroon
質問者

お礼

お礼が遅くなってしまいました。ごめんなさい。 え~と、わかりにくい表現をしてしまいましたね。 自分で変更する分には良いのですが、VBAで変更する仕方を お聞きしたかったんです(*_*) また、教えて下さい。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • サブレポートのテキストボックスのコントロールソース

    アクセス レポート サブレポートのテキストボックスのコントロールソースの設定をVBAでするタイミングを教えてください。 詳細_Formatイベントで、 Me.Controls("サブレポート").Report.Controls("月").ControlSource = "月" とすると 印刷プレビュー時または印刷を開始したあとは、コントロールソースプロパティを設定できません というエラーになります。 フォームからレポートを開いていて、フォームの値をサブレポートのテキストボックスのコントロールソースに設定したい場合、どのレポートのイベントで設定すればいいでしょうか? ご回答よろしくお願いします。

  • アクセスで レポートのコントロールソースを変更したのに?

    前任者がウィザードを使ってつくったレポートのテキストボックスのひとつの コントロールソース が 「番号」となっていたが、その元のクエリのフィールド名を「登録番号」と変更したので同じように変更したのですが レポートを開こうとすると「番号」をMSGboxが聞いてきます。心当たりはすべて「登録番号」に変更したのですが、どうしてでしょう。ウィザードで作ると自動的にコントロールソースをどこかに指定しているのでしょうか。または、インデックスとかがじゃましているのでしょうか。何か心当たりがあればお教えください。

  • access2007のコントロールソースで

    初めて質問します。よろしくお願いします。 OS:Windows7 Home Premium Edition Access:2007 ある業者がAccess2003で構築したシステムを2007で動くようにユーザーから依頼され 動作確認をしているのですが、 <レポートのレポートフッター-イベントプロシージャで> Option Compare Database Option Explicit Public gDSum As Currency <レポートフッター-フォーマット時イベントで> gDSum = IIf(IsNull([明細金額]), 0, [明細金額]) <レポートフッター-テキストのコントロールソースで> =[gDSum] レポートを実行すると、レポートフッター-テキストが 「#Name?」になります。 Access2003とAccess2007で記述が変更になっているのでしょうか?

  • Accessフィールドのコントロールソース変更

    AccessのVBAを久々に作らざるを得なくなったのですが、 方法が判らずに困っています。 Accessで月毎に列を持っているクエリー(テーブル)から、 各月の数字を印刷するレポートを作成するために、 レポートで参照する列名を固定にして、クエリーの計算式(参照先)をVBAで変更しよう と考えてます。 例) 月別集計クエリーQ1(テーブルAとBをジョインして作成している) 列名 参照先 -------------- M1 A.M1 M2 A.M2 M3 A.M3 (略) M12 A.M12 M (可変)11月の時A.M11 N (可変) 11月の時B.M11 これに対して、 コントロールソースQ1を使用しているレポートを開く時のイベントで M及びNのコントロールソースを変更させようと思います。 "M11"の部分は実際には変数で値をセットします。 Dim db As DAO.Database Dim qd As DAO.QueryDef Dim fld As DAO.Field Dim tb As DAO.QueryDef Set db = CurrentDb() Set qd = db.QueryDefs("A") Set fld = qd.Fields("M11") Me("M").ControlSource = fld.Name というような方法で書くと、 「指定した式で参照されている'M'フィールドが見つかりません。」 と出ます。 Me.Controls("SS4JNSR").ControlSource = fld.Name でも同じです。 レポートのコントロールソースがジョインしていないクエリーだと、 Set fld = tb.Fields("M11") Me("M").ControlSource = fld.Name だけで動作するのですが、結合列の場合の参照の仕方が判りません。 教えて頂けないでしょうか?

  • Accessのレポートのコントロールソースについて

    すみません。教えてください。 Accessのレポートで、レポートとしてはクエリー1をレコードソースに設定してありますが、その中の1つのテキストボックスにクエリー2(つまりレコードソースに設定した以外のクエリー)の項目を表示させたい場合、そのテキストボックスのコントロールソースには、どのように式を記載すればよいのでしょうか?

  • ラベルに「コントロールソース」を設定することは不可能でしょうか?

    単票形式のフォームのレコードソースに紐付くコントロールソースを ラベルに設定したいのですができません。 ハイパーリンクをテキストボックスではなく ラベル上に表示したいです。 テキストボックスのプロパティには「コントロールソース」があるのですが ラベルに「コントロールソース」はありません。 設定することは不可能でしょうか? VBAでも可能なら教えてください。 よろしくお願いします。

  • Accessでのバーコードコントロールについて

    こんにちわ。 Access2003で、レポートにバーコードを表示しようとしているのですが、 表示されずに困っています。 もともと、Access97で作成したmdbを前任者がAccess2003で使えるように変換したものです。 レポートに以前のバージョンではバーコードが出ていたのですが、 Access2003バージョンにしてから表示されなくなりました。 バーコードコントロールが初期化(と言うのでしょうか?)されたように、 枠だけになっており、プロパティにコントロールソースの項目も消えてしまっています。 試しに、同じレコードソースを持ち、バーコードコントロールに同じコントロールソースを持つレポートを作ってみたのですが、 デザインの状態でサンプルが表示されるのですが、ビューを見ると全く表示されません。 当方の環境が、WindowsXPにAccess97、Access2000、Access2003がインストールされている環境であるということも影響するのでしょうか? Access2003以外をアンインストールして試してみれば良いのですが、 日常業務に支障が出てしまうので踏み切れずにおります。 何か情報をお持ちの方、お願いいたします。

  • レポートのコントロールソースを条件により変えたい

    環境:ACCESS2003&XP フォームにボタンをつけ、クリックするとレポートがプレビューされるようにしてあります。レポートのレコードソースはクエリーです。 そのクエリーには、"担当者名"と”マスター担当者”というフィールドがあります。 フォームのオプショングループのオプションボタンを見て、レポートのテキストボックス(txt担当者名)のコントロールソースを変えようとしています。レポート上では、テキストボックス(txt担当者名)のコントロールソースはブランクにしてあり、レポートの詳細(txt担当者名はレポートの詳細にはいっています)フォーマット時に以下のVBAを記述しています。 If Forms![売上一覧表_検索].[opt条件担当者] = "1" Then Me.txt担当者名 = [担当者名] Else Me.txt担当者名 = [マスター担当者] End If データ上、担当者名は入っているのですが、レポートでは何も表示されません。 ご存知の方、よろしくお願いします。

  • ACCESS2000のレポートのコントロールソース内で文字列を結合したい

    ACCESS2000です。 レポートのテキストボックスのコントロールソースに式を書いて、2つのフィールドの文字列を結合してレポート上に表示させたいです。 例えば、 コントロールソース →[宛先]→教えてgoo →[敬称]→御中 とあるデータを レポート上では 「教えてgoo御中」 と一つのテクストボックス内で続けて表示させたいのです。 確かコントロールソースに =[宛先] & [敬称] に似たような感じで書けば良いというかすかな記憶があるのですが、 何かが足りないようで、#Errorになってしまいます。 こんな説明でお分かりになりますでしょうか。。。 宜しくお願い致します。

  • Accessでバーコードコントロールの移動

    Access2000のレポートにバーコードコントロールを貼り付け、 VBAのレポートOpenイベントでLeftやTopプロパティを設定して バーコードコントロールの位置を調整しようとしましたが、 なぜかコントロールの大きさが変わってしまいます。 widthやHeightで元の大きさに戻そうとしても、無視されてしまいます。 VBAでバーコードコントロールの位置の調整はできないのでしょうか? よろしくお願いいたします。

専門家に質問してみよう