Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1200 / 2272 ツリー ←次へ | 前へ→

【8289】テキストボックスにカーソル判定 ハテナ 06/7/18(火) 19:08 質問[未読]
【8291】Re:テキストボックスにカーソル判定 クロ 06/7/19(水) 8:36 発言[未読]
【8296】Re:テキストボックスにカーソル判定 Gin_II 06/7/19(水) 12:44 回答[未読]
【8298】Re:テキストボックスにカーソル判定 hatena 06/7/19(水) 14:57 質問[未読]
【8301】Re:テキストボックスにカーソル判定 クロ 06/7/19(水) 16:37 発言[未読]
【8303】Re:テキストボックスにカーソル判定 hatena 06/7/19(水) 17:46 質問[未読]
【8304】Re:テキストボックスにカーソル判定 クロ 06/7/19(水) 17:55 発言[未読]
【8305】Re:テキストボックスにカーソル判定 hatena@元祖 06/7/19(水) 18:00 発言[未読]
【8307】Re:テキストボックスにカーソル判定 クロ 06/7/19(水) 18:02 発言[未読]
【8308】Re:テキストボックスにカーソル判定 hatena@元祖 06/7/19(水) 18:04 回答[未読]
【8309】Re:テキストボックスにカーソル判定 hatena@元祖 06/7/19(水) 18:27 回答[未読]
【8310】Re:テキストボックスにカーソル判定 hatena 06/7/19(水) 18:37 お礼[未読]

【8289】テキストボックスにカーソル判定
質問  ハテナ  - 06/7/18(火) 19:08 -

引用なし
パスワード
   OS:WindowsXP
ver:access2002

どなたか教えて下さい。

フォーム画面にテキストボックスを作成し、
VBAの画面内(プログラム内)で

テキストボックス1にカーソルがあったら(カーソルが来たら)
Aの処理をし
テキストバックス2にカーソルがあったら
Bの処理をする
という形にプログラムを作成をしたいのですが、

ただし、上記にあたって、
イベント クリック時に上記のプログラムを作成
したいのですが、どのようにすればできるのでしょうか。
テキストボックス1にカーソルがある判定(IF文)がよくわかりません。

どなたか教えて下さい。よろしくお願い致します、

【8291】Re:テキストボックスにカーソル判定
発言  クロ  - 06/7/19(水) 8:36 -

引用なし
パスワード
   おはようございます。

>ただし、上記にあたって、
>イベント クリック時に上記のプログラムを作成
>したいのですが、どのようにすればできるのでしょうか。

質問。
どのコントロールの「クリック時」イベントなのですか?
テキストボックス1の「クリック時」ってことは無いですよね?
クリックしたらそこにフォーカスが行ってしまうので…

もし、別のコントロール(コマンドボタンなど)でしたら
直前のコントロール名(テキストボックス1または2)の取得は
Screen.PreviousControl.Name
で出来ますが、これを利用出来ますか?

コマンドボタンを押下する前にあったコントロール名がテキストボックス1
だったらAの処理、テキストボックス2だったらBの処理…
みたいな感じですが…

【8296】Re:テキストボックスにカーソル判定
回答  Gin_II  - 06/7/19(水) 12:44 -

引用なし
パスワード
   > テキストボックス1にカーソルがあったら(カーソルが来たら)
> Aの処理をし
> テキストバックス2にカーソルがあったら
> Bの処理をする
> という形にプログラムを作成をしたいのですが、

であれば、普通に考えると
 フォーカス取得時
 フォーカス取得後
なんかのイベントだと思いますが、なぜ

> イベント クリック時に上記のプログラムを作成
> したいのですが、どのようにすればできるのでしょうか。

クリック時に作成したいのでしょうか?

【8298】Re:テキストボックスにカーソル判定
質問  hatena  - 06/7/19(水) 14:57 -

引用なし
パスワード
   クロ様、Gin_II様
レスありがとうございます。

ちょっと説明が足りなかったのですが、
日付1(テキストボックス1)があり、クリックすると、カレンダー表示となります。
そこで、カレンダー日付の日にちをクリックすると、
下記の文の通り、代入させるようにしております。
Forms!○○○!日付1 = Me.Calendar.Value

その際に、日付2(テキストボックス2)、日付3(テキストボックス3)もあるので、日付1にカーソルがあったら、
Forms!○○○!日付1 = Me.Calendar.Value

日付2にカーソルがあったら
Forms!○○○!日付2 = Me.Calendar.Value

日付3にカーソルがあったら、
Forms!○○○!日付3 = Me.Calendar.Value

