Microsoft Access 掲示板

ラベルの配置をVBAで書き換える方法

2 コメント
views
4 フォロー

お世話になっております。
VBAからラベルの座標を設定しています。


  Dim fm As Form
  Dim ctl As Control

      Set fm = Forms!frmSample
     Set ctl = fm.Controls!lblFixed1
          ctl.Left = 1701
          ctl.Top = 567

これでは、フォームを開いた時などは、設定した
座標にラベルが配置されますが、フォームを閉じると、
VBAで指定する前の元の位置に戻ります。 

VBAから指定した位置を閉じた後も保持する方法は
あるのでしょうか。

ご教示お願い致します。
以上

みどり
作成: 2023/04/29 (土) 14:50:46
最終更新: 2023/04/29 (土) 14:53:44
通報 ...
1

デザインビューにしてからプロパティを変更して、閉じるときに保存すれば、次回開いたときに変更が反映されてます。

  Dim fm As String
  Dim ctl As Control

  fm = "フォーム1"
  DoCmd.OpenForm fm, acDesign 'デザインビューに切り替え
  Set ctl = Forms(fm)!ラベル1
  ctl.Left = 100
  ctl.Top = 100
  DoCmd.Close , , acSaveYes '保存して閉じる
  DoCmd.OpenForm fm         '再度開く

ただ、運用中に頻繁にデザインビューに変更して、変更を保存するのは破損のリスクが高くなるので避けたいところです。

プロパティの変更値をテーブルに保存しておいて、フォームを開くときのイベントで、そのプロパティ値を設定するという設計をお勧めします。

2
みどり 2023/04/30 (日) 09:02:27 31b5c@ff1f1

hatenaさん、回答ありがとうございます。
デザインビューで開いて、保存するのですね。
早速ためしたところ、うまく行きました

ありがとうございます。
今後もよろしくお願いします。