ms access sorgusu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

ms access sorgusu

Mesaj gönderen erdogan_ozkaya »

Arkadaşlar,

ms access de çalışan kod delphi de çalışmıyor nz satırında hata veriyor insnull da hata veriyor nasıl yapabilirim acaba ?


delphide7 deki kod // NZ([ADET],0),0) ) AS GIRIS, burda hata veriyor

Kod: Tümünü seç

       QRY_URUNLER.Close;
       QRY_URUNLER.SQL.Clear;
       QRY_URUNLER.SQL.Add(' SELECT SKT.KIMLIK, SKT.ADI, SKT.ACIKLAMA, '
                                  +' SKT.ALIS_FIYAT, SKT.ALIS_PARA_BIRIMI, SKT.KATAGORI, '
                                  +' SKT.RENK, SKT.FIYAT, SKT.MIKTAR, SKT.PARA_BIRIMI, '
                                  +' SKT.BARKOD,  SKT.URUN_NO,  TBL.GIRIS,  TBL.CIKIS, '
                                  +' (TBL.GIRIS-TBL.CIKIS) AS KALAN FROM URUNLER AS SKT '
                                  +' LEFT JOIN (SELECT  SHD.URUN_NO, '
                                  +' Sum(IIf([FIS_TIPI]='+#39+'Alış'+#39+' and ');


       QRY_URUNLER.SQL.Add(' SHD.TARIH>=:tar1 and SHD.TARIH<=:tar2 ,   NZ([ADET],0),0) ) AS GIRIS, '



                                  +' Sum(IIf([FIS_TIPI]='+#39+'Satış'+#39+' and ');
       QRY_URUNLER.SQL.Add(' SHD.TARIH>=:tar3 and SHD.TARIH<=:tar4,  NZ([ADET],0),0)) AS CIKIS '
                                                                     // IIf(IsNull([ADET]),0,[ADET])

                                  +' FROM SIPARISLER AS SHD GROUP BY SHD.URUN_NO)  AS TBL ON SKT.URUN_NO = TBL.URUN_NO '
                                  +' WHERE SKT.URUN_NO<>'+#39+''+#39+' '
                                  +' ORDER BY SKT.KATAGORI  ');


                             //SHD.TARIH >=#19-04-2019# AND  SHD.TARIH<=#19-04-2019#


       QRY_URUNLER.Parameters.ParamByName('tar1').Value:=StrToDate(DateToStr(dtpILK.Date));
       QRY_URUNLER.Parameters.ParamByName('tar2').Value:=StrToDate(DateToStr(dtpSON.Date));

       QRY_URUNLER.Parameters.ParamByName('tar3').Value:=StrToDate(DateToStr(dtpILK.Date));
       QRY_URUNLER.Parameters.ParamByName('tar4').Value:=StrToDate(DateToStr(dtpSON.Date));

       mmo1.Lines.Add(QRY_URUNLER.SQL.Text);
       QRY_URUNLER.Open;

ms access de çalışan kod

Kod: Tümünü seç

SELECT SKT.KIMLIK, SKT.ADI, SKT.ACIKLAMA, 
SKT.ALIS_FIYAT, SKT.ALIS_PARA_BIRIMI, SKT.KATAGORI, 
SKT.RENK, SKT.FIYAT, SKT.MIKTAR, SKT.PARA_BIRIMI, 
SKT.BARKOD,  SKT.URUN_NO,  TBL.GIRIS,  TBL.CIKIS, 
(TBL.GIRIS-TBL.CIKIS) AS KALAN FROM URUNLER AS SKT 
LEFT JOIN ( SELECT  SHD.URUN_NO, 
 

Sum(IIf([FIS_TIPI]='Alış' and 


SHD.TARIH >=#19-04-2019# AND  SHD.TARIH<=#19-04-2019# ,   

 
nz([ADET],0),0)) AS GIRIS, 

 
Sum(IIf([FIS_TIPI]='Satış'  and SHD.TARIH >=#19-04-2019# AND  SHD.TARIH<=#20-04-2019#, 

nz([ADET],0),0)) AS CIKIS


FROM SIPARISLER AS SHD GROUP BY SHD.URUN_NO)  AS TBL ON SKT.URUN_NO = TBL.URUN_NO
WHERE (((SKT.URUN_NO)<>''))
ORDER BY SKT.KATAGORI
teşekkürler
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: ms access sorgusu

Mesaj gönderen erdogan_ozkaya »

belki işine yarayan olur :)

access

Kod: Tümünü seç

QRY_URUNLER.Close;
       QRY_URUNLER.SQL.Clear;
       QRY_URUNLER.SQL.Add(' SELECT SKT.KIMLIK, SKT.ADI, SKT.ACIKLAMA, '
                                  +' SKT.ALIS_FIYAT, SKT.ALIS_PARA_BIRIMI, SKT.KATAGORI, '
                                  +' SKT.RENK, SKT.FIYAT, SKT.MIKTAR, SKT.PARA_BIRIMI, '
                                  +' SKT.BARKOD,  SKT.URUN_NO,  TBL.GIRIS,  TBL.CIKIS, '
                                  +' (TBL.GIRIS-TBL.CIKIS) AS KALAN FROM URUNLER AS SKT '
                                  +' LEFT JOIN (SELECT  SHD.URUN_NO, '
                                  +' Sum(IIf([FIS_TIPI]='+#39+'Alış'+#39+' and ');


       QRY_URUNLER.SQL.Add(' SHD.TARIH>=:tar1 and SHD.TARIH<=:tar2 ,    iif(ADET IS NULL, 0, ADET),0) ) AS GIRIS, '



                                  +' Sum(IIf([FIS_TIPI]='+#39+'Satış'+#39+' and ');
       QRY_URUNLER.SQL.Add(' SHD.TARIH>=:tar3 and SHD.TARIH<=:tar4,  iif(ADET IS NULL, 0, ADET),0) ) AS CIKIS  '
                                                                     // IIf(IsNull([ADET]),0,[ADET])

                                  +' FROM SIPARISLER AS SHD GROUP BY SHD.URUN_NO)  AS TBL ON SKT.URUN_NO = TBL.URUN_NO '
                                  +' WHERE SKT.URUN_NO<>'+#39+''+#39+' and ADI LIKE ''%'+edtURUN_ADI.Text+'%'' order by SKT.KATAGORI  ASC ');




                             //SHD.TARIH >=#19-04-2019# AND  SHD.TARIH<=#19-04-2019#


       QRY_URUNLER.Parameters.ParamByName('tar1').Value:=StrToDate(DateToStr(dtpILK.Date));
       QRY_URUNLER.Parameters.ParamByName('tar2').Value:=StrToDate(DateToStr(dtpSON.Date));

       QRY_URUNLER.Parameters.ParamByName('tar3').Value:=StrToDate(DateToStr(dtpILK.Date));
       QRY_URUNLER.Parameters.ParamByName('tar4').Value:=StrToDate(DateToStr(dtpSON.Date));
 
       QRY_URUNLER.Open;

sql

Kod: Tümünü seç

       QRY_URUNLER.Close;
       QRY_URUNLER.SQL.Clear;
       QRY_URUNLER.SQL.Add(' SELECT SKT.KIMLIK, SKT.ADI, SKT.ALIS_FIYAT, SKT.ALIS_PARA_BIRIMI, SKT.ACIKLAMA, SKT.KATAGORI, SKT.RENK, '
                                  +' SKT.FIYAT, SKT.MIKTAR, SKT.PARA_BIRIMI, SKT.BARKOD, SKT.URUN_NO, '
                                  +' ISNULL(TBL.GIRIS,0) GIRIS, ISNULL(TBL.CIKIS,0) CIKIS, '
                                  +' (ISNULL(TBL.GIRIS,0) - ISNULL(TBL.CIKIS,0)) KALAN  '
                                  +' FROM URUNLER SKT LEFT JOIN (select SHD.URUN_NO,  '
                                  +' SUM(CASE WHEN (SHD.FIS_TIPI='+#39+'Satış'+#39+') AND  ');


       QRY_URUNLER.SQL.Add(' SHD.TARIH>=:tar1 and SHD.TARIH<=:tar2 THEN SHD.ADET ELSE 0 END) CIKIS, '
                          +' SUM(CASE WHEN (SHD.FIS_TIPI='+#39+'Alış'+#39+') AND ');

       QRY_URUNLER.SQL.Add(' SHD.TARIH>=:tar3 and SHD.TARIH<=:tar4 '
                                  +' THEN SHD.ADET ELSE 0 END) GIRIS '
                                  +' FROM SIPARISLER SHD group by SHD.URUN_NO ) TBL ON TBL.URUN_NO=SKT.URUN_NO ');

       QRY_URUNLER.SQL.Add(' where  SKT.URUN_NO<>'+#39''#39+''); 

       QRY_URUNLER.SQL.Add(' and ADI LIKE ''%'+edtURUN_ADI.Text+'%'' order by SKT.KATAGORI  ASC '); 

       QRY_URUNLER.Parameters.ParamByName('tar1').Value:=StrToDate(DateToStr(dtpILK.Date));
       QRY_URUNLER.Parameters.ParamByName('tar2').Value:=StrToDate(DateToStr(dtpSON.Date));

       QRY_URUNLER.Parameters.ParamByName('tar3').Value:=StrToDate(DateToStr(dtpILK.Date));
       QRY_URUNLER.Parameters.ParamByName('tar4').Value:=StrToDate(DateToStr(dtpSON.Date));
       QRY_URUNLER.Open;
Cevapla