2010-11-29 13 views
0

... donc ma vue sql retourne nvarchar comme '123456' ou 'JAN 11 2008 12:00 AM' (vue fait une union sur deux tables et jette une date à nvarchar).Reporting Services 2005 - Mise en forme de date conditionnelle ne fonctionnant pas

Je suis en train d'appliquer un à-dire de la mise en forme de la date conditionnelle je veux formater la date en cochant la colonne « Type » comme:

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

Donc, fondamentalement, si le type est un « COS » puis juste retour les données telles quelles, sinon formatez-les en une date.

Lors de l'aperçu du rapport si c'est un COS puis je reçois #Erreur dans la zone de texte (conversion de chaîne « 123456 » taper « Date » est pas valide.

Il est toute autre chose alors des données est au format jour.

est-ce que ce sens?

ya un problème avec la syntaxe ou est ce que je suis en train de ne pas possible?

alt text

+0

On dirait qu'il essaie de formater les données en DateTime AVANT d'évaluer l'expression ... où aller à partir d'ici? – empo

Répondre

0

J'ai modifié la vue à la place, donc je ne vais pas lancer de dates à nvarchar.

0

Je suppose que vous avez une certaine mise en forme dans la zone de texte "Format" champ

Sinon, vous avez un numéro lorsque vous attendez une date.

Essayez d'ajouter un IsDate() vérifier aussi pour enlever non Date

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

Edit:

Dans le DataSet, ce type de données, il ne dit s'il vous plaît?

+0

Il n'y a certainement pas de formatage que je peux voir dans la propriété Format de la zone de texte. – empo

+0

Avoir essayé votre suggestion, mais il essaie toujours de convertir la chaîne à ce jour. – empo

Questions connexes