5

'a dönüştürme Rapor Oluşturucusu 3.0 kullanarak bir rapor yapıyorum.Rapor Oluşturucusu 3.0: CD/DY/YY biçiminde tarihlerin dize temsilini CDate

Çalıştığım kaynak sisteminde mm/dd/yy biçimindeki tarihleri ​​temsil eden dizeler var, ancak bunu son kullanıcılara dd-MMM-yy olarak göstermek istiyorum. Dizede CDate kullanmak, hataları dd/mm/yy biçiminde (ABD bölgesel ayarları) yorumladığı için bana hata verecektir.

Dize, bir yerel ayar değiştirmeden doğru bir tarihe dönüştürmenin bir yolu var mı (bu gerçekten bir seçenek değil)?

Teşekkürler!

cevap

9

Format komutunu kullanabilir ve tam biçimini belirtebilirsiniz. Örneğin:

=Format(Cdate(Fields!Date.Value),"dd-MM-yyyy") 

veya bu deneyebilirsiniz:

=Day(Fields!Date.Value) & "/" & Month(Fields!Date.Value) & "/" & Year(Fields!Date.Value) 

DÜZENLEME: Tamam budur:

=Cdate(Mid(Fields!Date.Value,4,2) & "/" & Mid(Fields!Date.Value,1,2) & "/" & Mid(Fields!Date.Value,7,4)) 
tarihi alan değilse
+0

CDate bir hata döndürür "dd/mm/yyyy" biçimi zaten. Örneğin, "01/15/2012" varsa, CDate ay alanının "15" olduğunu düşünecek ve bir hata atacaktır. – confusedKid

+0

Cevabı güncelledim. Tamamsa şimdi kontrol edin. – Hari

+0

Bu, aynı sonucu verir, çünkü "Gün", "Ay" ve "Yıl", ilgili değerlerin "dd-mm-yyyy" biçiminde olmasını bekliyor. Ay, her zaman ayın değeri için dizenin orta kısmını kontrol edecektir ... – confusedKid

İlgili konular