Öncelikle şunu belirtmeliyim. Daha önce de forumda geçmişti. Bu tür kullanımı tasvib etmiyorum. Yani yeni bir yıla geçişte eski yeni veritabanı oluşturma eski yılın verilerini ayri bir veritabanıdna yedekleme vs....
Bu tamamen ilk nesil muhasebe yazılımlarından kalma bir alışkanlık. O zamanki veritabanı sistemlerinin yetersizliği nedeni ile boyle bir yontem geliştirilmiş. Hala devam etmekte..
Fakat artık kullandığımız yeni nesil veritabanları ki zaten Firebir kullanıyorsunuz buna ihtiyac duymaz. Yani bırakın butun yılların verileri aynı veritabanında dursun... Nasilsa her islemin bir tarihi var... Boylece eski kayıtlara ulasılacagı zaman haydiii yedekleri kurcala o veritabanını yukle derdi yok... Gezmis yıllarla mukayeseli rapor almak hiç dert degil... Her firma icin farklı DB de yanlis tabi. Konsolide rapor almayi neredeyse imkansiz hale getirmekte zira.. vs.. vs....
Farkli firmalar soz konusu ise en tepede bir Firma tablosu olup firma bazındaki butun tablolara buradan bir foreing key gonderirsiniz butun tablolar firma detayında olur. Yıl meselesi zaten dert degil butun islermleriniz tarih bazında...
Simdi yukarida bahsettigim işin ideali... Fakat şu an dereyi geçiyorum at değiştiremem söz ilk fırsatta değiştiricem diyorsanız o zaman bu derenin geçişindeki probleme gelelim... Eğer anlattığınızı doğru anladıysam aşağıdaki SQL cümlesi işinizi görür... Yedek aldığınız bir DB ustunde denersiniz olmayan yerlerini belki duzenler veya tekrar sorabilirsiniz...
carikayit tablosundaki kayit sayisi kadar kayit bu kod ile carihareket tablosuna insert edilmiş olacak.
Kod: Tümünü seç
insert into carihareket(KNO,TARIH,ACIKLAMA,ODEME_TIPI,BORC,ALACAK)
Select KNO, current date,'Donem deviri','Nakit',BORC_TOP,ALACAK_TOP
from carikayit
Firebird de o gunun tarihini veren fonksiyondan emin degilim current date olarak yazdim. Farkli bir fonksiyon ise o kısmını düzeltmelisiniz...
Kolay gelsin...