Eray

LOD İle Karakter Saydırma(SubString)

  Tiger/Logo Object Designer (LOD)

Forum ve dökümanlarda bulamadım . Lod ile karakter sayma işlemi yapabilir miyim ? SUBSTRING Formülü gibi . Asıl sorunum şöyle ; 

LOD da aşağıda ki sorgu ile satır bilgisi çekiyorum .

CreateQuery(MyQry4)
MyQry4.SetSQLText("SELECT CODE FROM LG_003_CLCARD WHERE CLIENTREF="+carireferans+" AND LINENUM=4")

MyQry4.ExecuteDirect()

Res3 = MyQry4.First()

MyQry4.GetFieldValue(1,4,caricode)

-------------

Aşağıda ise caricode boş ise demem gerekiyor ama aslında code alanında veri yok Null değer dönüyordur select sorgumdan . 

if caricode<>"" yaptım ama alanda sanki yazı varmış gibi  görüyor ve if in içine giriyor ( NULL olduğundan kaynaklı olsa gerek ) 

if caricode = IS NULL demeye çalıştım sorgu hatası aldım. 

Aklıma saydırıp ife girmemesini sağlamayı düşündüm. Yardımlarınızı bekliyorum teşekkürler.




Lod IF


Eray

Sorun çözümünü şöyle buldum ; 

iften önce caricode bilgisini string değişkene aldım . 

STR(caricode,strcari)
if strcari<>"" then


dediğimde istediğime ulaştım .. 


30/09/17 12:41


Uluç Karadeniz

Onaylanmış Cevap

Merhaba,

Çöüzümü bulmuşsunuz aslında ancak aşağıdaki kodu kullanarak da null dönen değerlere istediğiniz değeri atabilirsiniz.


sqlTxt1 = "SELECT * FROM " + tblName + " WHERE PARLOGREF = '" + strLref + "'"
 CreateQuery(qry1)
 qry1.SetSqlText(sqlTxt1)
 qry1.executeDirect()
 
 i=0
 if qry1.ready = 1 then
 res = qry1.First()
 if res = 0 then
 warn("yok")
 sonuc = 0
 end if
 do while res = 1
 warn("war")
 sonuc = 1 
 i=i+1
 res = qry1.next()
 loop
 end if


if res = 0 diyerek sorgudan herhangi bir bilgi dönmediği zaman olacak durumu yazıyoruz. 

sonuc değişkenine 0 yazdırıyoruz. Eğer değer varsa do while res = 1 şeklinde satırlara konumlanmaya başlıyor.



30/09/17 15:44

Cevap vermek için giriş yapmanız gerekmektedir.