Access VBA質問箱 IV

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

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


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

【4346】フォーカスの移動 DIO 05/2/4(金) 11:32 質問[未読]
【4361】Re:フォーカスの移動 かろちん 05/2/6(日) 23:44 回答[未読]
【4363】Re:フォーカスの移動 DIO 05/2/7(月) 9:05 発言[未読]
【4376】Re:フォーカスの移動 かろちん 05/2/9(水) 0:02 回答[未読]
【4380】Re:フォーカスの移動 DIO 05/2/9(水) 9:50 回答[未読]
【4422】Re:フォーカスの移動 かろちん 05/2/15(火) 0:51 回答[未読]

【4346】フォーカスの移動
質問  DIO  - 05/2/4(金) 11:32 -

引用なし
パスワード
   サブフォームの詳細で、複数のレコードが表示されるのですが、その一番先頭のレコードのコンボボックスにフォーカスを移動したいのですが、どうすれば良いでしょうか?

【4361】Re:フォーカスの移動
回答  かろちん  - 05/2/6(日) 23:44 -

引用なし
パスワード
   >サブフォームの詳細で、複数のレコードが表示されるのですが、その一番先頭のレコードのコンボボックスにフォーカスを移動したいのですが、どうすれば良いでしょうか?

サブフォームにフォーカスを飛ばしたらサブフォームの先頭に
フォーカスが行くと思いますけど。

どの状態の時に先頭に持っていきたいのかが掛かれていないので
どう回答をすればよいのか分かりませんが。

サブフォーム名.SetFocusやDoCmd.GotoRecord
なんかをHELPで調べてみては如何でしょうか?

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=4350;id=access
ここと関連があるのでしょうか?

【4363】Re:フォーカスの移動
発言  DIO  - 05/2/7(月) 9:05 -

引用なし
パスワード
   ▼かろちん さん:
>>サブフォームの詳細で、複数のレコードが表示されるのですが、その一番先頭のレコードのコンボボックスにフォーカスを移動したいのですが、どうすれば良いでしょうか?
>
>サブフォームにフォーカスを飛ばしたらサブフォームの先頭に
>フォーカスが行くと思いますけど。
>
>どの状態の時に先頭に持っていきたいのかが掛かれていないので
>どう回答をすればよいのか分かりませんが。
>
>サブフォーム名.SetFocusやDoCmd.GotoRecord
>なんかをHELPで調べてみては如何でしょうか?
>
>http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=4350;id=access
>ここと関連があるのでしょうか?

サブフォームの詳細に複数のレコードが表示されるのですが、他のレコードをクリックしたときコンボボックスがNULLの時などは他のレコードにフォーカスを飛ばしたくないのです。

【4376】Re:フォーカスの移動
回答  かろちん  - 05/2/9(水) 0:02 -

引用なし
パスワード
   >サブフォームの詳細に複数のレコードが表示されるのですが、他のレコードを
>クリックしたときコンボボックスがNULLの時などは他のレコードにフォーカス
>を飛ばしたくないのです。

DoCmd.GotoRecordやコンボボックス名.SetFocusでいけると
 思いますが、GotoRecordやSetFocusはHELPで調べて見ましたか?

 今回の質問の場合、コンボボックスがNULLの条件はどこでチェック
 するのでしょうか?
 変更していないケースもあるので、フォーカス喪失時もしくは
 フォーカス喪失後になると思います。
 フォーカス喪失時の処理でNULL判定するなら、Cancelが使えますので
 NULLの場合、Cancel=1 でも可能かと思います。

【4380】Re:フォーカスの移動
回答  DIO  - 05/2/9(水) 9:50 -

引用なし
パスワード
   ▼かろちん さん:
>>サブフォームの詳細に複数のレコードが表示されるのですが、他のレコードを
>>クリックしたときコンボボックスがNULLの時などは他のレコードにフォーカス
>>を飛ばしたくないのです。
>
> DoCmd.GotoRecordやコンボボックス名.SetFocusでいけると
> 思いますが、GotoRecordやSetFocusはHELPで調べて見ましたか?
>
> 今回の質問の場合、コンボボックスがNULLの条件はどこでチェック
> するのでしょうか?
> 変更していないケースもあるので、フォーカス喪失時もしくは
> フォーカス喪失後になると思います。
> フォーカス喪失時の処理でNULL判定するなら、Cancelが使えますので
> NULLの場合、Cancel=1 でも可能かと思います。
NULLの条件はフォーカス喪失時に関数へ飛ばしてチェックしています。
DoCmd.CancelEventの後、SetFocusでうまくいくような気がするのですが...

【4422】Re:フォーカスの移動
回答  かろちん  - 05/2/15(火) 0:51 -

引用なし
パスワード
   >NULLの条件はフォーカス喪失時に関数へ飛ばしてチェックしています。
>DoCmd.CancelEventの後、SetFocusでうまくいくような気がするのですが...

上記の方法でいけると思います。
実際にやってみましたがうまくいきました。
しかし、複数行表示されている状態で、例えば現在のカーソル位置が
3行目だとしましょう。その3行目のコンボがNULLだとすると、先頭
行には行きません。

先頭行に飛ばす場合は、やはり現在のカレントレコードを先頭にする
必要があると思います。

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