dポイントプレゼントキャンペーン実施中!

エクセルの場合は、
Sub Macro1()
ActiveWindow.SmallScroll Down:=100
End Sub

でスクロールバーの位置をVBAで設定できますが
アクセスのフォームのスクロール倍の位置をVBAで設定することは可能でしょうか?

「スクロールバーをVBAで操作したい」の質問画像

A 回答 (2件)

> アクセスのフォームのスクロール倍の位置をVBAで設定



Accessの場合、残念ながらスクロールバーについては表示/非表示を
切り替えるプロパティぐらいしかありません。

ですので、代替策として「『改ページ』コントロールの追加」を提案します。
(「SmallScrollメソッドの引数で位置指定」をする代わりに、
 フォームのGotoPageメソッドで移動先を指定します)

『改ページ』コントロールについては、下記のQ&Aでnicotinismさんが
ご紹介しているサイトがわかりやすいかと思います:

【Q&A】
http://oshiete.goo.ne.jp/qa/7528843.html

【紹介URL】
http://www.tsware.jp/tips/tips_026.htm
「スクロールバーをVBAで操作したい」の回答画像2
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/11/16 22:07

限定した条件下のことしか回答できませんが・・・・




条件)単票で詳細しかないフォームが対象

また、以下は表示位置をずらすことでスクロールバーが移動する・・・動きとなってます。


詳細の高さを 20 cm で作成したとします。
フォームを起動して、表示されている高さを 5 cm と仮定します。
この場合、スクロールバーは 0 ~ 15 cm 分移動できるようになっていると思います。
数値化すると 0 ~ 8505( 567*15 )の範囲になります。

DoCmd.GoToPage 1, , 0 ~ 8505

で移動できると思います。範囲を超えた場合は、超えた方の隅に移動するようです。
上から 1 cm のところなら

DoCmd.GoToPage 1, , 567

上から 10 cm のところなら

DoCmd.GoToPage 1, , 5670


なお、DoCmd.GoToPage は Me.GoToPage の方が良いとかなんとか・・・ヘルプを見てください。


※ 実際には 567 の倍数ではなく +α が必要かも

DoCmd.GoToPage 1, , 567+α
DoCmd.GoToPage 1, , 5670+α

αは、-6 とか -12 とか -15 とか・・・・・
指定する値は 567 の倍数に限定されません。
ただ、デザインでいろいろ配置していくと cm に合わせることが多いのかな・・・
1 cm のつもりで 567 指定しても綺麗に枠線表示されるかな・・・・
この辺りは、実際にやってみての調整の範囲と思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/11/16 22:07

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A