• ベストアンサー

カレンダーコントロールで複数のテキストボックスに日付入力

アクセスでカレンダーコントロールを使用し、タイトルのことをしたいと考えています。 カレンダーコントロールをクリックする前にキャレットがあったコントロールにカレンダーコントロールのValueを代入したいと考えています。 複数のテキストボックスなのでそのコントロールの名前を取得しないといけないと思いますが、コードをどう書くのかがわかりません。 可能な限りコードで示して頂けるとわかりやすく助かります。丁寧に教えて頂ける方、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tksoft
  • ベストアンサー率36% (99/273)
回答No.1

まず。適当な非表示のテキストボックスを一つ作成します。これは、カレンダーコントロールをクリックする直前のコントロール名を記憶させるものなので、グローバルな変数でもOKです。 例えば、値を入力するためのテキストボックスを3つ(それぞれ、TextBox1、TextBox2、TextBox3)と名前保存用のテキストボックス(SaveBox)、 TextBox1、TextBox2、TextBox3それぞれのフォーカス喪失時に次のようなコードを書き、自分の名前を保存します。 Private Sub TextBox1_Exit(Cancel As Integer) Me("SaveBox") = Me("TextBox1").Name End Sub これで、カレンダーをクリックする前に最後にフォーカスのあったコントロール名が分かります。あとは、このコントロールにカレンダーの値を代入すればいいだけです。 Private Sub Calendar0_Click() Me(Me("SaveBox").Value) = Calendar0.Value End Sub

zihard99
質問者

お礼

早速の回答ありがとうございます。まだ試していませんがばっちりできそうな気がします。試し後報告いたします。

関連するQ&A

  • access2000でカレンダーコントロールをいろいろな場面で

    access2000で1つのカレンダーコントロールをいろいろな(複数の)場面で利用したいと思います。 カレンダーコントロールを置いたフォームは作成しました。→「カレンダーフォーム」 カレンダーフォームで取得した値をテキストボックスに戻すプロシージャも作成し、うまくいっています。 しかし、特定のテキストボックスに対してしか機能しません。 1つのカレンダーフォームで、複数のテキストボックスに入力させるプロシージャを教えてください。 カレンダーフォームの起動は、sample1_frm上のコマンドボタン1、コマンドボタン2やsample2_frm上のコマンドボタン1、コマンドボタン2を押すと起動するようにしたいと思います。 sample1_frm上のテキストボックス1(横にコマンドボタン1)やテキストボックス2(横にコマンドボタン2)があるので、それに対応したテキストボックスにカレンダーコントロールで取得した値を代入する方式です。 どのように1つのカレンダーフォームで各フォーム、テキストボックスに対応したコードを書けばよいでしょうか?

  • カレンダーコントロールのダイアログボックス

    ACCESSでボタンをクリックすると、カレンダーコントロールのダイアログボックスが表示されて、日付が入力出来るようにしたいのですが... この方法で日付を入力するテキストボックスに共通で使用出来たらと考えています。 カレンダーコントロールのダイアログボックスの作成から分からないのでお願いします。

  • カレンダーコントロールについて

    Access2003+VBA でプログラミングをしています。 他の方の質問も一通り閲覧しましたが、解決しないので教えてください。 Accessのフォーム上に貼り付けるカレンダーコントロールを使い、 カレンダーの日付をクリックして、クリックされた日付をテキストボックスに表示したいのですが、うまくいきません。 試しに、カレンダーをクリックした結果(日付)をメッセージボックスに 表示するようにもしてみましたが、やはり日付は何も表示されません。 何か根本的なところで躓いている気がするのですが、解決出来ません。 何卒、よろしくお願いします。

  • テキストボックスのクリックでカレンダー表示

    ASP.NET C# VisualStudio2005 Webページ上でテキストボックスをクリックしたらカレンダーを表示させ カレンダーの日付をクリックでそのテキストボックスに日付を挿入させたいのですが テキストボックスのクリックでカレンダーを表示させる部分のやり方がわかりません。 テキストボックスのプロパティでAutoPostBackをtrueにしてみましたが テキストボックスのクリックだけではページを再読み込みするような状態になりませんでした。 WebCalendar for .NETのC1WebCalendarコントロールやASP.NET AJAX Control Toolkitのような 後から追加するコントロール類は使ないのですが、なにかよい方法はないでしょうか?

  • 複数のテキストボックスに同時入力したい!

    WIN8 access2003 毎回お世話になります。 今回は自動車用記録簿の入力フォームを作成しております。 メインフォームにサブフォームを儲け、そのサブフォームに80個のテキストボックス (txt1~txt80)があります。 入力の際にtxt1,txt5,txt8に”レ”txt2,txt20,txt21は”×”の様に複数のテキストボックス に同じ文字列を代入しようと下記の方法を考えています。 (1)テキストボックスをクリックして背景色を変える (2)”×”入力用コマンドボタンを押して背景色の変わったテキストボックスに”×”を代入 (3)代入したら全てのtxtboxの背景色を戻す の様な方法が良いかなと考えていますが、やり方が分からず困っています。 他の良い方法もありましたら宜しくお願い致します。

  • visual basicのテキストボックスについて

    ビジュアルベーシックでカレンダーを作ろうと考えてます。 日付のところをテキストボックスに数字を入れて、カレンダーに見立てようとしています。 でも、そのテキストボックスに値を代入するとき、一つ一つに textbox1.text=1 textbox2.text=2・・・・ と書いていくのはすごくメンドくさく、非効率的です。 今、自分が考えている解決方法は、javascriptにでてくるdocument.forms[0].elements[a].valueのようなテキストボックスなどの名前を指定しなくても値を代入する方法です。 でも、ビジュアルベーシックにこのような操作が可能なのかわかりません。 知っている方がいたら是非教えてください。

  • Accessのカレンダーコントロールについて

    いつもお世話になっております。 Accessのフォーム上に貼り付けるコントロールで クリックするとカレンダーが表示され、日付を選択 することで、テキストボックスに選択した日付が 表示されるという画面を見たことがあります。 どのようにすれば、このコントロールを使えるように できるのでしょう? どうか、よろしくお願いいたします。

  • アクセスでカレンダーコントロールによる日付入力について。

    現在、アクセスのカレンダーコントロールをクリックすると別の入力画面を開き、その日付がその画面の依頼日に挿入されるようにしてあります。それとは別に、カレンダーの日付が例えば7/3だとしたら、他の画面A、B、Cを別コントロールで開くときも依頼日のところに7/3と挿入することは可能でしょうか?カレンダークリックの上記の操作を同時にするのは無理でしょうか?よろしくお願いします。

  • エクセルVBAのカレンダーコントロールの件で

    エクセルVBAを使用して リストボックスかコンボボックスかテキストボックスかを クリックするとカレンダーコントロールが呼び出されて カレンダーコントロールの日付をクリックすると カレンダーコントロールは閉じその値が上記2行目いずれかに 入力されるようにすることは可能なのでしょうか いろいろ文献を探してみたのですがよくわからずじまいでした よろしくお願いします

  • アクセスでの日付入力

    ACCESSで手間のかかる日付入力を出来るだけ簡単に入力できたらと考えています。 カレンダーコントロールを使用すると、日付入力のテキストボックスの数分カレンダーコントロールが必要になってしまうので、出来れば今日の日付を常に表示してボタンを使って前後の日付に変更出来るようにしたいと思っているのですが。 もしくは、コンボボックスのように矢印をクリックすると、カレンダーが出てくるのでも良いのですが。 何か良い方法があれば教えて下さい。