Yıl sonu devirleri

1 2
18/01/2017, 18:43

kadirdursun

Arkadaşlar;
Merhaba.

Forumumuzda yaptığım aramalardan bir netice alamadım.

Yıl sonu olduğu için devir işlemi yapmam lazım. Firmanın yıl içindeki bir çok hareketini 2016 YILINDAN DEVİR açıklaması ile tek satır olarak tabloya aktarmam ve eski hareketlerini silmem lazım. Bunun için aşağıdaki yolu izliyorum:

1) DEVIR_TABLOSUNU_OLUSTUR sorgusu ile DEVIR_TABLOSU nu oluşturuyorum.
2) ESKI_YILI_SILME sorgusu ile MUSTERI_HAREKET tablosunun içindeki tüm kayıtları siliyorum.
3) DEVRET sorgusu ile MUSTERI_HAREKET tablosuna DEVIR_TABLOSU ndaki değerleri ekliyorum.

Bu uzun bir yol.

1) Bütün bu işlemleri tek seferde yapacak bir kod yada sorgu var mı?
2) Devir yaparken borç ve ödemeyi birbirinden çıkarıp aradaki fark pozitif ise borç hanesine negatif ise ödeme hanesine yazdırıp devretmem gerek. Hali hazırda yukarıdaki sorgularımın sonucunda toplam borcu borç hanesine, toplam ödemeyide ödeme hanesine yazıyor. Böyle olmayacak.
19/01/2017, 02:34

ozanakkaya

(18/01/2017, 18:43)kadirdursun yazdı: 2) Devir yaparken borç ve ödemeyi birbirinden çıkarıp aradaki fark pozitif ise borç hanesine negatif ise ödeme hanesine yazdırıp devretmem gerek. Hali hazırda yukarıdaki sorgularımın sonucunda toplam borcu borç hanesine, toplam ödemeyide ödeme hanesine yazıyor. Böyle olmayacak.

Merhaba, sadece mdb uzantılı örnek uygulama eklemeniz yeterli.

DEVRET isimli ekleme sorgusundaki


BORC: BORC

alanını 
BORC: IIf([BORC]-[ODEME]>0;[BORC]-[ODEME];"")

kodu ile, 

ODEME: ODEME

alanını da 
ODEME: IIf([BORC]-[ODEME]>0;"";Abs([BORC]-[ODEME]))

Kodu ile değiştirerek deneyiniz.
Oluşurduğunuz 3 sorguyu forma ekleyeceğiniz butona docmd.runsql kodu ile çalıştırabilirsiniz.
19/01/2017, 08:47

kadirdursun

Sayın ozanakkaya;

Aşağıdaki kodlarıda denemiştim. Hata vermişti. Şimdi yine denedim, hatanın ekran görüntüsünü ekledim.


Kod:
BORC: IIf([BORC]-[ODEME]>0;[BORC]-[ODEME];"")


Kod:
ODEME: IIf([BORC]-[ODEME]>0;"";Abs([BORC]-[ODEME]))



19/01/2017, 10:31

atoz112

Sayın kadirdursun

Bu hatayı almanızın nedeni;
(eklediğiniz ifadeler üzerinden belirtmek gerekirse),
Sütun adının da ödeme olmasından kaynaklanır.
ODEME_sonuc: IIf([BORC]-[ODEME]>0;"";Abs([BORC]-[ODEME]))

şeklinde yazınız.

Bilginize...iyi çalışmalar...saygılar.
19/01/2017, 10:39

kadirdursun

O şekildede denedim. O zamanda aşağıdaki hatayı vermişti.


19/01/2017, 12:39

atoz112

sayın kadirdursun,

örnek uygulamanızı inceleme fırsatım oldu,kendi adıma ve aşağıdaki açıklamaların yapılması uygun görülmüştür.

1)

öncelikle,belirtmek isterim ki;
bu kodları uygularken hatalı tabloya uyarladığınız fark edilmiştir.

DEVIR_TABLOSU adlı tabloya kayıt ekleme işlemlerini yapmanız gerekirken,MUSTERI_HAREKET tablosuna bu işlemleri sağlamaya çalışıyorsunuz.

2)

gerek DEVIR_TABLOSU adlı tabloda oluşturulan Sayı değeri içermesi gereken alanlar için Metin Veri Türü olması (Tarih alanı için de geçerlidir) ve gerekse de mevcuttaki bu kodların kullanımının da ilgili sorgu içeriğinde hatalar teşkil etmekte olduğu fark edilmiştir.

3)

DEVIR_TABLOSUNU_OLUSTUR adlı sorguyu oluşturduğunuzda,haliyle bu tabloyu oluştururken aynı zamanda ilk satırında ilk kayıt da mevcut olarak belirir.akabinde,DEVRET adlı Ekleme sorgunu da dahil ettiğinizde,bu tabloda iki satır oluşur.bu nedenle,harici bir silme sorgusu da dahile dilerek bu tabloda tek bir kaydın olması sağlanmıştır.

EK'te;
bahsettiğiniz talebinize yönelik olarak hazırlanmış örnek uygulama mevcuttur.formdaki butonu çalıştırarak inceleyebilirsiniz.

bilginize...iyi çalışmalar,saygılar.
1 2