🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.visualbasic
Article #944

Re: コードでテキストボックスの追加

#944
From: Masaru Natsui
Date: Thu, 18 Dec 1997 00:00
58 lines
2913 bytes
In article <678mdm$3p8$1@news2.osk.3web.ne.jp>, t-fujii@interlink.or.jp says...
>
>みなさんこんばんわ。
>いま、Access97 でプログラミングしています。
>
>フォームのロード時のイベントでテキストボックスを新しく作成し、コントロール
>ソースも定義しようとしています。
>
>Private Sub Form_Load()
>
>    Dim Text2 As New TextBox
>
>    Text2.ControlSource = "ID"
>
>End Sub
>
>と書いたのですが、「実行時エラー 429 ActiveXコンポーネントはオブジェクトを作
>成できません。」となってしまいます。
>
>どうしたら、ソースだけでテキストボックスを追加生成し、データベースを連結でき
>るのでしょうか?
>

新しいテキストボックス(正確にはテキストボックスタイプのコントロール)を
作成するには、CreateControl関数を使用します。

また、この関数は、そのコントロールを作成するフォーム、またはレポートが
デザインビューの時にのみ使用できるようで、Loadイベントで自分自身に
作成するのは無理ではないでしょうか。

もし、やるとすれば、標準モジュールかフォームなどのクラスモジュール上で、
目的のフォームを一旦デザインビューで開いてコントロールを作成した後に、
フォームビューに切り替えるなどの手順が必要になると思います。

Public Function CreateTextbox()
Dim Text2 As Control

    '"フォーム1"をデザインビューで開く(非表示モード)
    DoCmd.OpenForm "フォーム1", acDesign, , , , acHidden
    
    '"フォーム1"の詳細セクション上に"TB_ID"というコントロール名の
   'テキストボックスを作る
    'コントロールソースは"ID"というフィールドのデータを参照する
    Set Text2 = CreateControl("フォーム1", acTextBox, acDetail, , "Text2")
    Text2.Name = "TB_ID"
    Text2.ControlSource = "ID"
    
    '"フォーム1"を閉じ、変更内容を保存する
    DoCmd.Close acForm, "フォーム1", acSaveYes

    '"フォーム1"を開く
    DoCmd.OpenForm "フォーム1", acNormal

End Function


ちなみに、Accessのフォームでは、コントロール配列は使用できないと思いましたが。
Technical Details
Message-ID: <67a7nf$44m@ushi.ids.njk.co.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <678mdm$3p8$1@news2.osk.3web.ne.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 110a07,26995a71db4657f8
X-Google-Attributes: gid110a07,public
X-Google-Thread: 105c2e,26995a71db4657f8
X-Google-Attributes: gid105c2e,public
X-Google-Thread: 115e07,26995a71db4657f8
X-Google-Attributes: gid115e07,public
From: nats@ids.njk.co.jp (Masaru Natsui)
Subject: Re: コードでテキストボックスの追加
Date: 1997/12/18
Message-ID: <67a7nf$44m@ushi.ids.njk.co.jp>
X-Deja-AN: 299232890
Distribution: fj
References: <678mdm$3p8$1@news2.osk.3web.ne.jp>
Content-Type: text/plain; charset=ISO-2022-JP
Organization: NJK Corp.
Mime-Version: 1.0
Reply-To: nats@ids.njk.co.jp, nat@mwa.biglobe.ne.jp
Newsgroups: fj.lang.visualbasic,fj.os.ms-windows.programming,japan.comp.lang.visual-basic