Crystal Reports - ...
 
Bildirimler
Hepsini Temizle

Crystal Reports - Metin text alanı uzunluğu belirleme - karakter sayısını belirleme  

  RSS
emre dadaş
(@emredadas)
Üye

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. 

Alıntı
Gönderildi : 31/05/2014 23:29
hasan tayyar
(@hasantayyar)
Üye

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..

 

 

CevapAlıntı
Gönderildi : 01/06/2014 03:56
emre dadaş
(@emredadas)
Üye

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.  

CevapAlıntı
Gönderildi : 02/06/2014 21:18
Paylaş: