Aşağıdaki kod ile MSSQL de bir tablomdaki borç alacak bakiye çıkartıyorum.
Aynı kodu, işlemi accessde nasıl yapabilirim ?
Tablo: SATIŞLAR
BORC,
ALACAK,
MUSTERI_NO
Tablo: MUSTERILER
MUSTERI_NO,
UNVAN
Teşekkürler
Kod: Tümünü seç
declare @bakiyeler table
(
MUSTERI_NO bigint,
BOLGE nvarchar(500),
ACIKLAMA nvarchar(500),
TELEFON nvarchar(500),
AD_SOYAD nvarchar(500),
BORC numeric(18,2),
ALACAK numeric(18,2),
BAKIYE numeric(18,2),
DURUM nvarchar(500)
)
/******** bakiyeler tablosu oluştur***************/
insert into @bakiyeler
/*****************************************************************/
select
ct.KIMLIK,
ct.BOLGE,
ct.ACIKLAMA,
ct.TELEFON,
ct.AD_SOYAD,
sum(ch.BORC) as BORC,
sum(ch.ALACAK) as ALACAK ,
(
sum(ch.BORC) -
sum(ch.ALACAK)
)
as BAKIYE, ct.AD_SOYAD
from SATISLAR as ch, MUSTERILER as ct
where
ch.MUSTERI_NO = ct.KIMLIK
group by ct.KIMLIK , ct.BOLGE, ct.ACIKLAMA,ct.TELEFON,ct.AD_SOYAD
/*********tüm hareketleri oluştur*******************************/
/*********3 tablo oluştur***********************/
/***işlemden sonra kullanım için 3 tabloların tüm kimliğini al****/
declare @borclular table (MUSTERI_NO bigint);
insert into @borclular select MUSTERI_NO from @bakiyeler where BAKIYE > 0
declare @alacaklilar table (MUSTERI_NO bigint);
insert into @alacaklilar select MUSTERI_NO from @bakiyeler where BAKIYE < 0
declare @temizler table (MUSTERI_NO bigint);
insert into @temizler select MUSTERI_NO from @bakiyeler where BAKIYE = 0 or BAKIYE = null
/*****bitiş********************/
/*******buradaki değişim tablosunda 3 durum güncelleme @bakiyeler***/
update @bakiyeler set DURUM = 'Borçlu' where MUSTERI_NO in ( select MUSTERI_NO from @borclular )
update @bakiyeler set DURUM = 'Alacaklı' where MUSTERI_NO in ( select MUSTERI_NO from @alacaklilar )
update @bakiyeler set DURUM = '-' where MUSTERI_NO in ( select MUSTERI_NO from @temizler )
/*******bitiş*************************************/
/*tüm tablo sonuşları burada*/
select * from @bakiyeler