| Access Tips by pPoy |
| Form | フォームオープン時にコンボボックスの値リストを動的に設定する方法2 《今月の日付範囲を設定, RowSource》 (Ac97,Ac2000,Ac2002) |
フォームに作成したコンボボックスで、今月の日付を選択して欲しい場合があります。 通常は 「値リスト」 ととして、予め必要な日付を設定します。 これには少し困ったことがあります。 「値リスト」の場合、最初に設定した値しか選べません。 日数はその月によって異なります。1 〜 31 日までを設定した場合、2 月などでは困ってしまいます。 以下は、コンボボックスの 「値リスト」 の日付を動的に設定する方法です。 設定する基準として、当月の1ヶ月分としています。 | |
|---|---|---|---|
|
フォームのどこかに、非連結のコンボボックスを一つ追加してください。 そのコンボボックスの プロパティーを以下のように設定してください。
| |||
作成したフォームの、「開く時」 イベントに、以下のコードを貼り付けてください。
Private Sub Form_Open(Cancel As Integer)
'Open時にコンボボックスの値リストを設定。2003/12/20 pPoy
'今月の日付一覧設定。 cmb_Date
Dim i As Integer
Dim myDate As Integer, myLastDate As Integer
Dim strDocName As String
'今月の月末日取得&変数初期化
myLastDate = DatePart("d", DateSerial(Year(Now()), Month(Now()) + 1, 0))
strDocName = 1
myDate = 1
Do
myDate = myDate + 1
strDocName = strDocName & ";" & myDate
Loop Until myDate = myLastDate
cmb_Date.RowSource = strDocName
End Sub
| |||
≪結果≫
今月が 1月だった場合、 このフォームを開きコンボボックスを選択すると、 「1 〜 31」 迄が一覧で表示されます。 2月だった場合、「1 〜 28」 若しくは、 「1 〜 29」 が表示されます。 | |||
≪注意≫
| |||
☆ 感想をお知らせください (直接ブラウザから送信致します。メールアカウントは不要です。)
form mail はこちら
Copyright(C) pPoy 2003