Delphi Can

Orjinalini görmek için tıklayınız: SQL Kullanımı
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Sayfalar: 1 2
Merhaba; Delphi7 içerisinde SQL kod kullanıyorum ve birkaç alanım var ve bunları ComboBox2 de items içerisine yazıyorum.

RAPOR_KODU5
ACIK1
ACIK2
ACIK3

şeklinde. Kullanıcı RAPOR_KODU5 seçtiği zaman;

'LEFT OUTER JOIN TBLCASABIT MC ON MC.VERGI_NUMARASI=TBLCASABIT.VERGI_NUMARASI AND '+#39+Edit3.Text+#39+'=''MERKEZ'' ' +

MERKEZ e eşitlemek istiyorum.
ComboBox2 nin OnClick olayına da;

Edit3.Text:='TBLCASABIT.'+ComboBox2.Text;
Edit3.Text de başına Tabloyu eklemek için böyle bir yöntem buldum.

Sorunum şu , 

'TBLCASABIT.RAPOR_KODU5'='MERKEZ' 


Tırnak içerisinde yazdığı için eşitleme yapmıyor.
Karışık oldu biliyorum ama Yardımcı olabilir misiniz? Başka bir yöntem le bu işi halledebilir miyim?
'LEFT OUTER JOIN TBLCASABIT MC ON MC.VERGI_NUMARASI=TBLCASABIT.VERGI_NUMARASI AND ' + Edit3.Text+ ' = ' + '''MERKEZ''' +
şeklinde denermisiniz
(20-07-2019, Saat: 13:16)adelphiforumz Kardeşim çok teşekkür ederim oldu. Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.'LEFT OUTER JOIN TBLCASABIT MC ON MC.VERGI_NUMARASI=TBLCASABIT.VERGI_NUMARASI AND ' + Edit3.Text+  ' = ' + '''MERKEZ'''  +
şeklinde denermisiniz
İyi günler.
sadece bilgi amaçlı 
Delphi de bu amaçla QuotedStr() komutu var.

'LEFT OUTER JOIN TBLCASABIT MC ON MC.VERGI_NUMARASI=TBLCASABIT.VERGI_NUMARASI AND ' + Edit3.Text+  ' = ' + QuotedStr('MERKEZ')  +
(20-07-2019, Saat: 15:53)cinarbil Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.İyi günler.
sadece bilgi amaçlı 
Delphi de bu amaçla QuotedStr() komutu var.

'LEFT OUTER JOIN TBLCASABIT MC ON MC.VERGI_NUMARASI=TBLCASABIT.VERGI_NUMARASI AND ' + Edit3.Text+  ' = ' + QuotedStr('MERKEZ')  +

Merhaba ; SQL Cümlesin de "TCKIMLIKNO" veya "VERGI_NUMARASI"  hangisi dolu ise ona göre rapor etmeli ama "VERGI_NUMARASI" filitre ediyor ,"TCKIMLIKNO" filitre etmiyor bütün tc kimlikleri döküyor nerde yanlışlık yaptım acaba rica etsem bir kontrol edebilir misiniz?

