
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ANo.1です。
すっかり遅くなってしまいました。ごめんなさい。結論から言うと、Accessフォームをスクロールさせることができました。
以下に手順を書きます(Access2000用)。最後まで読んでから行ってください。
[手順]
1. URL1)http://www.lebans.com/setgetsb.htm
からSetGetSB.zipをダウンロード、解凍し、Accessファイルを開く。
2. 開いたAccessファイルのコードビルダ(=Visual Basic Editor)を表示し、
モジュールmodGet-SetScrollInfoの中身をすべてコピーする。
3. スクロールの設定をしたいAccessファイルのコードビルダを表示し、
「挿入」→「標準モジュール」を実行する。
4. 作成したモジュールに2.を貼り付ける。
5. コードビルダ左下の(オブジェクト名)をmodGet-SetScrollInfoとする。
6. URL2)http://support.microsoft.com/kb/278379/ja
の「Microsoft Access のみを使用して MouseWheel イベントを作成する」の
手順に従い、「クラスモジュール「標準モジュール」」の作成、スクロールの
設定をしたいフォームのクラスモジュールへの記述の追加を行う。
7. 6.で行った「標準モジュール」の作成のうち、
CMouse.FireMouseWheel
という記述を
CMouse.FireMouseWheel (wParam)
と書き換える。
8. 6.で行った「クラスモジュールの作成」のうち、FireMouseWheel()を以下のように変更する。
==== Code 1 ====
Public Sub FireMouseWheel(ByVal wParam As Long)
RaiseEvent MouseWheel(intCancel, wParam)
End Sub
==== end of Code 1 ====
9. 6.で行ったフォームのクラスモジュールへの記述のうち、clsMouseWheel_MouseWheel()
を以下のように変更する。
==== Code 2 ====
Private Sub clsMouseWheel_MouseWheel(Cancel As Integer, wParam As Long)
Dim tmpLng As Long
Const scrollVal = 10
If wParam > 0 Then
If fGetScrollBarPos(Me) > scrollVal Then
tmpLng = fSetScrollBarPos(Me, fGetScrollBarPos(Me) - scrollVal)
End If
Else
tmpLng = fSetScrollBarPos(Me, fGetScrollBarPos(Me) + scrollVal)
End If
'MsgBox "You cannot use the mouse wheel to scroll through records." & wParam
'Cancel = True
End Sub
==== end of Code 2 ====
10. 一旦Accessファイルをすべて閉じる。
これで、変更したAccessファイルのフォームはマウスホイールでスクロールするようになります。
7.のConst scrollVal = 10がスクロールする高さの設定です。使いやすい値に設定してください。
[問題点]
URL2でも述べられているように、コードビルダに不具合があるため、
「コードビルダ」と「変更を加えたフォームのフォームビュー」を同時に表示すると
Accessがフリーズします。(Windows自体も重くなります。)
ですから、コードビルダでの編集が終了したら、一旦Accessを終了させ、再度Accessを起動して
フォームを開く必要があります。(逆の場合も同様です。)
このため、VBAを書いている途中だとVBAのデバッグに支障をきたしてしまいます。
(一旦VBAができあがってしまえば、問題なくAccessを実行できます。)
(またAccessをフリーズさせてしまった場合はタスクマネージャでAccessを強制終了
させてください。)
この問題を回避する方法もURL2に書いてあります。
VBAの代わりにVisual Basicで記述してDLLファイルを生成、生成したDLLファイルをAccessで
読み込むというものです。
Windowsのことを勉強する良い機会になりました。ありがとうございます。
irija_bari様、本当にどうもありがとうございました。何かとっても嬉しいです。早速私も挑戦して完成させます。私は仕事でaccessを使用していますが今後も仕事だけでなく勉強したいと思いました。
irija_bari様の今後のご活躍をお祈りしております。
No.2
- 回答日時:
興味があったので、その後少し調べてみたのですが、
Accessフォームをマウスのホイールでスクロールさせる方法があるようです。
参考URL)http://x7net.com/~access/AcTipsSyncSubformsScrol …
スクロール情報の所得と設定ができるということは、あるテキストボックスで
TabあるいはEnterを押したときに、ウィンドウの高さの半分だけ縦にスクロールさせる
ということもできるのでしょう。
サンプルのAccessファイルをちょっといじってみたのですが、まだうまくいっていません。
もし、うまくいきましたらまた投稿します。
ちなみに、VBAもマウスホイールが効きませんが、これは、
Wheel Redirector: http://www.vector.co.jp/soft/win95/util/se261633 …
というソフトが使えました。
参考URLどうもありがとうございました。もしかしたら可能性がありそうですね。
私も少しいじってみようと思います。
成功したら是非、投稿してください。
どうぞ宜しく御願いします。
No.1
- 回答日時:
回答してくださる方がいらっしゃらないようなので。
まず、Accessのフォーム画面をマウスのホイールでスクロールさせるのは
できないようです。
参考)http://www.fuku3.com/habata//kbbs/kakov9/26144.htm
>ある一定の縦幅を持たせて画面を動かして(下方向)入力しやすいようにしたい
の意味するところがわからないです。
フォーム(あるいはAccessそのもの)のウィンドウの高さのことでしょうか?
「画面を動かす」とは?
>また、帳票形式の表をフィルターをかけて複数ページに分けたフォームを作りましたがページを開けたとき、常にスクロールの先頭に表示させることも設定できるでしょうか。
これもよく意味が捉えられなかったので、以下のような推測の元に書きます。
==== 推測 ====
・入力フォームを作成したが縦長で入力しにくいため、「タブ コントロール」を使っている。
・「タブ コントロール」をクリックしてページを変更したときに、ページの一番上にある
入力項目(テキストボックス、ボタンなど)がFocusされている(入力できる)状態にしたい。
==== 推測ここまで ====
1. 作成したフォームを「デザイン ビュー」で開く。
2. 「タブ コントロール」の各ページで、一番上にある入力項目(あるいはページを開いた
ときにFocusしたい入力項目)のプロパティを開き、プロパティ・ウィンドウの「その他」タ
ブにある「タブ移動順」という項目の値を0にする。
(2. は「タブ コントロール」に含まれる全てのページで行う必要があります。)
「タブ移動順」というのは、Tabキーを押した時にFocus(入力する場所)をどこに移動させるかを
決めるための項目です。
0 -> 1 -> 2 -> 3 -> ...
という順で移動していきます。
推測が違っていますと、的外れな回答になっていることと思います。
その場合は補足を入れてください。
以上
どうもありがとうございました。質問が的を得てなくてすみませんでした。マウスホイールは使えないのですね。残念です。画面を動かすとは入力フォームのテキストボックスに入力していくうちに一番下になると一行づつしか下の項目が出てこなくなるので常に中央で入力できるように画面を自動で上に上げられないかという事でした。
お答え頂いた件はサブフォームを数枚重ねてコマンドボタンで表示させていますが2枚目をあけると1枚目の最終入力した同じ場所で表示されてしまったのでページトップから表示させたかったのです。これは、Requeryで解決しました。
ご親切にご回答頂いてどうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- その他(ブラウザ) bingチャットの内容(縦長)をスクリーンショットで保存する方法 3 2023/02/28 02:13
- その他(OS) Mac OSの操作について 2 2022/06/08 09:19
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Windows 10 Windows 10の立ち上げについて 2 2022/04/17 13:36
このQ&Aを見た人はこんなQ&Aも見ています
-
Accessフォームで画面をスクロールさせるには?
Access(アクセス)
-
アクセスVBA フォームのスクロールバーを動かす。
Visual Basic(VBA)
-
AccessVBA サブフォームとスクロールについて
Access(アクセス)
-
-
4
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
5
ACCESSのフォームで次のレコードに移動しない方法を教えてください
その他(データベース)
-
6
ACCESSのクエリー抽出条件にIIFを使用して
Access(アクセス)
-
7
AccessのFormの設定で、開いた時に必ず最大化で表示する方法が分からず困っています
Access(アクセス)
-
8
「○○○.ldb」のAccess レコード ロック情報←このファイルが消えません
その他(データベース)
-
9
スクロールバーをVBAで操作したい
Access(アクセス)
-
10
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
-
11
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
12
Access VBA でForm位置を参照するプロパティ?
Access(アクセス)
-
13
Accessでのフォーム表示がうまき出来ません。
その他(データベース)
-
14
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
15
ACCESSフォーム入力後の確定
Access(アクセス)
-
16
Acccessで2つのテーブルから1つのフォームをつくりたい
Access(アクセス)
-
17
新規レコード行を非表示にしたい
Access(アクセス)
-
18
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
19
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
-
20
ACCESS フォームをそのまま印刷について
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access 別フォームへの再クエ...
-
Accessのフォーム上にレコード...
-
ACCESSのフォームからデータの...
-
Access2002 閲覧フォームから入...
-
ACCESSのフォームに関して質問...
-
Accessでの累計の出し方について
-
Access:フォームをクリ...
-
access2000で存在しないデータ...
-
選択したチェックボックスのみ...
-
ACCESSでテーブルから選択,表示...
-
アクセスのフォームで連結コン...
-
アクセスのフォームのビューが...
-
access2000で名簿を作っている...
-
Access2002 フォームを閉じるた...
-
アクセス非連結フォームのテキ...
-
Access コマンドボタンクリッ...
-
「#エラー」と表示されてしまう
-
ACCESSでのテキストボックスの...
-
帳票フォームに全レコードを表...
-
Access2000で、コンボボックス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのフォームからデータの...
-
選択したチェックボックスのみ...
-
Accessのフォーム上にレコード...
-
アクセスのフォームのビューが...
-
アクセスでテーブルの変更内容...
-
Access 別フォームへの再クエ...
-
ACCESSで入力フォームをHTMLフ...
-
Access2002 フォームを閉じるた...
-
accessの自動更新処理をできな...
-
Accessフォームのテキストボッ...
-
アクセスでの項目追加について...
-
ADOでRecordsetオブジェクトを...
-
Accessのフォームで作業領域を...
-
Accessのハイパーリンクのパス...
-
[至急]accessクエリ結果を入力...
-
「メソッドまたはデータメンバ...
-
アクセス 0以外をカウントす...
-
オートシェイプのような作図入...
-
入力途中の入力した値をすべて...
-
Access フォーム上でコンボボッ...
おすすめ情報