Access VBA質問箱 IV

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

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


247 / 500 ページ ←次へ | 前へ→

【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
・ツリー全体表示

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

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

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

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

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

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

#(元祖)hatenaさん、フォローどうもです。
・ツリー全体表示

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

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

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

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

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

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

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

無いようでしたら悪しからず…
・ツリー全体表示

【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つがある場合には、後者を選択するようにしてください。
・ツリー全体表示

【8302】Re:SetFocusとは
回答  にしもり  - 06/7/19(水) 16:42 -

引用なし
パスワード
   ▼にしもり さん:

自己レスです。
いろいろ調べたらSetFocusとはメソッドのようです。
SetFocusメソッドは自分自身にコントロールがあるときは発動しないとのことです。
使用例: Me!他のコントロール.SetFocus

だからサブフォームで主フォームのコントロールを指定してあるのですね。
Forms!F_ModProgram.flgAttach.SetFocus
失礼しました。
・ツリー全体表示

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

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

【8300】SetFocusとは
質問  にしもり  - 06/7/19(水) 16:11 -

引用なし
パスワード
   こんにちは。 
フォームF_ModProgramにサブフォームがあり、イベントプロシージャを開くと
Forms!F_ModProgram!flgAttach.SetFocus
とありました。
フォームF_ModProgramのコントロールflgAttachに代入しているのでしょうが、このSetFocusとはどういう意味でしょうか?
どなたかご教示ください。
・ツリー全体表示

【8299】途中でフォームをかます理由は
質問  にしもり  - 06/7/19(水) 15:27 -

引用なし
パスワード
   こんにちは。
或るDBを再利用しようとトレースしています。
作者がもういないのでどなたか教えてください。
いま、F_ModProgramというフォームの中のflgAttachというコントロールにイベントが付いています。
その作者が作ったのは下記のようなコードです。

Private Sub flgAttach_Change()
  DoCmd.OpenForm "F_Categoryid"
     Forms!F_ModProgram!AttCategory = Forms!F_Categoryid!Category_Name
     Forms!F_Categoryid.RecordSource = "SELECT Category_Name from tbl_category where category_ID = " & [Forms]![F_ModProgram]![flgAttach] & ";"
  DoCmd.Close
End Sub

F_Categoryidという別のフォームをかましているようです。
思うに、次のようなコードで十分ではないでしょうか。

Private Sub flgAttach_Change()
     Forms!F_ModProgram!AttCategory = "SELECT Category_Name from tbl_category where category_ID = " & [Forms]![F_ModProgram]![flgAttach] & ";"
End Sub

このように途中でフォームをかますのには何か"特典"がありますでしょうか?
・ツリー全体表示

【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

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

【8297】Re:新規に入力する際に自動連番にしたいん...
回答  Gin_II  - 06/7/19(水) 12:47 -

引用なし
パスワード
   > コンボボックスで商品区分CDを選ぶと子フォームに商品リストが出てくるよう

リンク子フィールド
リンク親フィールド

に、商品区分CD を指定しているということでしょうか?
・ツリー全体表示

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

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

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

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

クリック時に作成したいのでしょうか?
・ツリー全体表示

【8295】Re:テーブルの最下端にレコードを追加する...
回答  にしもり  - 06/7/19(水) 10:39 -

引用なし
パスワード
   ▼にしもり さん:
>オートナンバー型にすることで希望はどうやら満たせましたが、
>今まで自動的に入っていたvalidが入らず空欄のままになってしまいました。

Unit_Statusの規定値を"valid"にしたらできたようでございます。
失礼しました。
・ツリー全体表示

【8294】Re:テーブルの最下端にレコードを追加する...
質問  にしもり  - 06/7/19(水) 10:30 -

引用なし
パスワード
   オートナンバー型にすることで希望はどうやら満たせましたが、
今まで自動的に入っていたvalidが入らず空欄のままになってしまいました。
どのような理由が考えられるでしょうか?
・ツリー全体表示

【8293】Re:テーブルの最下端にレコードを追加する...
回答  にしもり  - 06/7/19(水) 10:09 -

引用なし
パスワード
   ▼にしもり さん:
>私の質問がわるいのですけれども今回たまたま3を入れるのであって次は4、その次は5・・とできれば自動的に入ってほしいのです。
>そのようなことはできますでしょうか?
自己レスですが、Unit_IDをオートナンバー型にした場合にできるような気がします。確信がありませんので検証してみます。
・ツリー全体表示

【8292】Re:テーブルの最下端にレコードを追加する...
質問  にしもり  - 06/7/19(水) 9:16 -

引用なし
パスワード
   ▼飛ばない豚 さん:
ありがとうございます。
が、追加クエリですべてのレコードを追加できません
型変換エラーのため0個のフイールドをNULLに設定しました、と出ますがどうしてでしょうか?

いい忘れたのですが追加先のテーブルのフィールド「Unit_ID」が主キー設定されていたのですがそれと関係ありますか?

また、式2に3を固定で入れているのですよね。
私の質問がわるいのですけれども今回たまたま3を入れるのであって次は4、その次は5・・とできれば自動的に入ってほしいのです。
そのようなことはできますでしょうか?
・ツリー全体表示

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

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

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

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

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

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

【8290】Re:テーブルの最下端にレコードを追加する...
発言  飛ばない豚  - 06/7/18(火) 19:12 -

引用なし
パスワード
   追記です。

Accessには、行番号の概念は無いので、最下端になるかどうかは不明です。

最下端に表示したいのであれば、別途表示用のクエリーを作成する必要があります。
SELECT * FROM tbl_UNIT ORDER BY Unit_ID
のような感じで。
・ツリー全体表示

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

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

どなたか教えて下さい。

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

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

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

どなたか教えて下さい。よろしくお願い致します、
・ツリー全体表示

247 / 500 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
1084640
(SS)C-BOARD v3.8 is Free