dポイントプレゼントキャンペーン実施中!

いつもお世話になっております。

アクセスのカレンダーコントロール(MSCAL.ocx)に
ついて教えてください。

コントロールを表示して日を指定します。
その後コントロール上にある年を指定するコンボボックスで別の年を指定します。
するとコントロール上は日が指定されていない状態
になりますが、

Me.Calendar.Value

には以前にしていした日付が残っています。

実現したいのは年を指定するコンボボックスで
別の年を指定した場合、その指定された年数を
知りたいのですが、Me.Calendar.Valueには
以前の日付が入っているため、知ることが
できません。

何かいい方法はないでしょうか?
よろしくお願いいたします。

A 回答 (3件)

ちゃんと調べてないので判りませんが、プロパティやヘルプで調べても無かったのでしょうか?



バージョンによっても若干違う場合がありますので、明記された方が宜しいですよ。

どうしても無いのであれば自分で作りましょう。
(例)
フォームにカレンダー、コンボでカレンダーもどきを作成。

コンボは、自分のコンボで隠す。
<当然カレンダーのコンボはTABなどで選択できない(フォーカスが当たらない)様にしないといけないと思います>

であれば、コンボの値は取得できますよネ!
その後、確定動作があるのであれば、VALUE へ値をセットし画面を更新(不要かも)すれば処理できると思いますが。。。

いかがでしょうか(^^;
    • good
    • 0
この回答へのお礼

arare2005様

早速ご返答いただき、ありがとうございます。

失礼いたしました。
バージョンはAccess2003です。

使えそうなプロパティは探したのですが、
見つからなかったのです。

自分でコンボを貼り付けることは思いつきません
でした。なるほどです。^^;;;;;

ありがとうございました。

お礼日時:2005/11/21 16:23

No.2です。

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

再びありがとうございました。

ん?
例えば

Private Sub Calendar_Click()

Dim i As Integer
i = Me.Calendar.Year

End Sub

とすると、年の値を取得できたのですが、、、
というか、確認不足でした。

カレンダー上で日付を指定していれば、Me.Yearで
年数を取得できますが、日付を指定していない場合で
あれば、取得できませんでした。

ということで、再び困ってしまいましたが、
質問はもう締め切ってしまいました。。。。
どうしよう。。。。。

お礼日時:2005/11/21 17:11

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

    • good
    • 0
この回答へのお礼

kazuho_goo様

ご回答ありがとうございました。

Me.Calendar.Yearで年を取得できました。

自分で調べて、コードも書いてみたのですが、
そのときは取得できずに、諦めていました。

が、今、やってみるとなぜか取得できました。
原因はわかりませんが、、、^^;;;;;;;;

とにかくありがとうございました。

お礼日時:2005/11/21 17:02

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