2017-01-27 6 views
0

この質問は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イベントで、だけでなく、DateTimePickerValue_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 & "#" 

しかし、それはすべての人にとって同じ結果でした。

+0

あなたはクリスタル関数を書くことができますか、単にvb関数しか書くことができませんか? – Siva

+0

@シヴァ私はVBで書くことができます – Harambe

+0

ok ..私はその部分を助けることはできません申し訳ありません...Crystalレポートを書くことができれば、Crystalの組み込み日付変換関数を使って操作することができます – Siva

答えて

1

@Sivaは、(常に正しい方法で、そこで式を作成し、それが探している構文を使用できるように)話していましたが、やっている方法がありますVB.NETにあります。

私が言及したように、構文は重要であり、これがあなたの問題を引き起こしています。 `#value# 'を使って、誰もこのメソッドでDateTimesを使用しようとしていませんでした。

日付をRecordSelectionFormulaにフォーマットする正しい方法は(これはCrystal自体で作成した場合に見たこともあります)、DATE(yyyy, MM, dd)です。

ので、これを構文に正しい方法で使用することです。

selectionFormula = "{Sales_Headers.Stage} = '6' AND {Sales_Lines.PaymentDate} <= DATE(" & _ 
dtpCRTo.Value.Date.Year & "," & dtpCRTo.Value.Date.Month & "," & dtpCRTo.Value.Date.Day & ")" 

は、将来的には選択式にあなたはそれが間違って取得することはできませんそのようにあなたの日付を挿入するには、このメソッドを使用します。

これが機能しない場合は、正しく設定されていることを確認するために、コントロールパネルの地域と地域の日付/時刻設定を確認する必要があります。

+0

これは、 – Harambe

関連する問題