SELECT TBLCASABIT.CARI_ISIM, month(tarih) AS 'AY', Sum(TBLFATUIRS.BRUTTUTAR - SAT_ISKT - GEN_ISK1T - GEN_ISK2T - GEN_ISK3T) AS 'KDV_HARIC_TUTAR', Count(TBLFATUIRS.FATIRS_NO) AS 'FATURA_SAYISI',TBLCASABIT.VERGI_DAIRESI, TBLCASABIT.VERGI_NUMARASI,TBLCASABITEK.TCKIMLIKNO
FROM TBLFATUIRS
INNER JOIN TBLCASABIT ON TBLCASABIT.CARI_KOD=TBLFATUIRS.CARI_KODU 
INNER JOIN TBLCASABITEK ON (TBLCASABIT.CARI_KOD=TBLCASABITEK.CARI_KOD) AND (TBLFATUIRS.CARI_KODU=TBLCASABITEK.CARI_KOD)
WHERE (TBLFATUIRS.FTIRSIP='1') AND (TBLCASABITEK.TCKIMLIKNO='11111111111') OR (TBLCASABIT.VERGI_NUMARASI='')
GROUP BY TBLCASABIT.CARI_ISIM ,month(tarih),TBLCASABIT.VERGI_DAIRESI,TBLCASABIT.VERGI_NUMARASI,TBLCASABITEK.TCKIMLIKNO
HAVING Sum(TBLFATUIRS.BRUTTUTAR - SAT_ISKT - GEN_ISK1T - GEN_ISK2T - GEN_ISK3T)>=$1 AND month(tarih)='1'
ORDER BY month(tarih) ASC
@OZCANK 
Parametreli kullanımı (Eğer parametrede değer gönderirsen gönderdiğin değerler gelir göndermezsen hepsi

Select  TBLCASABIT.CARI_ISIM, Month(tarih) As 'AY', Sum(TBLFATUIRS.BRUTTUTAR - SAT_ISKT - GEN_ISK1T - GEN_ISK2T - GEN_ISK3T) As 'KDV_HARIC_TUTAR', 
       Count(TBLFATUIRS.FATIRS_NO) As 'FATURA_SAYISI', TBLCASABIT.VERGI_DAIRESI, TBLCASABIT.VERGI_NUMARASI, TBLCASABITEK.TCKIMLIKNO
 From  TBLFATUIRS
       Inner Join TBLCASABIT On TBLCASABIT.CARI_KOD     = TBLFATUIRS.CARI_KODU
       Inner Join TBLCASABITEK On (TBLCASABIT.CARI_KOD  = TBLCASABITEK.CARI_KOD) And (TBLFATUIRS.CARI_KODU = TBLCASABITEK.CARI_KOD)
Where  (TBLFATUIRS.FTIRSIP        = '1')

And (TBLCASABITEK.TCKIMLIKNO   = @TCNo Or @TCNo = '')

And (TBLCASABIT.VERGI_NUMARASI = @VDNo Or @VDNo = '')
Group By TBLCASABIT.CARI_ISIM, Month(tarih), TBLCASABIT.VERGI_DAIRESI, TBLCASABIT.VERGI_NUMARASI, TBLCASABITEK.TCKIMLIKNO
Having  Sum(TBLFATUIRS.BRUTTUTAR - SAT_ISKT - GEN_ISK1T - GEN_ISK2T - GEN_ISK3T) >= $1
  And  Month(tarih)                                                             = '1'
Order By Month(tarih) Asc;


Parametresiz kullanımıda TC No yada VD No alanlarından dolu olanlar gelir

Select  TBLCASABIT.CARI_ISIM, Month(tarih) As 'AY', Sum(TBLFATUIRS.BRUTTUTAR - SAT_ISKT - GEN_ISK1T - GEN_ISK2T - GEN_ISK3T) As 'KDV_HARIC_TUTAR', 
       Count(TBLFATUIRS.FATIRS_NO) As 'FATURA_SAYISI', TBLCASABIT.VERGI_DAIRESI, TBLCASABIT.VERGI_NUMARASI, TBLCASABITEK.TCKIMLIKNO
 From  TBLFATUIRS
       Inner Join TBLCASABIT On TBLCASABIT.CARI_KOD     = TBLFATUIRS.CARI_KODU
       Inner Join TBLCASABITEK On (TBLCASABIT.CARI_KOD  = TBLCASABITEK.CARI_KOD) And (TBLFATUIRS.CARI_KODU = TBLCASABITEK.CARI_KOD)
Where  (TBLFATUIRS.FTIRSIP        = '1')
   And ( (TBLCASABITEK.TCKIMLIKNO   <> '') Or  (TBLCASABIT.VERGI_NUMARASI <> '' ) )
Group By TBLCASABIT.CARI_ISIM, Month(tarih), TBLCASABIT.VERGI_DAIRESI, TBLCASABIT.VERGI_NUMARASI, TBLCASABITEK.TCKIMLIKNO
Having  Sum(TBLFATUIRS.BRUTTUTAR - SAT_ISKT - GEN_ISK1T - GEN_ISK2T - GEN_ISK3T) >= $1
  And  Month(tarih)                                                             = '1'
Order By Month(tarih) Asc;

@hi_selamlar
Merhabalar,

SQL Server çok iyi bilmiyorum.
Merak ettiğim bir konu var. Kullandığınız SQL kod örneğinde
1
Having ...... ..... .... >= $1
$1 buradaki anlamı nedir? Yani $ simgesi ne işlem görüyor. Detay verebilirmisiniz rica etsem.

Benim bildiğim kadarı ile sybase syntax'ından kalma
rakamsal değerlerde kullanılır
örneğin
Select * from XTable From ID >$10
gibi
Parametresiz de Eşitleme nasıl olacak? TC no dolu v.no boş ise yada tersi durum da .


Select  TBLCASABIT.CARI_ISIM, Month(tarih) As 'AY', Sum(TBLFATUIRS.BRUTTUTAR - SAT_ISKT - GEN_ISK1T - GEN_ISK2T - GEN_ISK3T) As 'KDV_HARIC_TUTAR', 

      Count(TBLFATUIRS.FATIRS_NO) As 'FATURA_SAYISI', TBLCASABIT.VERGI_DAIRESI, TBLCASABIT.VERGI_NUMARASI, TBLCASABITEK.TCKIMLIKNO
From  TBLFATUIRS
      Inner Join TBLCASABIT On TBLCASABIT.CARI_KOD     = TBLFATUIRS.CARI_KODU
      Inner Join TBLCASABITEK On (TBLCASABIT.CARI_KOD  = TBLCASABITEK.CARI_KOD) And (TBLFATUIRS.CARI_KODU = TBLCASABITEK.CARI_KOD)
Where  (TBLFATUIRS.FTIRSIP        = '1')
  And ( (TBLCASABITEK.TCKIMLIKNO   <> '') Or  (TBLCASABIT.VERGI_NUMARASI <> '' ) )
Group By TBLCASABIT.CARI_ISIM, Month(tarih), TBLCASABIT.VERGI_DAIRESI, TBLCASABIT.VERGI_NUMARASI, TBLCASABITEK.TCKIMLIKNO
Having  Sum(TBLFATUIRS.BRUTTUTAR - SAT_ISKT - GEN_ISK1T - GEN_ISK2T - GEN_ISK3T) >= $1
 And  Month(tarih)                                                             = '1'
Order By Month(tarih) Asc;
@OZCANK
Sorduğunuz soruda veya didyorsunuz bir parametre yada eşitlikten bahsedilmiyor
SQL Cümlesin de "TCKIMLIKNO" veya "VERGI_NUMARASI"  hangisi dolu ise ona göre rapor etmeli ....."

yani bende "TCKIMLIKNO" veya "VERGI_NUMARASI"  dolu olanları listeliyorum
Yapmak istediğiniz daha açıklayıcı ve net yazarsanız daha fazla yardımcı olmaya çalışırım/çalışırız

NOT: 
Zaten daha net yazmaya çalışırken verdiğim örneğe dikkat ederseniz kendinizde çözümü bulacağınıza inanıyorum
(26-07-2019, Saat: 11:47)adelphiforumz Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.@OZCANK
Sorduğunuz soruda veya didyorsunuz bir parametre yada eşitlikten bahsedilmiyor
SQL Cümlesin de "TCKIMLIKNO" veya "VERGI_NUMARASI"  hangisi dolu ise ona göre rapor etmeli ....."

yani bende "TCKIMLIKNO" veya "VERGI_NUMARASI"  dolu olanları listeliyorum
Yapmak istediğiniz daha açıklayıcı ve net yazarsanız daha fazla yardımcı olmaya çalışırım/çalışırız

NOT: 
Zaten daha net yazmaya çalışırken verdiğim örneğe dikkat ederseniz kendinizde çözümü bulacağınıza inanıyorum

Cevaplarınız için teşekkür ederim. Yapmak istediğim şu aslında;

Delphi de Faturaları listeliyorum ve bu faturaları listelerken vergi no veya tc no ları kümüle ediyorum. Eğer kümüle edilen faturanın detayını isterse kullanıcı üzerinde sağ clik yapıp detay alıyor yani kümülesiz buda veride ki v.no veya tc no alanlarının hangisi dolu ise ona göre liste alıyor.

BaBsRapDetay.SQL.Text:='SELECT CS.CARI_ISIM, month(tarih) AS AY, Sum(TBLFATUIRS.BRUTTUTAR - SAT_ISKT - GEN_ISK1T - GEN_ISK2T - GEN_ISK3T) AS KDV_HARIC_TUTAR, '+
                       'Count(TBLFATUIRS.FATIRS_NO) AS FATURA_SAYISI,CS.VERGI_DAIRESI,CS.VERGI_NUMARASI, TBLCASABITEK.TCKIMLIKNO ' +
                      'FROM TBLFATUIRS ' +
                      'INNER JOIN TBLCASABIT CS ON CS.CARI_KOD=TBLFATUIRS.CARI_KODU ' +
                      'INNER JOIN TBLCASABITEK ON CS.CARI_KOD=TBLCASABITEK.CARI_KOD ' +
                      'WHERE (FTIRSIP=''1'') AND (CS.VERGI_NUMARASI='+#39+''+Edit2.Text+''+#39+') OR (TBLCASABITEK.TCKIMLIKNO='+#39+''+Edit4.Text+''+#39+') ' +
                      'GROUP BY CS.CARI_ISIM ,CS.CARI_KOD, month(tarih),CS.VERGI_NUMARASI, TBLCASABITEK.TCKIMLIKNO, TBLFATUIRS.FTIRSIP, CS.VERGI_DAIRESI ' +
                      'HAVING (Sum(TBLFATUIRS.BRUTTUTAR-SAT_ISKT-GEN_ISK1T-GEN_ISK2T-GEN_ISK3T)>=$1) AND MONTH(TARIH)='+#39+''+Edit1.Text+''+#39+' ' +
                      'ORDER BY month(tarih) ASC';
BaBsRapDetay.Open;
ShowMessage(BaBsRapDetay.SQL.Text);
Sayfalar: 1 2