2016-05-31 3 views
1

in metaを助言としてenter link description hereで私のより広範な質問から絞り込む。)設定値

私はユーザーフォームを持っています。そのuserformには、年、月、日を選択するためのコンボボックスがいくつかあります。コンボボックスには、選択された年と月に応じて、28,29,30、または31の数字が入力されます。 2月31日のようなものを選択しないようにするには、選択した日の値がその月の最大値を超えているかどうかを確認し、適切に減らしたいと思います。現時点では私は、これらのオプションを試してみた:

If Me.Combo_Day.Value > iMaxDate And iMonthNo > 0 And Not Me.Combo_Day.Value = "" Then Me.Combo_Day.Value = Me.Combo_Day.List(iMaxDate - 1) 

If Me.Combo_Day.Value > iMaxDate And iMonthNo > 0 And Not Me.Combo_Day.Value = "" Then Me.Combo_Day.Value = iMaxDate 

それらのどちらも動作します。その行が解析されるたびに、「Valueプロパティを設定できませんでした。無効なプロパティ値」という説明で380エラーが表示されます。

私は.Textとの両方を変更しようとしましたが、いずれも大きな違いはありません。 コンボボックスで選択した値を変更するにはどうすればよいですか? REQSの誤解によるもの

答えて

1

編集:

私のせいで、私は元の記事を誤解しました。日数が数値順に設定されている場合は、実際にはListIndexを使用することができます(0から始まるので、1を引く必要があります)。それは次のようになります。

Me.Combo_Day.ListIndex = (iMaxDate - 1)

は、その仕事をしていますか?

+0

ありがとうございます - しかし、小切手は正常に動作します。この段階では日付に結合されていないので、その月の最大値に対してDayコンボボックスの '.Value'をチェックするだけです。問題は、コンボボックスの選択した値を、その月に利用可能な最高値に設定しようとするときに発生します。私はリストインデックスを使うことができると期待していましたが、役に立たなかったのです。何かご意見は? –

+1

@AndrewPerry私のせいで、私は元の投稿を誤解しました。日数が数値順に設定されている場合は、実際には 'ListIndex'を使用することができます(ゼロから始まるので、1を引く必要があります)。それは次のようになります: 'Me.Combo_Day.ListIndex =(iMaxDate - 1)'それは機能しますか? – user3561813

+0

Aaah、私が使用した 'Me.Combo_Day.Value = Me.Combo_Day.ListIndex(iMaxDate-1)'からコピーしていた例です。それはうまくいきませんでした!明日、私がオフィスに入ると、多くのお礼、私はそれを試してみます。 –