Bu sayfadaki yazılar
Sayfanın metni
Sayfa 38
Merhaba! Superbase programı kullanıcılarının pek çoğundan sabırsızlık mektupları alıyoruz. Program tanıtımının sayfa sayısının artırılması isteğindeler hemen tamamı. Köşemize gösterilen ilgi bizi ne kadar memnun ederse, daha fazla sayfa ayırma olanaksızlığı da o ölçüde üzüyor. Zira bu tanıtımın sayfa sayısını artırmak, diğerlerinden çalmak anlamına geliyor ki bunu şu anda yapabilmemiz mümkün değil.
Bu ay, geçen sayı incelediğimiz alan tiplerine verilebilecek özellikler ile açıklamalarımıza devam edeceğiz.
ALAN ÖZELLİKLERİ:
Dosya tanımlama diyalog penceresine baktığınızda, alan tipleri dışında 5 ayrı özellik seçeneği daha göreceksiniz: Required, Read only, Validation, Calculation ve Constant.
REQUIRED:
Bu özellik verilen alanı boş bırakamazsınız. Yani bilgi girişi esnasında, bu alana mutlaka giriş yapmalısınız.
READ ONLY:
Bu özellik, alandaki bilgiye yazma ya da silmeye karşı koruma koyar. Read only alanlara bilgi girişi yapamazsınız. Zaten bu özellik normal olarak, otomatik olarak sonuç yazan hesaplama (Calculation) alanları ile birleştirilir. Aksi takdirde Read only özelliğini koymanın bir anlamı yoktur, zira bilgi girişi de yapılamayacağından alan boş kalır.
VALIDATION:
Bu opsiyon ile alana girilecek bilgiye sınır koyulur. Sınır, alana bir formül şeklinde bağlanır. Aşağıda bu tip formüllere açıklamalı örnekler verilmiştir:
• Soyadı LIKE "Ak" OR soyadı LIKE "Kara" örneğinde, soyadı alanına bilgi girişleri "Ak" ve "Kara" olarak sınırlanır. Soyadı alanına bunlar dışında giriş yapamazsınız.
• Miktar >= 100 AND miktar <= 200 örneğinde miktar alanına data girişi 100 ile 200 sayıları arasına sınırlanmıştır. Yani bu alana yapılan giriş, 100'den küçük, 200'den büyük olamaz. • tarih > "1/6/89" Kontrolü ile tarih alanına girilen bilgi, 1/6/89'den sonraki bir tarih olursa geçersiz olur.
Validation için formül nasıl belirlenir? Bir alana validation formülü eklemeden önce, ilk olarak alan tanımını ADD düğmesi ile dosya tanımına eklemelisiniz. Sonra da bu tanıma formülü ilâve etmelisiniz.
Tanımlanan alan eklendikten sonra seçilerek tekrar field kutusuna getirilir. Validation seçeneğinin kutusu kliklenerek ilgili diyalog penceresi açılır. Pencerenin üst tarafında validation formül koymak için seçtiğiniz alan adı yazılıdır. Bu diyalog penceresinde 3 ana bölüm vardır:
1. Alan isimleri paneli 2. İşlemcileri içeren bir hesaplayıcı seti. Bu bölüm aktif değerlerin yazılabileceği bir "Value" (değer) kutusu da içerir.
3. Ana kutu. Bu bölüm seçimlerinizle yaptığınız formülü gösterir.
Formül filtreleme gibi yapılır. Alan isimlerini ya da operatörleri klikleyerek; sayı, yazı ya da tarihleri value kutusuna yazıp RETURN tuşuna basarak ana kutuya yerleştirebilirsiniz. Formül ana kutuya doğrudan yazılarak da düzenlenebilir.
Formül yazımı bittikten sonra OK kliklenerek diyalog penceresinden çıkılır. Penceredeki düğmelerden Clear ana kutuyu temizlemek, Cancel ise formül girişini iptal etmek için kullanılır.
Alana bu formül konduktan sonra, hatalı giriş yapılırsa Superbase ekrana bir uyarı mesajı gönderir:
Can't do this... Alan adı Field does not match validation Şimdi de, Validation formülleri için bazı ipuçları sıralayalım:
• Bir validation formülünün maksimum uzunluğu, 255 karakterdir.
• Bir işlemcinin her iki yanına alan ismi yerleştirebilirsiniz: alan 1 > alan 2 gibi.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 39
• Bir hata yaptığınızda Superbase çalışmasını keserek uyarı niteliğinde bir "bip" sesi çıkarır ve ekran parlar.
• Formülde öncelik sırasını değiştirmek isterseniz, parantezleri kullanın:
miktar = 10 OR (miktar > 20 AND miktar < 30) gibi.
• Boş bir sayısal alan ya da tarih alanı yaratabilmek için, formülde bir sıfır seçeneği vermelisiniz: Miktar > 10 OR miktar = 0 Aynı işlem bir text alanı için yapılacaksa, value kutusuna 0 yerine " " yazmalısınız.
• Yazı dizilerinin uyumunu kontrol için eşittir işareti yerine LIKE işlemcisini kullanın:
şehir LIKE "istanbul"
CALCULATION:
Bir hesaplama formülü, diğer alan ve değerlere bağlı olarak çalışır ve sonucu saklar. Validation formüllerden farklı olarak data girişini kontrol etmez, kendi datasını üretir. Bu alanlara data girişi yapılmaz, program sonucu otomatik olarak hesaplar ve yazar. Tabii alan "Read only" değilse sonucu değiştirebilirsiniz, ama formül daha sonra hesaplama sonucunu sizin girişiniz üzerine tekrar yazacaktır.
Calculation formülleri tıpkı validation formülleri gibi, bir alana bağlanırlar. Bu alanlar her türde olabilir, ancak genellikle sayısal alanlarda uygulanır. Tipik calculation formüllerine birkaç örnek verelim:
miktar * fiyat aratoplam_1 + aratoplam_2 + aratoplam_3 miktar * (1 * artış / 100) Text alanları için calculation formülü kullanmak isterseniz, bunu doğrudan formül kutusuna yazarsınız. Ancak bu koşulda birtakım fonksiyonları kullanmak zorunda kalırsınız. Bu fonksiyonları, daha ileriki bölümlerde ayrıntılı olarak açıklayacağız.
Date ve time alanlarında da formüller geçerlidir. Superbase, tarihleri julian tarihi sayılarına göre saklar. Buna göre mesela 26 Haziran 1986 tarihi, 755202'ye karşılık gelir. Bu tarihten bir yıl sonrası, bu sayıya 365 eklenerek hesaplanır. Ancak bu hesaplama biçimi ile Superbase kullanıcısı olarak bizim ilgimiz yok, çünkü program bunu otomatik olarak her tarih için hesaplıyor. Bu metodla tarih alanlarının formülasyonu kolaylaşıyor tabii, örneğin iki tarih arasındaki günler için:
tarih1 - tarih2 gibi bir formül kullanılabilir. Time alanı ile yapılan işlemler, sayısal alanlar gibidir. Superbase, saatleri 24 saat periyodunda milisaniye olarak saklar. Datası değiştirilebilir. Sistemin kendi kullanımına ayrılmış kelimeler olan sistem değişkenleri bu tür formüllerde kullanılıyor. Date ve time alanları için kullanılan iki yönerge var: TODAY ve NOW. TODAY komutu, bugünkü tarihi (sistem tarihini) verir. NOW ise o anki sistem tarihini gösterir. Amiga'nızın gerçek zaman saati pili varsa, bir kez tarih ve saat ayarlandığında sistem tarih ve saati sürekli doğru zamanları gösterecektir. Ancak pil yoksa, sistem saati makina kapatıldığında duracağından yanlış saati gösterecektir. Bu durumda eğer bu değişkenleri kullanıyorsanız, sistemi her açışınızda saati yeniden ayarlamalısınız.
Constant formüllerin tipik uygulamaları şunlardır:
• Kaydın yaratıldığı tarihi göstermek • Kaydın seri numarasını, SER fonksiyonunda kullanılabilecek şekilde yerleştirmek.
• Hesap numarası, müşteri numarası gibi diğer bildirim alanlarını set etmek. Constant formülleri genellikle başka bir dosyadan kayıt seçmek için bildirim kodu olarak kullanılırlar.
Yeni bir alan yaratmak diye başladık, biraz ondan biraz bundan derken çok dallanıp budaklandık galiba! Ama sadece dosya tanımı diyalog penceresinde bu kadar ayrıntıya gireceğiz. Genelde diğer diyalog pencereleri de içerikleri dışında aynı biçimde kullanılıyorlar. Şu anda birçok şey sizin için havada kalmış olabilir, üzülmeyin, programı kullandıkça tüm anlatılanların birbir yerine oturduğunu göreceksiniz.
CONSTANT:
Constant formülü, aynen calculation formülü gibi çalışır. Bu da diğer alanlar, fonksiyonlar ve değerlerden bir sonuç üretir, sonra da onu formülün bağlandığı alana yerleştirir. Farkı kayıt ilk yaratıldığında buradaki sonucun yaratılmış olacağıdır. Daha sonra formül geçersiz olur.
DOSYA TANIMI DİYALOG PENCERESİNDEN ÇIKIŞ: Bir constant (sabit) alanı "Read only" yaparsanız, alan değişiklik yapmanıza izin vermez, başlangıç datasını alır. Alan "Read only" değilse, içerdiği başlangıç dosya tanımı diyalog penceresinden OK düğmesi kliklenerek çıkılırsa, dosya indeksini soran yeni bir diyalog penceresi açılır.