としたいのですが、このときの条件判断の仕方がいまいち分かりませんので、
もしよろしかったら助けて下さい。

【8301】Re:テキストボックスにカーソル判定
発言  クロ  - 06/7/19(水) 16:37 -

引用なし
パスワード
   http://www.tsware.jp/study/vol10/comctl_21.htm
カレンダー(ActiveXかな?)を使わずにこちらでやった方が
楽では?

【8303】Re:テキストボックスにカーソル判定
質問  hatena  - 06/7/19(水) 17:46 -

引用なし
パスワード
   クロ様
カレンダー(ActiveX)を使っております。
このコントロールにはオブジェクトがありませんとメッセージが
表示され、使えませんが、
トップページにあった下記の事をすればよろしいのでしょうか。
ただ、あまり意味が理解できないというか場所がどこなのかが
今いち分からないのですが、どのような形で使えるか分かれば
教えていただきたいのですが。よろしくお願いします。


Office2000/2002 Developer に添付されているActiveXコントロール、「Windows コモン コントロール(Mscomctl.ocx/Mscomct2.ocx)」の事例集です。これらのOCXには、標準のAccessにはない、いくつかのActiveXコントロールが含まれています。フォームのデザインビューにおいて、[挿入]-[ActiveXコントロール]メニューより挿入することができます。本シリーズでは、実際に動作するサンプルフォームによって、それらの挿入後の取り扱い方法を紹介します。

※ActiveXコントロールの挿入ダイアログにおいて、同一コントロールで「Version 5.0 (SP2)」と「Version 6.0」の2つがある場合には、後者を選択するようにしてください。

【8304】Re:テキストボックスにカーソル判定
発言  クロ  - 06/7/19(水) 17:55 -

引用なし
パスワード
   あら、もしかしたなのいかな?
フォームデザインで
メニュー>挿入>ActiveXコントロールを選択して
ダイアログから
「Microsoft Date and Time Picker Control *.*」
っていうのがありますか?

あるようでしたら、現行のテキストボックス日付1〜日付3を
をこのコントロールに変更してください。
※コントロールソースがあるテキストボックスでしたら、それも

▼マークをクリックすればコンボボックスのようにカレンダーが
プルダウンされますので、別フォームのカレンダーを使うよりは
いいかなと思ったんです。

無いようでしたら悪しからず…

【8305】Re:テキストボックスにカーソル判定
発言  hatena@元祖  - 06/7/19(水) 18:00 -

引用なし
パスワード
   >あら、もしかしたなのいかな?

Office Developer とか、VB など開発者向けのパッケージに
付属してくるOCXですので、標準のACCESSにはないですね。

【8307】Re:テキストボックスにカーソル判定
発言  クロ  - 06/7/19(水) 18:02 -

引用なし
パスワード
   あうち、スミマセン。
と言うことなので無視してください。

#(元祖)hatenaさん、フォローどうもです。

【8308】Re:テキストボックスにカーソル判定
回答  hatena@元祖  - 06/7/19(水) 18:04 -

引用なし
パスワード
   >日付1(テキストボックス1)があり、クリックすると、カレンダー表示となります。
>そこで、カレンダー日付の日にちをクリックすると、
>下記の文の通り、代入させるようにしております。

カレンダーのあるフォームは別フォームなのですね。

ならば、OpenForm するときに、OpenArgs 引数でコントロール名を
渡すか、
カレンダーフォームの開くときで、Screen.ActiveControl
で取得できます。

【8309】Re:テキストボックスにカーソル判定
回答  hatena@元祖  - 06/7/19(水) 18:27 -

引用なし
パスワード
   >ならば、OpenForm するときに、OpenArgs 引数でコントロール名を
>渡すか、

コード例

日付1 クリック時イベント

DoCmd.OpenForm "カレンダーフォーム",,,,,acDialog, Screen.ActiveControl.Name

カレンダーフォームの カレンダーコントロールの
AfterUpdateイベントで、

Forms!○○○(Me.OpenArgs) = Me.Calendar.Value


>カレンダーフォームの開くときで、Screen.ActiveControl
>で取得できます。


カレンダーフォーム の宣言セクション

Dim ctl As Control

開くときイベント

Set ctl = Screen.ActiveControl

カレンダーコントロールのAfterUpdateイベントで、

ctl = Me.Calendar.Value

【8310】Re:テキストボックスにカーソル判定
お礼  hatena  - 06/7/19(水) 18:37 -

引用なし
パスワード
   hatena@元祖様、皆様

ありがとうございます。
お蔭様でできました。
ありがとうございました。

1200 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078214
(SS)C-BOARD v3.8 is Free