2010-11-29 8 views
0

... so meine SQL-Ansicht gibt nvarchar als '123456' oder 'JAN 11 2008 12:00 AM' (Ansicht führt eine Union auf zwei Tabellen und wirft Datum auf nvarchar).Reporting Services 2005 - Bedingtes Datum Formatierung funktioniert nicht

Ich versuche, einige bedingte Datumsformatierung also ich durch Überprüfen der Spalte „Typ“ als das Datum zu formatieren anwenden:

=IIf(Fields!Type.Value = "COS", Fields!CosNoOrDateToContractor.Value, FormatDateTime (Fields!CosNoOrDateToContractor.Value, vbShortDate)) 

Also im Grunde, wenn der Typ ein „COS“ ist dann nur Rückkehr die Daten wie sie sind, andernfalls formatieren Sie sie zu einem Datum.

Wenn der Bericht der Vorschau Wenn es ein COS dann ich #Error in der Textbox (Konvertierung von String „123456“ eingeben ‚Date‘ bekommen, ist nicht gültig.

Es ist etwas anderes, dann werden die Daten als Datum formatiert.

Macht des Sinns?

Alles falsch mit der Syntax oder ist das, was ich versuche nicht möglich zu tun?

alt text

+0

Sieht aus, als ob es versucht, die Daten zu DateTime zu formatieren, BEVOR der Ausdruck ausgewertet wird ... Wohin soll ich von hier gehen? – empo

Antwort

0

Ich habe die Ansicht stattdessen geändert, also gebe ich keine Daten an nvarchar.

0

Meine Vermutung ist, dass Sie einige Formatierung in das Textfeld haben "Format" Feld

Sonst haben Sie eine Nummer, wenn Sie ein Datum erwarten.

Versuchen Hinzufügen eines IsDate() prüfen, nicht-Datum

=IIf(Fields!Type.Value <> "COS" AND IsDate(Fields!CosNoOrDateToContractor.Value) 
    , FormatDateTime (Fields!CosNoOrDateToContractor.Value, vbShortDate) 
     , Fields!CosNoOrDateToContractor.Value) 

bearbeiten zu entfernen:

im Datensatz, welcher Datentyp sagt es bitte?

+0

Es gibt definitiv keine Formatierung, die ich in der Eigenschaft Format des Textfelds sehen kann. – empo

+0

Haben Sie Ihren Vorschlag versucht, aber es versucht immer noch, Zeichenfolge in Datum zu konvertieren. – empo

Verwandte Themen