この質問はthis oneに関連していますが、全く同じ問題ではないので新しい投稿を作成すると思っていました。 。毎月最初に異なる形式で返される日付の値
私のCrystal Reportの選択式があります。 1つのテーブルのStage
フィールドが6で、別のテーブルのPaymentDate
フィールドがDateTimePicker
コントロールの値以下であるデータを選択することになっています。
以下のコードはほとんどの日付で問題なく動作しています。日付が28日以上の場合
Sales_Headers.Stage = 6
Sales_Lines.PaymentDate = 28/01/2017 (January 28th, 2017)
1月26日の日付を選択し、1月31日まで、データのみが取得されます。しかし、例えば私は、データベース内の次のデータを持っていると言います。ただし、2月1日(または正確には1日目)の日付を選択すると、日付は02/01/2017、または2017年1月2日となり、データは表示されません。
なぜ毎月1日だけ変更されますか?他の日付はすべてdd/MM/yyyyとして正しく読み込まれていますが、最初はMM部分をdd部分として使用しています。
私が試した:
Dim dateTo As Date = dtpCRTo.Value.AddDays(1).Date
dateTo = Format(dateTo, "dd/MM/yyyy")
If cmbCRSupplier.Value = "" Then
selectionFormula = "{Sales_Headers.Stage} = '6' AND {Sales_Lines.PaymentDate} < #" & dateTo & "#"
は、それから私はform_Load
イベントで、だけでなく、DateTimePicker
のValue_Changed
イベントでこれを試してみました:
Dim dateFormat As String
dt.Format = DateTimePickerFormat.Custom
dt.CustomFormat = "dd/MM/yyyy"
dateFormat = dt.Text
私が試した最後のものはちょうどでした書式設定コードを使用せずに、次のコードを使用するだけです。
If cmbCRSupplier.Value = "" Then
selectionformula = "{Sales_Headers.Stage} = '6' AND {Sales_Lines.PaymentDate} <= #" & dtpCRTo.Value.Date & "#"
しかし、それはすべての人にとって同じ結果でした。
あなたはクリスタル関数を書くことができますか、単にvb関数しか書くことができませんか? – Siva
@シヴァ私はVBで書くことができます – Harambe
ok ..私はその部分を助けることはできません申し訳ありません...Crystalレポートを書くことができれば、Crystalの組み込み日付変換関数を使って操作することができます – Siva