アプリ版:「スタンプのみでお礼する」機能のリリースについて

転記したフォーム、レポートのレコードソース、標題をVBAで変更したいんです。

テーブル名、フォーム名、レポート名の3つのフィールドが一覧となっているテーブル「オブジェクト名」があるとします。

○例「オブジェクト名」テーブル
テーブル名  フォーム名  レポート名
T_ああ      F_ああ    R_ああ
T_いい      F_いい    R_いい

まず、Excelからインポートしたテーブル名を、上の一覧中のテーブル名「T_ああ」をインプットボックスでまず割り当てておきます。
割り当てた値は「varac」とします。

また、フォーム「オブジェクト作成」に、「フォーム作成」、「レポート作成」というコマンドボタンを作り、TransferDataBaseメソッドを利用し、フォーム、レポートを、既にあるそれぞれ元となるオブジェクトから転記していきます。

その際、それぞれの名称は、DLookUp関数を使い、「varac」を元にして「オブジェクト名」テーブルからフォーム名、レポート名を引っ張ってきます。
ここまでは順調に出来ました。
さらに値「varac」を利用して、フォーム、レポートのレコードソース、標題を変更したいんです。

でも、どうコーディングしたら全体プロパティのレコードソース、標題が変わってくれるのか分かりません。
一つのフォームのレコードソースや標題を変えるのなら、
Me.RecordSource = varacや、Me.Caption = varacにすれば変更できます。
ただ、転記中にフォーム「オブジェクト作成」からどう指示したら、転記先のフォーム上のプロパティ、または転記先のレポート上のプロパティと、認識してくれるのかまったく分かりません。

初心者でもあるため、コーディングに詳しいコメントをしていただくと、とても嬉しいです。
よろしくお願い致します。

A 回答 (2件)

結論から言うと、


無理です。

なぜなら、
フォームオブジェクトや、
レポートオブジェクトというのは
VBAではなく、
VBE(Visual Basic Editer)が
制御しているからです。

VB6.0などで、
コーディングアドインを作成しない限り、
不可能です。
    • good
    • 0

> 転記中にフォーム「オブジェクト作成」からどう指示したら、転記先の


> フォーム上のプロパティ、または転記先のレポート上のプロパティと、
> 認識してくれるのかまったく分かりません。

  Dim strName As String
  strName = "フォーム名"
  
  DoCmd.OpenForm strName, acDesign
  With Forms(strName)
    .RecordSource = varac
    .Caption = varac
  End With
  
  DoCmd.Close acForm, strName, acSaveYes

こんなことでしょうか?

> コーディングに詳しいコメントをしていただくと
難しいことは、何もしていないです。
ただ、デザインビューで開き、プロパティをセット。
で、保存して閉じているだけです。
別フォームの参照方法がわからなかったということですよね?
    • good
    • 0
この回答へのお礼

Gin_Fさま、回答ありがとうございます。

>こんなことでしょうか?

こんなことです!
出来ました!
私のやりたいことそのもののお答えでしたよ。

今はAccess、VBA両方お勉強中で深みにはまってるところです。
これでまた一つお勉強になりました。
どうもありがとうございました。

お礼日時:2004/06/15 20:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!