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

このQ&Aに関連する最新のQ&A

A 回答 (2件)

前回の質問時に上記提案をしましたので、その続きということで以下に記載します。



1.新規にフォームを作成して、カレンダーコントロールをフォームに貼り付けます。名前をCALとでもしましょう。また、単票形式とします。
2.フォームモジュールを開いて以下のコード記載します。

Option Compare Database
Private ctrTarget As Control '元FormのControl格納変数

Public Sub ControlSet(OriginalControl As Control)
Set ctrTarget = StartControl
End Sub

Private Sub CAL_Click()
ctrTarget = Me.CAL.Value
End Sub

3.このフォームをFormCalenderとして保存します。

4.日付を入力するテキストボックスがあるフォームにボタンを貼り付けます。このボタンのイベント「クリック時」にコードビルダーでダイアログフォームを開く以下のコードを貼り付けます(ここではDateButtonという名前にしました)。

Private Sub DateButton_Click()
DoCmd.OpenForm "FormCalender"
Form_formCalender.ControlSet Me.日付
End Sub

以上で、準備完了です。

上記は4のモジュールで、ダイアログ用フォームを開き、日付値を戻すコントロールを指定します。また、2のモジュールがカレンダーコントロールで日付を選択した時点で、テキストボックスに日付値を代入するものです。
なお、長くなるためエラー制御は記載していません。
最近、書いていないので上手く動かなかったら補足お願いします。
    • good
    • 0

t-tomoさんこんにちは、


新規にフォームを作成して、コントロールの選択ボタンから、カレンダーコントロール?(?はバージョンNo.)を選択して、フォーム上に貼り付けます。
テキストボックスに入力された値をカレンダーコントロールのValueプロパティ(”その他”のタブにあります)に入れてあげれば良いです。逆にカレンダーコントロールの値をテキストボックスに入れるには、カレンダーコントロールのCkickイベントを捕まえて、Valueプロパティの値をテキストボックスのValueプロパティに入れます。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

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

アクセスでカレンダーコントロールを使用し、タイトルのことをしたいと考えています。

カレンダーコントロールをクリックする前にキャレットがあったコントロールにカレンダーコントロールのValueを代入したいと考えています。

複数のテキストボックスなのでそのコントロールの名前を取得しないといけないと思いますが、コードをどう書くのかがわかりません。

可能な限りコードで示して頂けるとわかりやすく助かります。丁寧に教えて頂ける方、よろしくお願いします。

Aベストアンサー

まず。適当な非表示のテキストボックスを一つ作成します。これは、カレンダーコントロールをクリックする直前のコントロール名を記憶させるものなので、グローバルな変数でも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

まず。適当な非表示のテキストボックスを一つ作成します。これは、カレンダーコントロールをクリックする直前のコントロール名を記憶させるものなので、グローバルな変数でもOKです。

例えば、値を入力するためのテキストボックスを3つ(それぞれ、TextBox1、TextBox2、TextBox3)と名前保存用のテキストボックス(SaveBox)、

TextBox1、TextBox2、TextBox3それぞれのフォーカス喪失時に次のようなコードを書き、自分の名前を保存します。

