![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.7ベストアンサー
- 回答日時:
SetFocus を忘れたゴミ回答をしょっぱなにしたために混乱したようですね。
お詫びします。
お詫びとして、Form2からForm1の任意のイベントを起動するテクニックを一つ
Form1:
Private Sub Form_Timer()
テキスト1_AfterUpdate
Me.TimerInterval = 0
End Sub
Private Sub テキスト1_AfterUpdate()
MsgBox "テキスト1_AfterUpdate"
End Sub
Form2:
Private Sub コマンド0_Click()
Forms("Form1").TimerInterval = 1000
End Sub
この単純な仕掛けで、Form_Timer() に書いたイベントが Form2 から起動できます。
ただし、Me.TimerInterval = 0 を忘れないで書く必要があります。
ホントにいろいろと有難うございます。
コードなどを見直して、No.1のご回答の手法で対応できました。
尚、元のフォームで値を代入したいテキストボックス(txt_商品ID)のDblclickイベントで検索フォームを表示しているので、
フォーカスをコードで指定しなくてもOKでした。
No.7のご回答はテキスト保存してとっておきます。
有難うございました。
No.6
- 回答日時:
言い訳に聞こえるかも知れませんが、「別フォームで検索をかけて戻ってくる」というユーザーインターフェースを私は採りませんので、チグハグナなお答えになってしまいました。
私なら、
F_販売記録にコンボボックスcmb_商品IDを置き、この値集合ソース(R
owSource)に商品マスタテーブルをセットします。
このコンボボックスの連結列の番号を商品マスタテーブルの商品IDフィールドの順番をいれておきます。
その上で、このコンボボックスの更新後イベントプロシージャに所定のコードを書きます。
なので、取り立てて商品ID検索フォームを作成する必要を私は感じません。
直接の回答でなくて申し訳ないですが...
この回答への補足
このようなご意見、本当にうれしいです。
コンボボックスによる商品選択のことでよろしいですよね?
現在使用している商品マスタには約3000のアイテムが存在しています。
基幹システムではこのコンボ検索があちこちに見られるのですが、
現在の業務では検索性が良くありませんでした。
その原因としては、
・商品数が多くスクロールで検索するには労働衛生上(笑)好ましくない。
(実際似たような品番も多く、かなりつらいです)
・商品名に統一性をもたせることができない。
・使われなくなった商品について、廃止フラグがない。
・表示される順番について部門毎に要望が異なる。
というのが主な原因です。
一見簡単に対応できそうですが、この基幹システムは外部製作のものであり、
手を加える事はちょっとまずいので困っていました。
また、使用者のスキル面からも"商品名での検索"が必須条件であり、
コンボボックスの表示件数を増やす程度の事はしてみましたが、反応はよくありませんでした。
そういうわけで、基幹システムのテーブルを参照したサブシステムを構築してみました。
その中で、今回のような仕組みを考えてみたわけです。
質問板でこのようなご意見まで頂けたことに、誠に感謝いたします。
No.5
- 回答日時:
簡単に実現するには、No1 さんの回答になります。
ただし、Textプロパティは、
コントロールにFocusがないとエラーになりますので
テキストボックスに Focus を移動するコードが必要です。
> Form2:
> Private Sub コマンド0_Click()
Forms("Form1").Controls("テキスト1").SetFocus
> Forms("Form1").Controls("テキスト1").TEXT = "AAAAAAA"
> End Sub
No.4
- 回答日時:
フォームの関連がはっきりしなかったので、
> F_商品検索のコントロール名をtxtItemとして、
と書きましたが、
F_販売記録のtxt_商品IDのAfterUpdateのイベントが正解です。
この回答への補足
>F_販売記録のtxt_商品IDのAfterUpdateのイベントが正解です。
ここにcall~の記述を行うという意味でしょうか?
だとすると、F_商品検索のVBAから更新されているので、イベントが実行されないのでは、、、?
一応試してみましたが、更新時のタイミングでは実行されませんでした。
誠に恐れ入りますが、F_商品検索.txt_商品IDのDblclickイベントに記述する場合に、
"特定の"(この部分がわからりません)フォーム上のafterupdateイベントを実行する記述方法を教えて頂けないでしょうか?
No.3
- 回答日時:
F_商品検索のコントロール名(仮にテキストボックスのタイプとします)をtxtItemとして、
このコントロールの更新後イベントプロシージャ名は「txtItem_AfterUpdate()」となりますから
値の代入直後に
call txtItem_AfterUpdate
でよろしいかと...
この回答への補足
ご回答有難うございます。
教えて頂いたcall~の記述について教えて頂きたいのですが、、、
現在までだとぼやけた部分があると思いますので、現在のフローを説明します。
1. F_販売記録.txt_商品ID のDblclick時イベントに F_商品検索フォームを開くコードを記述(F_商品検索が開く)
2. F_商品検索.txt_商品IDをDblclick時イベントに Me.txt商品IDを F_販売記録.txt_商品IDに値を代入し F_商品検索を閉じるコードを記述(値が代入される)
3. F_販売記録.txt_商品IDの値は更新されるが、AfterUpdateのイベントは作動しない。
~ここまでが新規に質問した時点での構成です。
F_商品検索.txt_商品ID のDblclick時イベントに下記の記述を追加しましたが、エラーがでます。
F_商品検索に記述するのが正しいかと思います。
その場合"どのフォームの"txt_商品IDの更新時イベントをcallするのかという風にしなければいけないと思うのですが、その場合の記述方法がわかりません。
お世話になりますが、よろしくお願いします。
No.2
- 回答日時:
基本的にVBAによるコントロールへの値の代入時には
イベントは発生しない仕様になっています。
> 元フォーム上で
この記述があいまいです。
「元」というと、データの参照元(開いている他のフォーム)なのかと思ってしまいます。
さて、ご質問への回答ですが、
開いている他のフォームからデータを拾って代入したら、そのデータ代入したコントロールの
更新後イベントプロシージャをCallすればよいのでは?
この回答への補足
ご回答有難うございます。
この場合「元フォーム」とは例えば販売記録等を一覧形式で表示しているフォームのイメージです。(F_販売記録)
また、同時に開いているフォームは検索用です。(F_商品検索)
あいまいな表現に気をつけます。
色々と勉強中なのですが、この場合のプロシージャをCallするとは、どのような記述でできるのでしょうか?
上記のフォームの例をとると、
F_商品検索での「値の代入」の記述の直後にcall~とするということでしょうか?
call命令について検索してみましたが、いまひとつ使い方がわかりません。
恐れ入りますが、教えて頂けないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) Access の SetFocus について教えてください 5 2022/08/04 07:32
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) エクセルのイベントVBAを複数のシートで動かしたい 1 2022/12/07 16:55
- Access(アクセス) accessについて(超初心者です) 1 2023/02/11 11:18
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Access(アクセス) Accessで独自メニューバーまたはリボンを作成したい 1 2022/12/02 14:31
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
勃起する時って痛いんですか? ...
-
白血球が多いとどんな心配があ...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
2つの数値のうち、数値が小さい...
-
ある範囲のセルから任意の値を...
-
【Excelで「正弦波」のグラフを...
-
これって喉仏ですか? 私は女性...
-
Excelで""で囲む方法
-
至急!尿検査前日にオナニーし...
-
中出しをするとお腹が痛い・・・。
-
EXCELで条件付き書式で空白セル...
-
甲状腺が腫れているが血液検査...
-
尿検査前日に自慰行為した時の...
-
筋トレするとチンコが縮んじゃ...
-
Excel 数値の前の「 ' 」を一括...
-
エクセル指定した範囲からラン...
-
EXCELで式からグラフを描くには?
-
小数点以下を繰り上げたものを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
白血球が多いとどんな心配があ...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
尿検査の前日は自慰控えたほう...
-
精子が黄色?
-
中出しをするとお腹が痛い・・・。
-
EXCELで条件付き書式で空白セル...
-
口の中に黒い血の塊
-
これって喉仏ですか? 私は女性...
-
2つの数値のうち、数値が小さい...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
小数点以下を繰り上げたものを...
-
excelでsin二乗のやり方を教え...
-
エクセル指定した範囲からラン...
おすすめ情報