2016-12-16 18 views
0

私は考えることのできるあらゆるバリエーションを試しました。計算されたフィールドの日数の差を計算する

[Appt Date]をフィールドに表示するテーブルがあります。私は今日からその日付を引いて、[App to Days]を私に与えたい。

私は計算フィールド

=DateDiff("d",[Appt Date]-Date()) 
=[Appt Date]-Date() 

などなどの式ビルダーでいくつかのバリエーションを試してみました。

Iが連続的に提示していますエラーメッセージが計算カラムで使用することができない

式[APPT日] - 日付()です。

私はあなたの助けを感謝して、日付を比較

答えて

-1

を理解されるであろう日付/時刻計算フィールドと計算フィールド

でこれを試してみましたが、困難であると思われます。自分でカレンダーを作成したところ、Microsoft Access 2010は明らかに日付/時刻が同じであれば、非常に異なる値を示していることが分かりました。私の日付を比較するには、まず日付を長い値として計算します。 日付の右側部分を切断することによって切り捨て場合 longTermDate = CLNG

暗いlongTermDate限り(PubDateDateActual * 10000)

は、日付または時刻のフロート動作を回避することができます。

次に、日付を比較することができます。私のカレンダーアプリも使えます。オットーブルン、ババリア、ドイツ

+0

日付の比較は難しくありません。 _DateDiff_はそれを行います。また、日付は文字列ではなく、数字ではなく例外ではなく、常に処理します。 1日が3600分または86400秒であるため、日付値に10000を掛けることは意味がありません。 – Gustav

0

まずから

敬具は、計算フィールドを使用しないでください。クエリを使用すると、そのクエリが使用されます。

第二に、DateDiff関数の正しい構文を使用します。

Select *, DateDiff("d", Date(), [Appt Date]) As Days From YourTable 

[Appt Date]時間がない部分と日付値を保持している場合、あなたもして逃げることができます:[Appt Date]はデータではない場合

Select *, [Appt Date] - Date() As Days From YourTable 

タイプ日付、最初にに変換してください。

Select *, DateDiff("d", Date(), DateValue([Appt Date])) As Days From YourTable 
Select *, DateValue([Appt Date]) - Date() As Days From YourTable 
+0

フィールドとしてテーブルに追加するにはどうすればよいですか?この目的のためにクエリが存在する場合。そのための計算フィールドとは何ですか?私は[Appt_date] -7を計算することができますが、私はdiffの日数を計算したいと思います。 – Wolfie84367

+0

計算されたフィールドは、「スーパーユーザー」を対象とした不自由な機能です。あなたが見たように、Date()は関数を受け入れません。この機能については忘れてください。トラブルを引き起こすだけです。 – Gustav

関連する問題