Private Sub TextBox1_Exit(Cancel As Integer)
Me("SaveB...続きを読む

Qファイルメーカーで日付をカレンダー入力するスクリプトは

ファイルメーカーで日付をカレンダー入力するスクリプトはあるでしょうか。
 いちいち年月日を入力せずに、カレンダーをクリックするとフィールドに日付が入力されるようなものです。

そんなスクリプトが公開されていましたら教えてください。

Aベストアンサー

カレンダーはファイルメーカーで作られるのですね?
でしたら その日付の個所(入力したい日付のクリックするところ)にボタンを埋め込みます
そのボタンのスクリプトはこうです
フィールド設定(フィールド指定は入力先フィールド;日付を入力するファイルのフィールド)
指定(月 & " / " & 日)とでもしておけばよろしいかと。
この「月」と「日」はカレンダーのほうのフィールド
をさします。
簡単にかんがえるとおんなかんじですが、より詳しい内容をおせてくれれば もうちょっと具体的なアドバイスができるのですが、このカレンダーをまずどう作るのかを教えて欲しいです。

QAccess2000 テキストボックスに文字を入力できない理由が判りません。

お世話になります。

サブフォームの中のあるテキストボックスに、
カーソルは置けるのですが、文字を入力できなくて悩んでいます。

見当違いかも知れませんが、自分なりに「ここら辺は関わりがあるかな」
とプロパティ部分で思う個所を挙げてみます。

テキストボックスのプロパティ
 ・「データ」タブの中
  「使用可能・・・はい」「編集ロック・・・いいえ」
 
 ・「その他」タブの中
  「IME入力モード・・・コントロールなし」「IME変換モード・・・一般」「禁則処理・・・いいえ」

サブフォームのプロパティ
 ・「使用可能・・・はい」「編集ロック・・・いいえ」


単にフォームだけの問題ではないのでしょうか。
簡単な事でしたら申し訳ないです。宜しくお願いします。

Aベストアンサー

テーブルか何かでそのテキストボックスに式が入っていませんか?
どこかから自動で値が入るようになっているとか。
それですと入らないような気がします。
あとはテキストボックス・コンボボックスではなくリストボックスだとか…。

はずしていたらすいません。

Qaccess2010コンボボックスとリストボックスについて質問です。 テーブルに日付、タイトル、内

access2010コンボボックスとリストボックスについて質問です。

テーブルに日付、タイトル、内容のフィールドがあります。これをコンボボックスを使って2014年、2015年、2016年・・・・
と作成して、2015年を選択すると2015年度分がリストボックスに表示できるようにできますか?

ご存知の方がいればよろしくお願いします。
accessは、初心者です。

Aベストアンサー

ウィザードを使ってコンボボックスを作成してみてください。
https://support.office.com/ja-jp/article/%E3%83%AA%E3%82%B9%E3%83%88-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%81%BE%E3%81%9F%E3%81%AF%E3%82%B3%E3%83%B3%E3%83%9C-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E9%81%B8%E6%8A%9E%E8%82%A2%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B-70abf4a9-0439-4885-9099-b9fa83517603

以下抜粋
ウィザードを使用してリスト ボックスまたはコンボ ボックスを作成する
5.コントロールに表示する値を取得する方法の確認を求められたら、次のいずれかの操作を行います。
・ほぼ変わることのない固定値リストを表示する場合は、[表示する値をここで指定する] をクリックします。

ここで
2014
2015
2016
となるように入力するだけです。

ウィザードを使ってコンボボックスを作成してみてください。
https://support.office.com/ja-jp/article/%E3%83%AA%E3%82%B9%E3%83%88-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%81%BE%E3%81%9F%E3%81%AF%E3%82%B3%E3%83%B3%E3%83%9C-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E9%81%B8%E6%8A%9E%E8%82%A2%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B-70abf4a9-0439-4885-9099-b9fa83517603

以下抜粋
ウィザードを使用してリスト ボッ...続きを読む

QACCESS コンボボックス 抽出 テキストボックスに表示

初めての質問を投稿させていただきます。l
ACCESSのVBAにて分からないことがあるので、
質問を投稿させていただきました。

以下のようなテーブルがあります。
名称:番号:管理番号:価格
cake|NO.1|C1|200
cake|NO.2|C2|200
chocolate|NO.1|C3|300
chocolate|NO.2|C4|300
chocolate|NO.3|C5|300
cookie|(空白)|C6|100
フォーム上に、コンボボックスが二つ設置されており
最初のコンボボックスでは、cake、chocolate、cookieを選択することができます。
また、二つ目のコンボボックスでは最初のコンボボックスで選択した名称に対する番号を選ぶことが出来ます。
------------------以下が疑問点です-------------------------
このフォームにはそれ以外にテキストボックスが設定されています。
名称と番号を設定した後に管理番号(重複なし)をテキストボックスに表示。
その後、管理番号を元に価格もテキストボックスに表示したいと考えておりますが、どのようなプログラムを組めばよろしいでしょうか?

初めての質問を投稿させていただきます。l
ACCESSのVBAにて分からないことがあるので、
質問を投稿させていただきました。

以下のようなテーブルがあります。
名称:番号:管理番号:価格
cake|NO.1|C1|200
cake|NO.2|C2|200
chocolate|NO.1|C3|300
chocolate|NO.2|C4|300
chocolate|NO.3|C5|300
cookie|(空白)|C6|100
フォーム上に、コンボボックスが二つ設置されており
最初のコンボボックスでは、cake、chocolate、cookieを選択することができます。
また、二つ目のコンボボックスでは最初のコン...続きを読む

Aベストアンサー

> なぜ、連結列列を2としたか、考えてみてください。

大事なところは2度言いましたよ。。。 は冗談ですが


> (ご質問から想定される私の中での考える動きは確認したつもりでおりますが、意図と違っていましたらごめんなさい)

何か日本語になっていないですね


(ご質問から、・・・私の中で想定した動きは確認したつもりでおりますが、意図と違っていましたらごめんなさい)

まだ日本語化になってないですかね。


人気Q&Aランキング

おすすめ情報