Access サブフォームのサイズをメインフォームに連動させる。
処理概要
学校で使用するアプリを作っています。
生徒マスターを作成しているのですが、Excelファイルから読み込んで登録したいので、メインフォームにコマンドボタンを作成して、データ表示領域は、データシートビューのサブフォームを組み込みました。
このようなテーブルに、Excelのファイルを読み込みます。
画面サイズを変更すると、サブフォームのサイズも連動するように作成しました。
サブフォームは、データシートビュー形式で表示していますので、下記の操作が可能です。
- 項目幅は自由に変更できます
- フィルターや並び替えも右クリックメニューで変更することができます。
Excelファイルを読み込む処理は、下記を参照してください。
https://qiita.com/muramoto_jp/items/09f5cc558779766e9bfc
フォームデザイン
コマンドボタンが必要なので、データ部分は、サブフォームで作成しています。
フォームを開く時の初期サイズは、フォーム内にテキストボックスで値を貼り付けています。
初期値を変更する場合は、プロパティシートで値を変更します。
(=は、消さないように!)
プログラムコード(VBA)
フォームの初期サイズは、フォーに貼り付けているオブジェクトから取得します。
取得した値の単位が cm の場合は、567 を乗ずるとフォームの単位に変換できます。
Private Sub Form_Load()
'--- デザイン設定 ---
If Nz(Me.sys高さ.Value, 0) > 0 Then Me.InsideHeight = Nz(Me.sys高さ.Value, 0) * 567
If Nz(Me.sys幅.Value, 0) > 0 Then Me.InsideWidth = Nz(Me.sys幅.Value, 0) * 567
End Sub
メインフォームのサイズを変更した場合に、サブフォームサイズを変更しています。
縦のサイズは、コマンドボタンの高さの分、小さくしています。
Private Sub Form_Resize()
Dim wHaba As Long
Dim wTaka As Long
wHaba = Me.InsideWidth
wTaka = Me.InsideHeight
Me.frmSub.Width = wHaba
Me.frmSub.Height = wTaka - 567 * 0.8
End Sub
サンプルファイル ダウンロード
サンプルファイルは、下記の OneDrive からダウンロードできます。
【サブフォーム連動】
https://1drv.ms/u/s!AiwZpyuHUgQBj7Yp04MO7b83Ujvyag?e=d8O14T
【サンプルファイル一覧】
https://1drv.ms/u/s!AiwZpyuHUgQBj7Yj0iyQ2-RXKtPUtg?e=4D2gyf
AccessとExcelを連携したシステムを公開しています
データベースをAzure SQL にセットして、AccessやExcelのプログラムから データベースを遠隔地間で共有するシステムを公開しています。
Author And Source
この問題について(Access サブフォームのサイズをメインフォームに連動させる。), 我々は、より多くの情報をここで見つけました https://qiita.com/muramoto_jp/items/d0289f64a8bfea97f3ff著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .