• ベストアンサー

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

いつもお世話になっております。 アクセスのカレンダーコントロール(MSCAL.ocx)に ついて教えてください。 コントロールを表示して日を指定します。 その後コントロール上にある年を指定するコンボボックスで別の年を指定します。 するとコントロール上は日が指定されていない状態 になりますが、 Me.Calendar.Value には以前にしていした日付が残っています。 実現したいのは年を指定するコンボボックスで 別の年を指定した場合、その指定された年数を 知りたいのですが、Me.Calendar.Valueには 以前の日付が入っているため、知ることが できません。 何かいい方法はないでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
  • arare2005
  • ベストアンサー率31% (63/199)
回答No.1

ちゃんと調べてないので判りませんが、プロパティやヘルプで調べても無かったのでしょうか? バージョンによっても若干違う場合がありますので、明記された方が宜しいですよ。 どうしても無いのであれば自分で作りましょう。 (例) フォームにカレンダー、コンボでカレンダーもどきを作成。 コンボは、自分のコンボで隠す。 <当然カレンダーのコンボはTABなどで選択できない(フォーカスが当たらない)様にしないといけないと思います> であれば、コンボの値は取得できますよネ! その後、確定動作があるのであれば、VALUE へ値をセットし画面を更新(不要かも)すれば処理できると思いますが。。。 いかがでしょうか(^^;

sansan33311
質問者

お礼

arare2005様 早速ご返答いただき、ありがとうございます。 失礼いたしました。 バージョンはAccess2003です。 使えそうなプロパティは探したのですが、 見つからなかったのです。 自分でコンボを貼り付けることは思いつきません でした。なるほどです。^^;;;;; ありがとうございました。

その他の回答 (2)

回答No.3

No.2です。Yearでは取得できませんでした。すみません。今、調べたのですが、どうもカレンダーコントロールは ・月のコンボボックス ・年のコンボボックス ・日付のグリッド の3つのコントロールで構成されている模様です。カレンダーコントロールのプロパティは日付グリッドの値しか取得していないようなので、年度は取得できそうもありません。取得するにはWinAPIを使用する以外ないと思います。

sansan33311
質問者

お礼

再びありがとうございました。 ん? 例えば Private Sub Calendar_Click() Dim i As Integer i = Me.Calendar.Year End Sub とすると、年の値を取得できたのですが、、、 というか、確認不足でした。 カレンダー上で日付を指定していれば、Me.Yearで 年数を取得できますが、日付を指定していない場合で あれば、取得できませんでした。 ということで、再び困ってしまいましたが、 質問はもう締め切ってしまいました。。。。 どうしよう。。。。。

回答No.2

Me.Calendar.Yearは駄目ですか?

sansan33311
質問者

お礼

kazuho_goo様 ご回答ありがとうございました。 Me.Calendar.Yearで年を取得できました。 自分で調べて、コードも書いてみたのですが、 そのときは取得できずに、諦めていました。 が、今、やってみるとなぜか取得できました。 原因はわかりませんが、、、^^;;;;;;;; とにかくありがとうございました。

関連するQ&A

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

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

  • アクセスのカレンダーコントロールについて

    アクセスのカレンダーコントロールを使用してエクセルデータを作成し、他の人に同ファイルを配布する事を考えているのですが 何点か疑問がありますので教えて下さい。 1.アクセスのカレンダーコントロールのバージョン  Office2000 -> Ver.9.0  OfficeXP -> Ver.10.0  Office2003 -> ??  以上で間違いないのか、また、2003のバージョンはいくつ?  1-2.XPはエクセルのプログラムのメインフォルダに'MSCAL.ocx'のファイル名にて保存されていますが他のバージョンも同じなのでしょうか?  1-3.Excel97以前でも使用可能でしょうか?また、使用出来るのであれば、バージョン番号と保存先を教えて下さい。 2.アクセスを持っていない人に配布する場合にはどうしたら良いのでしょうか?  また、アクセス全体のCDをコピーする事は著作権上問題があることは分かっていますが、カレンダーコントロールのみ使用出来る様にしたいのですが、著作権に抵触しない方法はないものでしょうか?  サイトを検索していたら、エクセルの機能だけでカレンダーを実行出来る事は分かったのですが、アクセスのを使用したいので、エクセルのだけで実行する事は考えていませんので、よろしくお願いします。

  • アクセス テーブルリンクのカレンダーコントロール

    受注管理システムを作っています。 カレンダーコントロールについてです。 社内運用上、データを独立?(表現は正しいのでしょうか?)させています。 なので、受注データからプログラムの方へテーブルリンクをしています。 そのせいでしょうか? カレンダーコントロールの日付を受注日に表示させる、という作業が、データをリンクしていない原システムで練習するとできるのに、本番用のテーブルリンクの方のオウログラムでやると、値が表示されません。 解決の方法はございますか? まだまだアクセス初心者です。GOOで教えていただいたり、参考書開き開き独学中です。 ちなみに、こちらです。 Private Sub 受注日_Click() Me.カレンダー.Visible = True '表示 Me.カレンダー.Value = Date '日付規定値 本日 End Sub Private Sub ActiveX_カレンダー_Click() Me.受注日 = Me.カレンダー.Value Me.受注日.SetFocus End Sub Private Sub 営業担当コード_LostFocus() Me.カレンダー.Visible = False '非表示 End Sub

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

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

  • ACCESS97でカレンダーコントロール8.0の設定

    挿入→ActiveXコントロールでカレンダーコントロール8.0 を挿入しました。ActiveXコントロールプロパティの設定と予約日のプロパティの設定を教えてください。予約日にコンボボックス設定しActiveXコントロールを開き、日にちをクリックする事によって投入したい。よろしくお願いします。

  • ACCESS カレンダーコントロールで移動

    入力終了したデータをフォームに表示させているのですが、カレンダーコントロール9.0とテキストボックスをコントロールソースにして、日付が数字とカレンダーの日付が押された状態で表示されるようにしています。 レコードセレクタからいちいち任意の日付を探すのは面倒なので、出来ればカレンダーコントロールの日付をクリックまたはダブルクリックすることによりその日にレコードが移動してデータが表示させたいのですが、どのような方法があるでしょうか? 使用しているのはACCESS2000です。何卒、良い知恵がありましたら(そのような感じのことが書いてあるwebページでも構いません)宜しくお願いいたします。

  • Accessのカレンダーコントロールを参照できない

    Access2000を使っています。 現行のシステムでは、出荷情報などを確認するのにクエリーの抽出条件(日付型のフィールドです)を直接書き換えています。 これをフォームをかませてもっと簡単に日付の指定ができるようにしたいと考えています。 フォームにツールボックスから「カレンダー コントロール」というのをドラッグして貼り付けました。 イミディエイトウィンドウで以下のように打ってみたところ、エラーメッセージが出ます。 ?forms!フォーム1!ActiveXコントロール0 「指定した式に、|プロパティに対する不正な参照が含まれます。」とあるのですが、何が悪いのでしょう。

  • アクセス2003でカレンダーコントロールを挿入し、フォームの開くときイ

    アクセス2003でカレンダーコントロールを挿入し、フォームの開くときイベントに、 Private Sub Form_Open(Cancel As Integer) Me.Calendar7.Visible = True Me.Calendar7.Value = Date End Sub と記述しても、当日の日付が表示されません。 原因がわからないのでどなたか教えてください。

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

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

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

    MS ACCESSでの使用で ActiveXコントロールのカレンダーについて お尋ねします カレンダーの年と月はコンボボックスで 選択するようになっていますが 年は西暦で表示してあり 和暦の表示にすることは可能ですか? 出来る場合は どの部分に何を書き込むか教えていただければ ありがたいです よろしくお願いします