[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『別フォームの値を表示する』(nin)
form1では、1つの案件の情報を入力するフォームです。
form2では、form1の中のコンボボックス(日付入力)のドロップボタンした時に、
表示するフォームで、カレンダー上になっていて入力指定されてあります。
そこで、form2で該当した日付をチェックしたときに、
form2を閉じて、値をform1のコンボボックス欄に入力したいのですが、
よい方法があれば教えてください。
form1
public sub cbo日付 _DropButtonClick()
form2
Private Sub Calendar1_Click()
それぞれ、最初の宣言が合っているのかもわかりません。
よろしくお願いします。
Form2のCalendar1なるものが、何者なのか不明だけど、その値が Calendar1.Value に入っているとする。 で、Form2を閉じるまえに、適切な場所、たとえばCalendar1.Click の中で Form1.cbo日付.Value に値を転記してやればいい。
Private Sub Calendar1_Click() Form1.cbo日付.Value = Calendar1.Value End Sub
ただし、データの型式がyyyy/mm/dd といったようなものだった場合、cbo日付にはシリアル値で 格納されるので、そうであれば一工夫が必要。
だけど・・・・???? cbo日付 はコンボボックスだよね? ということは、リストから何かを選ぶのが第一義。 (もちろん、入力してもいいし、今回のように、マクロで値をせっとしてもいいけど) ということは、そのcbo日付のリストそのものが選択候補の日付のリストじゃないの? であれば、そこから日付を選べばいい。なぜ、わざわざ別フォームを表示させて、そこで日付を選ぶのかな? Form1側がコンボボックスじゃなく、たとえばテキストボックス等ならうなずけるけど?
(ぶらっと)
確かにcbo日付にて選択させれば、事が足りますね・・・
今回は、見やすさを重視してやってみようかと思います。
言い忘れていたのですが、
form2は、form1からだけでなく、別フォームの複数のコマンドからできるようにしたいと考えています。
1対1であれば
Form1.cbo日付.Value = Calendar1.Value
でよいのですが、
複数になった場合の値の受け渡しが分かりません。
よろしくお願いします
(NIN)
Form2がモーダル表示なら、たとえば。
標準モジュールにパブリック変数で、Form2の選択結果を格納する変数を規定して Form2では、そこにセット。 Form1他、Form2を呼び出したフォーム側では、戻ってきたらその変数から選択された値を取得。
ほかにも、いろいろ手はあるけど。
(ぶらっと)
Form2ではなにもせず、パブリック変数も使わず以下の方法でも。 (ただし、Form2の呼び出しはモーダルで)
Private Sub Cbo日付_DropButtonClick() With Form2 .Show cbo日付.Value = .Calendar1.Value End With End Sub
(ぶらっと)
カレンダーのチェック時に入力を実行するようにすることもできますか?
その Calendar1 って、どんなコントロールなの? 選んだときにクリックイベントが発生するようなものであれば
Private Sub Calendar1_Click() UnLoad Me End Sub
かなぁ?(Calendar1が何物かがわからないのでだめかもしれないけどね)
(ぶらっと)
カレンダーは、エクセルの"カレンダーコントロール10.0”を使用しています。
思い通りになりました。
お手数おかけしました。
ありがとうございました。
NIN
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.