Date:  Mon, 5 Oct 2015 22:58:13 +0900
From:  no@ann.co.jp
Subject:  [pasml 04010] Re: Microsoft   Access2010  のフォームにて 
To:  pml@ann.co.jp
Message-Id:  <201510051358.t95DwDDN000864@ns.ann.co.jp>
X-Mail-Count: 04010

名前: ZONE BBSから
質問:http://pasokoma.jp/51/lg515254#515255
携帯:http://pasokoma.jp/m?num=515255&ope=v
--
アクセス初心者さんは No.515254「Microsoft Access2010 のフォームにて」で書きました。

>VBAの知識はありません><

勉強する気はありますか?
入力順序のコントロールは非常に難しい部類に入ると思います。
TextBox イベント内で、SendKeysやSetFocusを使うことにより希望していることの
実現は可能です。
・TextBox イベント (Access)
https://msdn.microsoft.com/JA-JP/library/office/jj249490.aspx
イベントの発生順序とフォーカスの移動を理解しないと思ったことはできません。
取り敢えず、GotFocus / KeyPress / LostFocus イベントがどのように動作するか
勉強してください。
また、それぞれのイベントの中でSetFocusを実行すると、どんな動作をするか
試して動きを理解してください。

>・もし txt1 に 数値の3を入力したら

これは、KeyPressイベントで3が押されたらSendKeysでTabを出力すると、Txt1の
入力を終えて次の項目(Txt2)にフォーカスを移動させることができます。

>次の 入力は txt3 から始まる(txt2は飛ばして)

これは、SetFocusでTxt3にフォーカス移動してやれば実現できます。
どの項目のどのイベントで実行すれば良いかは先に書いた通り試してください。

>・もし txt2 に 数値の10以上を入力したら 何らかのメッセージを出さずに
>もう一度 txt2 を入力しなおす

これも、SetFocusでできます。
入力値のチェックとSetFocusの実行をどのイベントで行うと良いかは試してください。

イレギュラー処理は考慮していませんので、それを含めて実現させようとすると
かなり大変な作業になります。
例えば、Txt1に31を入力したいとか、Txt1の値が3のときにTxt2の入力を行いたいとか。
また、マウスで他の項目に移動した、または移動したい場合とか。
頭で考える以上の問題が実際に動かすと次々に涌いてきます。
--
== 掲示板URL: http://pasokoma.jp/bbs ==
   配信の停止: http://pasokoma.jp/taikai
   本メールマガジンへの返信はなさらないで下さい
== 投稿はパソコン困りごと掲示板でお願い致します ===