SQL Banka Hesap Ekstresi - Bakiye alanı kaldı

Gönderen Konu: SQL Banka Hesap Ekstresi - Bakiye alanı kaldı  (Okunma sayısı 2662 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı LsuErsoy

  • LOGO Bayi
  • Logo Uzmanı
  • *****
  • Karma: 33
  • Kişisel ileti
Ynt: SQL Banka Hesap Ekstresi - Bakiye alanı kaldı
« Yanıtla #15 : 20.11.2015, 14:25 »
SQL Server 2012 de test ettim gayet başarılı çalışıyor.

Çevrimdışı E.ALKIN

  • Logo Sistem Administrator
  • Logo Uzmanı
  • *****
  • Karma: 1
  • WWW.logogorselegitim.NET
Ynt: SQL Banka Hesap Ekstresi - Bakiye alanı kaldı
« Yanıtla #16 : 20.11.2015, 17:06 »
evet zaten 2008 de çalışmıyor  sıkıntı orda

Çevrimdışı akesoft

  • Yeni Kullanıcı
  • *
  • Karma: 0
  • Logo Destek
Ynt: SQL Banka Hesap Ekstresi - Bakiye alanı kaldı
« Yanıtla #17 : 22.11.2015, 10:10 »
view oluşturmaya kalkarsanız hata verir, bunu önlemek için
SELECT cümlesi önüne TOP (100) PERCENT yazın düzelir.

örnek: SELECT      TOP (100) PERCENT HAREKET.DATE_ AS TARIH,...


Çevrimdışı ismailmuhcu

  • Yeni Kullanıcı
  • *
  • Karma: 0
Ynt: SQL Banka Hesap Ekstresi - Bakiye alanı kaldı
« Yanıtla #18 : 13.05.2019, 11:44 »
Merhabalar,
6 numaralı mesajdaki çalışma üzerinden aşağıdaki kod ile yürüyen bakiye aldım, fakat raporun tamamı üzerinden yürüyen bakiye alıyor.
Banka hesabı filtre yapıldığında tüm rapor üzerinden bakiye aldığı için cevap vermiyor.
Tüm rapor değil de banka hesabı bazlı yürüyen bakiye için nasıl bi değişiklik yapmalıyız?

Kod: [Seç]
...
s = s & vbLf & "COALESCE(CASE WHEN LGMAIN.SIGN = 0  THEN LGMAIN.AMOUNT END,0) AS [BORÇ], "
s = s & vbLf & "COALESCE(CASE WHEN LGMAIN.SIGN = 1  THEN LGMAIN.AMOUNT END,0) AS [ALACAK],"
s = s & vbLf & "ROUND(SUM(((1-LGMAIN.SIGN)*LGMAIN.AMOUNT)-(LGMAIN.SIGN*LGMAIN.AMOUNT)) OVER(ORDER BY LGMAIN.DATE_, BNACC.DEFINITION_, LGMAIN.LOGICALREF) ,2) AS [BAKİYE],"
...

Çevrimdışı Monsieur®

  • LogoDestek Yönetim
  • Logo Uzmanı
  • *****
  • Karma: 38
Ynt: SQL Banka Hesap Ekstresi - Bakiye alanı kaldı
« Yanıtla #19 : 14.05.2019, 00:36 »
bu kısıma  tarih filtresini eklemeniz gerekiyor

BAKIYE=(SELECT ROUND(SUM(CASE WHEN IC_HAREKET.SIGN=0 THEN AMOUNT ELSE AMOUNT*-1 END),2)
      FROM LG_444_01_BNFLINE IC_HAREKET
     WHERE HAREKET.BNACCREF=IC_HAREKET.BNACCREF
     AND IC_HAREKET.LOGICALREF<HAREKET.LOGICALREF+1)


Çevrimdışı ismailmuhcu

  • Yeni Kullanıcı
  • *
  • Karma: 0
Ynt: SQL Banka Hesap Ekstresi - Bakiye alanı kaldı
« Yanıtla #20 : 24.05.2019, 10:36 »
Merhaba,
Verdiğiniz kodları sorguma yerleştiremedim.
Alıntı
Alıntı
...
s = s & vbLf & "COALESCE(CASE WHEN LGMAIN.SIGN = 0  THEN LGMAIN.AMOUNT END,0) AS [BORÇ], "
s = s & vbLf & "COALESCE(CASE WHEN LGMAIN.SIGN = 1  THEN LGMAIN.AMOUNT END,0) AS [ALACAK],"
s = s & vbLf & "ROUND(SUM(((1-LGMAIN.SIGN)*LGMAIN.AMOUNT)-(LGMAIN.SIGN*LGMAIN.AMOUNT)) OVER(ORDER BY LGMAIN.DATE_, BNACC.DEFINITION_, LGMAIN.LOGICALREF) ,2) AS [BAKİYE],"
...

bu kısıma  tarih filtresini eklemeniz gerekiyor

BAKIYE=(SELECT ROUND(SUM(CASE WHEN IC_HAREKET.SIGN=0 THEN AMOUNT ELSE AMOUNT*-1 END),2)
      FROM LG_444_01_BNFLINE IC_HAREKET
     WHERE HAREKET.BNACCREF=IC_HAREKET.BNACCREF
     AND IC_HAREKET.LOGICALREF<HAREKET.LOGICALREF+1)