14-09-2022, 21:12
Herkese merhabalar,
Konu ve açıklamalar biraz uzun oldu ama kusura bakmayın...
Herkese sağlıklı günler diliyorum...
Ekte gönderdiğim örnek veri tabanı daha önce sitemizdeki üstatlarımızın da desteği ile gerçekleştirdiğim ve kullandığım, tls haberleşme çevrimi oluşturan ve bu çevrimlerin tamamına aynı anda OTOMATİK olarak frekans tahsis eden bir veritabanıdır. Önceki sürümünde her tls çevrimine “Tbl_Frekans” tablosundan KULLANIM=0 ve YASAK=0 olan frekanslardan (daha önce tahsis edilmemiş veya yasaklanmamış) aynı anda TEMAS, ESAS ve YEDEK olmak üzere 3 adet frekans ve bu frekanslara ait 3 adet KOD tahsisi yapıyor, tahsis ettiği frekans ve kodları “Tbl_TlsCvrFrekansIslemleri” tablosuna kaydediyordu ve daha sonra bir sonraki çevrime geçerek aynı işlemi tekrarlıyordu. Bu işlem en son çevrime (veya seçilen en son çevrime) de frekans tahsisi yapılana kadar devam ediyordu. Bu işlemde 3 adet frekans 3’lü grup olarak tahsis ediliyordu. Ancak daha sonra ben bu işlemin içine her frekans için ayrı birer Tahsis Tarihi ve Frekans Tahsis Sayısı (numarası) da dâhil etmek isteyince mevcut prosedürde aynı anda 3’lü frekans tahsisi yapılması her bir frekans için özellikle Frekans Tahsis Sayısı (numarası) verilmesini imkânsız hale getirdi.
Ben de yeni düşünceme uygun olarak “Tbl_TlsCvrFrekansIslemleri” tablosu üzerinde değişiklik yaptım ve (TEMASFRE, FREDGRT, FREKODT), (ESASFRE, ESASFREDGR, ESASFREKOD), (YEDEKFRE, YEDEKFREDGR, YEDEKFREKOD) 3’lü grup alanları ile TAHSISTRH alanını silerek yerlerine tek bir frekans alanı olan KFREKANS, KFREDGR, KFREKOD alanlarını, frekansın ne maksatla kullanılacağını (TEMAS, ESAS ve YEDEK) belirlemek için FREKULLMKST alanını, frekansın tahsis edildiği tarihi yazmak için FRETAHSISILKTRH, frekansın tahsisinin sona erdiği tarihi yazmak için FRETAHSISSONTRH ve en son olarak da frekansın tahsis numarasını yazmak için FRETAHSISNU alanlarını “Tbl_TlsCvrFrekansIslemleri” tablosuna ekledim. Ancak FRETAHSISILKTRH, FRETAHSISSONTRH ve FRETAHSISNU alanları için henüz herhangi bir prosedür oluşturmadım, onlarla daha sonra ilgileneceğim. Yeni düzenlediğim “Tbl_TlsCvrFrekansIslemleri” ve öncesinde kullandığım “Tbl_TlsCvrFrekansIslemleriEski” tabloları ekteki örnekte mevcuttur. Yeni duruma göre manuel olarak frekans tahsis işlemlerini sorunsuz olarak hallettim. Ama otomatik tahsis işlemlerinde takıldım kaldım. Elimde mevcut olan MODÜL üzerinde bilgilerim dahilinde oynamalar yaptım ama maalesef her denememde TYPE MISMATCH hatası aldım özellikle VERYERID için. Hata mesajının ekran görüntüsü de örnekte eklidir.
Otomatik olarak frekans tahsisini yapabilmek için kullandığım “TabloKayitYukleme” ve eski şekli “TabloKayitYuklemeEski” örnekte eklidir. Prosedür uygulamasında hataya engel olmak için oriinal Sub FrekansTahsis(frm As Form, GunTar As Date) satırını “TabloKayitYuklemeEski” modülünde Sub FrekansTahsis1(frm As Form, GunTar As Date) olarak değiştirdim.
Bu yeni düzenleme ile otomatik frekans ataması için yapmak istediğim işlemi şöyle özetleyeyim;
1. İlk çevrimden başlamak üzere, “Tbl_Frekans” tablosundan KULLANIM=0 (HAYIR) ve YASAK=0 (HAYIR) olan frekanslardan 1 adet frekans seçilecek (ilk kayıtlı kullanılmamış ve yasak olmayan frekanstan başlayacak) ve seçilen çevrime “Tbl_TlsCvrFrekansIslemleri” tablosu üzerinde FREKULLMKST alanına "İLK" yazılarak tahsisi yapılacak, “Tbl_Frekans” tablosundaki KULLANIM alanının değerini =-1 (EVET) olarak değiştirecek.
2. “Tbl_Frekans” tablosundan KULLANIM=0 ve YASAK=0 olan frekanslardan 2. frekans seçilecek ve seçilen çevrime “Tbl_TlsCvrFrekansIslemleri” tablosu üzerinde 2. Frekans olarak tahsisi yapılacak ve FREKULLMKST alanına "ORTA" yazılacak, “Tbl_Frekans” tablosundaki KULLANIM alanının değerini =-1 (EVET) olarak değiştirecek.
3. “Tbl_Frekans” tablosundan KULLANIM=0 ve YASAK=0 olan frekanslardan 3. frekans seçilecek ve seçilen çevrime “Tbl_TlsCvrFrekansIslemleri” tablosu üzerinde 3. Frekans olarak tahsisi yapılacak ve FREKULLMKST alanına "SON" yazılacak, “Tbl_Frekans” tablosundaki KULLANIM alanının değerini =-1 (EVET) olarak değiştirecek.
4. 3 adet frekansın aynı çevrime tahsisi yapıldıktan sonra bir sonraki çevrime geçilerek aynı işlemler yapılacak bu işlemler son çevrime kadar (veya son çevrim olarak seçilen çevrime kadar) devam edecek.
5. Bu tahsislerde dikkat edilecek önemli bir nokta ise, bir VERİCİ YERİNDE bir çevrime “İLK veya ORTA veya SON” olarak tahsis edilen bir FREKANS hiçbir şekilde aynı çevrime başka kullanım maksadı ile (İLK veya ORTA veya SON) veya AYNI VERİCİ YERİNDEKİ başka bir çevrime de tahsis edilmeyecek. Ama farklı bir VERİCİ YERİNDEKİ başka bir çevrime tahsis edilebilecek. Eski modülde de uygulama bu şekildedir.Konu ve açıklamalar biraz uzun oldu ama kusura bakmayın...
Herkese sağlıklı günler diliyorum...