0

Crystal Reportsで、レポートのデータベースから値 WHERE field <> dateを持つ日付を除外するためにを追加したいと思います。NULL

WHEREレポートからSQLステートメントを生成するバックエンドでレガシーFoxProデータベースを使用していますが、生成されたステートメントに句を 追加する方法がないようです。

FoxProバックエンドに直接アクセスする場合、psudo-NULL値を持つ日付の日付は1899-12-30。ですが、FoxProからCrystalを介してプル12/30/99されると、(フォーマットで表示されたのと同じ日付である可能性がありMM/DD/YYます)と表示されます。

レポートには、ユーザーに元のクエリを特定の日付範囲にフィルターで除外するように求める既存のパラメーターフィールドがあることに気付きました。パラメータフィールドに加えて独自のものを追加しようとしましたが、WHERE field <> date主に3種類のフィールドパラメータしかないため、必要なものが利用可能なオプションではないことがわかりました。

離散

  • 単一および個別の値を受け入れます。

遠隔

  • この範囲のすべてを選択するには、下限値と上限値を受け入れます。

離散および遠隔

  • 上記の2つの組み合わせ

これらのいずれも、あるWHERE NOTタイプの句を使用してクエリの結果をフィルタリングできないようですが、これを行う他の方法はありますか?

4

2 に答える 2

1

これをレコード選択式に追加します。

// remove actual nulls
AND Not(Isnull({table.date_field})) 
// remove old dates 
AND {table.field} <> date(1899,12,30) 
// remove dates not in select parameter value
AND {table.field} IN {@date_parameter}
于 2013-03-12T20:21:01.360 に答える
0

私が本当に必要としたWHEREのは、SQLステートメントの句にいくつかの基準を追加することだけでした。SQLクライアントでは十分に単純ですが、Crystal Reports v10でこれを行う場合、探しているものがわからない限り、見つけるのは少し困難です。にとって...

だから私がする必要があったのは:

  1. Detailsレポート(セクション内)でフィルタリングするフィールドを選択します
  2. Select Expert エキスパートツールバーの[エキスパートボタン]を選択します ツールバーのボタンをクリックしますExperts
  3. Select Expertダイアログで、フィールドの名前がタブに表示されます。
  4. WHERE以下で、レコードのフィルタリングに使用される基準を選択できます。
于 2013-03-14T13:18:50.420 に答える