Forum
crystal reports da text alanı uzunluğunu belirlemek istiyorum. text alanı değeri ne olursa olsun raporda görünümde uzunluğu 26 karakter yer kaplasın. Amacım crtystalı .txt çevirdiğimde bankanın istediği formatı yakalamak.
örnek: 20140505 TEXT2
örnekteki gibi text1 alanın değeri (20140505) ne olursa olsun uzunluğu 26 karakter olsun TEXT2 bu 26 karakterden sonra başlasın.
Acil yardımlarınızı bekliyorum.
MERHABA
Anladığım kadarıyla cevaplayayım.
1- Dizaynın içine bir tane Formül ekle .(field Explorer içinde Formule Fields e Sağ Tıkla new e bas)
2-bir isim ver ve ok tıklat. Gelen pencerede şunu yaz
Mid ({TBLCASABIT.CARI_ISIM},1 ,27)
(TBLCASABIT.CARI_ISIM yerine bağlamak istediğin veriyi yerleştir. ve formülü kaydet )
3- Kaydetmiş olduğun formülü dizayna ekle (Sürükle Bırak)
bu sana 26 karaktere kadar veriyi sabit bir şekilde eklemeni sağlar. istediğin karakter aralıklarında . (1-27 arası)
Not : Eğer Sağ baştan yada sol baştan diye almak istiyorsan formülün içine aşağıdaki değerleri gir
Sol için :
Left ({TBLCASABIT.CARI_ISIM},26 )
sağ için :
Right ({TBLCASABIT.CARI_ISIM},26 )
Bu formül verisini başka bir text içinde başka bir veriyle birleştirebilirsin.
Şöyleki;
1-bir tane text ekle
2- eklediğin Textin üzerine formülü sürükle ve bırak . Böylece Textin içine formül verisi eklenmiş olacak.
3- daha sonra yine bu textin içine formül verisinden sonra eklemek istediğin veriyide sürükle bırak yaparsan textin içinde hem formülüze etmiş olduğun veri hemde sonraki eklemiş olduğun veri birleşmiş olur .
Buna ek olarak Eğer Ekleyeceğin veri 26 karakterden az ise ve bunu crystal reporta boşluk olarak tamamlatmak istiyorsan ,
sana örnek olsundiye hazırladığım kodu kullanabilirsin. Tamamla adında bir formül içine şu kodu ekle. Kod içindeki cari isim olan yere sen kendi verini ekle. ve dizayna dahil ettiğinde anlarsın zaten .
if Length ({TBLCASABIT.CARI_ISIM})=0 then {TBLCASABIT.CARI_ISIM} & " " & "26 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=1 then {TBLCASABIT.CARI_ISIM} & " " & "25 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=2 then {TBLCASABIT.CARI_ISIM} & " " & "24 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=3 then {TBLCASABIT.CARI_ISIM} & " " & "23 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=4 then {TBLCASABIT.CARI_ISIM} & " " & "22 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=5 then {TBLCASABIT.CARI_ISIM} & " " & "21 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=6 then {TBLCASABIT.CARI_ISIM} & " " & "20 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=7 then {TBLCASABIT.CARI_ISIM} & " " & "19 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=8 then {TBLCASABIT.CARI_ISIM} & " " & "18 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=9 then {TBLCASABIT.CARI_ISIM} & " " & "17 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=10 then {TBLCASABIT.CARI_ISIM} & " " & "16 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=11 then {TBLCASABIT.CARI_ISIM} & " " & "15 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=12 then {TBLCASABIT.CARI_ISIM} & " " & "14 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=13 then {TBLCASABIT.CARI_ISIM} & " " & "13 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=14 then {TBLCASABIT.CARI_ISIM} & " " & "12 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=15 then {TBLCASABIT.CARI_ISIM} & " " & "11 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=16 then {TBLCASABIT.CARI_ISIM} & " " & "10 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=17 then {TBLCASABIT.CARI_ISIM} & " " & "9 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=18 then {TBLCASABIT.CARI_ISIM} & " " & "8 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=19 then {TBLCASABIT.CARI_ISIM} & " " & "7 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=20 then {TBLCASABIT.CARI_ISIM} & " " & "6 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=21 then {TBLCASABIT.CARI_ISIM} & " " & "5 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=22 then {TBLCASABIT.CARI_ISIM} & " " & "4 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=23 then {TBLCASABIT.CARI_ISIM} & " " & "3 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=24 then {TBLCASABIT.CARI_ISIM} & " " & "2 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})=25 then {TBLCASABIT.CARI_ISIM} & " " & "1 Karakter Boşluk Ekledi" else
if Length ({TBLCASABIT.CARI_ISIM})>25 then {TBLCASABIT.CARI_ISIM} & "" & "0 Karakter Boşluk Ekledi"
iyi çalışmalar..
Cevabın için çok teşekkür ederim. alttaki yazmış olduğun uzun kod için kısa bir çözüm buldum. paylaşmak istedim.
mid( ({VB.HESAP_NO} + space(26)), 1, 26)
bu kod ile hesap_no uzunluğu ne olursa olsun sistem text uzunluğunun 26 karakter olması için boşluk bırakıyor ve text uzunluğu her zaman 26 karakter oluyor.