goo blog サービス終了のお知らせ 

開発頭-kenken

写真付きで日記や趣味を書くならgooブログ

最近node.jsが気になってきました。

フォームのデータシート表示で列幅を調整する方法

2012-04-27 21:10:22 | Access・Form

■フォームのプロパティで設定
フォームのデータシート表示で列幅を調整する場合、表示したデータシートを選択して列幅を設定します。

参考URL






■VBAで設定
例1:「商品名」の列幅を10論理cmに設定する
Private Sub cmd実行_Click()
  Me!frm売上明細_sub!商品名.ColumnWidth = 10 * 567
End Sub

コントロールの幅は通常は「Width/幅」プロパティを使って設定しますが、データシートビューでの列幅にはその値は反映されません。データシート上の幅には「ColumnWidth」プロパティを使います。
また、「ColumnWidth」プロパティをVBAから設定する場合は「twip」という単位を指定します。「1論理cmは567twip」ですので、上記はそれを掛け算しています。


複数のサブフォームのイベント発生順を変更する。

2012-04-27 20:34:45 | Access・Form



メインフォーム、サブフォームA、サブフォームBの構成でそれぞれ,開く時のイベント(Form_Open)の発生順を確認してみた結果、下記の順となった。

サブフォームA→サブフォームB→メインフォームの順でイベントが発生する。

メインフォームは最後に発生するのを変更するのはできない(多分)

しかしサブフォームの順番は入れ替え可能。

例題で、サブフォームB→サブフォームAとしたい場合、一度サブフォームAをメインフォームから切り離し、再度メインフォームに貼り付けなおすと、イベントの発生順を変更することができる。

つまり、サブフォームのイベント発生順は、メインフォームに貼り付けた順番に依存するようだ。


フォームの位置とサイズを固定して開く

2012-04-20 22:44:47 | Access・Form

フォームの「開くとき」イベントで大きさを指定することが出来ます。

Private Sub Form_Open(Cancel As Integer
  DoCmd.MoveSize 800, 2000, 4000, 3000
End Sub

800・・・・・・・画面左から800twipの位置
2000・・・・・・画面上から2000twipの位置
4000・・・・・・フォームの横幅40000twip
3000・・・・・・フォームの高さ3000twip

※指定する単位は、twipが使われています。

1cm=567twipなので、10cmの幅、14cmの高さであれば・・・

DoCmd.MoveSize 100, 100, 5670, 7938

となります