Koşullu biçimlendirme sadece belirlenen hücreleri renklendirmek ile sınırlı değildir. İşin içine formül girdiğinde iş artık daha kaliteli ve profesyonel bir hal alıyor. Tabi yapabileceğimizin de sınırları genişliyor.
Mustafa ÇETİN
Koşullu Biçimlendirme Formül İlişkisi
Koşullu Biçimlendirme makale serisine aşağıdaki linklerde verdim ve yazmaya devam ediyorum. Ancak tüm bölümleri ilgilendiren Koşullu Biçimlendirme Formül İlişkisine ayrı bir bölümde değinmek ve diğer yazılarımda yeri geldiğinde link vererek konuyu daha iyi anlaşılması için yararlı olacağını düşündüm. Koşullu Biçimlendirmeyi uzman gözüyle bakmak için bu makalemden yararlanabilirsiniz.
Sütun İçinde DÜŞEYARA ile Karşılığını Getirme
HALİL ATASEVER sordu

Merhabalar ,
Aşağıdaki konuda yardımcı olabilir misiniz ?
SAYFA 1
| A | B | |
| 1 | SÜT | 770.01 |
| 2 | PEYNİR | 770.02 |
SAYFA 2
| A | B | |
| 1 | BİR KİLO SÜT ALINMIŞTIR. | BU SÜTUNA SAYFA1 DEN ARAMA YAPARAK İÇİNDE SÜT GEÇİYORSA EĞER KARŞINA İLGİLİ KOD OLAN 770.01 GETİRMESİNİ İSTİYORUZ |
| 2 | BİR KİLO PEYNİR ALINMIŞTIR. | BU SÜTUNA SAYFA1 DEN ARAMA YAPARAK İÇİNDE PEYNİR GEÇİYORSA EĞER KARŞINA İLGİLİ KOD OLAN 770.02 GETİRMESİNİ İSTİYORUZ |

Merhaba
Düşeyara formülü kuralı gereği iki tabloda aynı değerin olduğu sütun olması gerekiyor. O yüzden önce Sayfa2’de de SÜT ve PEYNİR yazan bir alan olmalı. Sayfa2 A Kolonundaki alan ile birebir uyumu olmadığı için bu değer ile eşleşilemez.
Tam ters bir işlem isteseydiniz. Yani Sayfa1’de “Bir kilo Süt Alınmıştır” yazıp Sayfa 2’de süt yazılsa idi. o zaman Süt kelimesini aratıp sonra da DÜŞEYARA yaptırabilirdik.
Ben gene aşağıdaki gibi çözüm önerisi yazıyım. Sorunuzun çözümü bu değilde biraz daha detay bilgi verirseniz yardımcı olurum.
=DÜŞEYARA(B2;Sayfa1!A2:B3;2;0)

Koşullu Biçimlendirme Tüm Satırı Renklendir
Bu makalede sadece tek bir hücreyi renklendirmek yerine tüm satırı renklendirmeyi anlatacağız.
Rakamlardaki Aralığı Kapatma
abdurrahman demirbağ sordu

Excel Tablosunda
CTR59 0020 5000 0969 3701 3000 01
şeklinde rakamların arasında aralıklar var.
Nasıl Kapatabiliriz.
Teşekkürler

Merhaba,
Bu işlem için iki yöntem kullanabilirsiniz. Ancak verilerinizin yedeğini almanızı öneririm. Yanlış işlem yaparsanız verileri bozabilirsiniz.
Birinci Yöntem
Değiştirilecek alanı seçin. (Alanı seçmeden yapmayın önemli.) Giriş Sekmesi – Bul ve Seç – Değiştir ( Kısayolu : Ctrl + H ) Seçin
Aşağıda Aranan kısmına kaldırmak istediğini boşluk olduğu için bir boşluk koyuyoruz. Yeni Değer kısmına hiçbirşey yazmıyoruz.

Tümünü değiştir dedikten sonra verilerdeki boşlukların kapandığını görebilirsiniz.
İkinci Yöntem
Diğer yöntem ise YERINEKOY Fonksiyonu ile yapabilirsiniz. Bu işlem formülle olacağı için bir kopyası olacak. Bu sebeple diğerinden riski daha azdır. Ama birinci yöntem daha hızlı ve pratiktir.
Bu işlemi Telefondaki Boşlukları Silip Sayısal Değer Al makalede istediğinize benzer bir şekilde anlattım. Buradan inceleyebilirsiniz.
Ancak bu alanda biraz daha detaylı anlatıyorum.
Sizin uygulayacağınız formül aşağıdaki gibidir
=YERİNEKOY(C4;" ";"")

Bilgilerinize.
Access Metin Veri Türü Alan Özellikleri #6
Bu makalemizde Metin olarak belirlediğimiz Ad kısmının Alan özelliklerinin inceleyelim. Aşağıda anlatacağımız üzere Metin Veri tipi için birçok seçenek var. İlk bakışta karışık gelebilir ama ne işe yaradığını makaleyi okudukça anlaşılacaktır. Diğer veri tipleri için bir önceki konudaki Access Tablo Alan Özellikleri #5 makalesine bakabilirsiniz.


Alan Boyutu
255 olarak belirlenmiş. Yani Ad kısmına 255 karakter (Harf, Sayı, Boşluk veya özel karakter) girebiliyoruz. Ad Kısmını kaç karakter girilmesini istiyorsanız burada sınırlayabilir veya genişletebilirsiniz. Metin Alan boyutunu en fazla 255 karakter girebiliriz. 255’den fazlasını kabul etmeyecektir. Çünkü Metin türünün maksimum kapasitesi bu kadardır.
Biçim
Girilen verileri belirli bir biçim vermek için kullanılır. Mesela girilen verilerin tümünü sağa yaslı yapabiliriz, ya da Alana girilen verileri tamamını büyük harf veya küçük harf yazabiliriz.
! işareti ile Verileri Sola Hizalama
Girdiğimiz alanı sola yaslamak için (Metinsel Alan zaten sola yaslı fakat sayısal alanlar sağa yaslıdır. Bu sebeple Yaş alanında yapıyorum) Yaş alanına geliyorum ve biçim kısmına ! işareti koyuyorum.

Kaydedip Veri Görünümüne geldikten sonra yaş alanının sola yaslı geldiğini görürüz.

Biçim Alanına Büyüktür > ve Küçüktür < İşareti
Eğer Biçim alanında > (Büyüktür) işareti kullanırsak bütün değerler Büyük harf olacaktır.

Kaydedip Veri görünümüne geçersek Ad Alanının Büyük harfle yazıldığını göreceğiz.

Yukardaki şekilde gördüğünüz gibi Soyadı alanı BÜYÜK harfle yazılmış. Bu alanı küçük harfe çevirmek için Küçüktür < (Küçük) işareti koyarsak verilerin içinde büyük harf varsa hepsi küçük olacaktır.

Örneğini aşağıda görebilirsiniz.

Giriş Maskesi
Bu örnek için müşteriler tablosuna yeni bir alan Telefon Numarası Metin tipi olarak ekleyelim.
Giriş Maskesi bölümünde en sonda bulunan … üç noktaya tıklıyorum.

Bu kısımdan Telefon Numarası alanını seçiyorum.

Bu alanda birçok hazır maske bulunmaktadır.
Dene kısmında nasıl görüleceği de deneyebilirsiniz.

İleri Diyoruz.
Maskede Simge Kullanarak alanını seçiyoruz.

Giriş maskesinden aşağıdaki şekilde kodlar görünecektir.

Dikkat ettiyseniz Biçim Bölümünde \(999″) “000\ 00\ 00;0;_ şeklinde karakter oluşturduk. Biçim bölümündeki tablodan yararlanarak detaylandırabilirsiniz.

Böylelikle Alan Metin olmasına rağmen artık sadece sayısal alan ve telefon tipinde yazmak için zorluyor.
Peki \(999″) “000\ 00\ 00;0;_ karakterler ne anlama geliyor. Siz de bu karakterlerin anlamlarını analiz ederek farklı giriş maskeleri oluşturabilirsiniz.
Sık Kullanılan Biçimler ve Giriş Maske Özel Karakterleri
Biçim alanında böyle özel karakterler kullanarak farklı işlemler yapabiliriz. Biçim alanı ile ilgili birkaç örneği verdikten sonra Biçimde kullanılan işaretleri tablo olarak belirtelim.
| BİÇİM KARAKTER | BİÇİM AÇIKLAMASI |
|---|---|
| ! | Verileri Sola Yaslar |
| ** | Verileri Sağa Yaslar |
| < | Verileri Küçük Harf Yapar |
| > | Verileri Büyük Harf Yapar |
| * 9 | Kullanıcı 0 ila 9 arası bir karakter girilebilir. Veri Girişi zorunlu değildir. |
| * 0 (Sıfır) | Kullanıcı 0 ila 9 arası bir karakter girilebilir. Veri Girişi Zorunlu Yapar |
| L | Metinsel karakter girilebilir. Veri Girişi Zorunlu Yapar |
| & | Herhangi bir Karakter girilebilir. Ancak Veri girişini zorunlu yapar. |
| C | Herhangi bir Karakter girilebilir. Ancak Veri girişini zorunlu değildir. |
| ? | Herhangi bir Karakter girilebilir. Sayı Girilmez- Veri girişi zorunlu değil |
| * | Kullanılabilir boşlukları takip eden karakterlerle doldurur. |
Bu Tablodan yola çıkarak Biçim veya Giriş Maskesine örneğin 00000 yazarsak 5 karakterli sayı girilme zorunluluğu sağlamış olursunuz. Eğer 5 karakterin altında ya da üstünde değer girerseniz hata verecektir. Eğer 00000 yerine 99999 yazarsak bu seferde yine sayısal olma zorunluluğu var. Ancak 5’in altında da karakter girebilmektedir.
| Biçim Ayarları | Giriş Tarzı | Görünüm | Açıklama |
|---|---|---|---|
| > | Balıkesir | BALIKESİR | Girilen verileri Büyük Harf Yapar |
| < | Balıkesir | balıkesir | Girilen verileri Küçük Harf Yapar |
| >LLLL | Aaaa | AAAA | Büyük Harfle Başlayan 4 karakterli Metin – Zorunlu |
| ???? | 5 karakterden (sayı hariç) fazlasına olmaz. Azı olur. | ||
| AAAA | 4 karakterlik Harf ve Sayı girilir, altında ya da üstünde giremezsiniz | ||
| aaaa | 4 karakterlik Harf ve Sayı girilir, altında girilir ama üstünde giremezsiniz | ||
| 000#>AA | 3 sayı girişi, sonra boşluk sayı ya da + – girilebilir, büyük harf zorunlu 2 harf | ||
| &&&& | 4 karakterlik herhangi karakter girişi. Giriş Zorunlu | ||
| CCCC | 4 karakterlik herhangi karakter girişi. 4’ün altında girilebilir ancak üstünde girilmez. | ||
| >LL<LL | İlk 2 karakter büyük harf, son iki karakter küçük harf Giriş zorunlu |
Yukarda tablolarda belirttiğimiz Giriş Maskeleri ve örnekleri ile ilgili daha detaylı bilgiyi Microsoft’un Giriş maskeleriyle veri girişi biçimlerini denetleme makalesinden inceleyebilirsiniz.
Resim Yazısı
Eğer farklı programlardan erişmek istediğinizde tablodaki gerçek ismi kullanılır. Tablodaki gerçek isimlerde Türkçe karakter boşluk gibi işlemler kabul eder ancak riskli olma ihtimali yüksektir. Bu sebeple tablo kısmında boşluk, Türkçe karakter kullanmadan yazıyoruz. Database dizaynı yaparken de buna dikkat ederek yazmıştık. Resim yazısı bölümünden de Access programında kullanılırken nasıl görünmesini istiyorsak onu yazıyoruz.

Bizim örneğimizdeki tablo yukardaki şekilde görünüyordu. Örneğin SADIK_MUSTERI_MI alanını Sadık Müşteri mi? olarak değiştirelim.

İlgili alanı seçtikten son Resim yazısı alanına geliyoruz ve yanına istediğim Sadık Müşteri mi? metnini yazıyoruz. Hepsi bu kadar.
Örneğimizdeki tüm alanları bu şekilde değiştirdiğimizde aşağıdaki şekilde anlaşılabilir bir görüntü ve karakter problemi yaşamayacağımız kolon adlarımız olacak.

Varsayılan Değer
Yeni kayıt eklediğimiz zaman tabloda boş bir satır açılır ve biz o alanları doldururuz. Eğer ilgili kolonun alanına Varsayılan değer girersek o zaman tabloya başka bir değer yazmadığımız sürece belirlediğimiz değeri kaydeder.
Örneğin KAYIT_TARIHI alanına manuel bir tarih yazmayacaksak kaydı girilen günün tarihi otomatik olarak girmesini sağlayalım.
Bunun için KAYIT_TARIHI alanı seçiyoruz ve alt kısımdaki Varsayılan Değer alanındaki üç nokta ( … ) alanına basıyoruz.

Açılan İfade Oluşturucusu ekranının alt kısmında üç bölüm bulunmaktadır. Bu bölümün en solundaki İfade Öğeleri alanında Fonksiyonlar’dan Yerleşik Fonksiyonlar seçiyoruz. İfade Kategorileri alanından da işimiz tarih ile ilgili olduğu için Tarih/Saat alanını seçiyoruz.
En son İfade Değerleri alanında Now yani o anın tarih saatini veren alanı çift tıklıyoruz. Üst kısımda formül alanıdır. Bu alana Now() şekilde formül yazacaktır.


Bu formül ile KAYIT_TARIHI alanına elle girmeyeceğimiz için o günün tarih ve saatini otomatik atacak bir formül yazmış olduk.
Veri görünümü sekmesine gelip yeni kayıt girmek istediğimiz de ise Kayıt Tarihinde bu anın kaydını görmüş olduk.

Siz isterseniz başka alanına da buna benzer örnek yapabilirsiniz.
Geçerlilik Kuralı
Gireceğimiz alanı belirleyeceğimiz kurala göre girilmesini sağlayacağımız alandır. Örneğin YAŞ alanını 20’den büyük 50’den küçük değerler girilmesini kurallara uymadığı durumda ise hata mesajı vermesini sağlayalım.
Bu işlem Exceldeki Veri Doğrulama gibidir. Başka bir örnekte İnternet Üyelik formlarındaki zorunlu alanlar gibidir.
Bunun için YAŞ alanına geliyoruz. Sonra Geçerlilik Kuralındaki … alanına basıyoruz.

İfade Oluşturucu aracımız çıkacaktır. Bu kısımda İşleçler alanını kullanacak istediğimiz kısıtlamaları yapacağız. Örneğimiz Müşteri Yaşını 15 ile 60 arası olacak şekilde kısıtlayacağız. Bu sebeple Yaş kısmına sadece 15 dâhil 15’den büyük ve 60 dâhil 60’den küçük değerler girilsin. Yaş alanına belirlediğimiz değerlerin dışındaki değerler girişe izin vermesin.
>=15 And <=60 şeklinde İfade kategorideki değerlerden bu formülü yazıyoruz. (Bu konuya ilerde daha fazla değineceğiz)

İşlem bittikten sonra onaylıyoruz ve test için Veri kısmına geçiyoruz.

Yaş kısmına 67 girdiğimde hata vermektedir. 50 yazdığımda ise hata vermediğini görülecektir.

Geçerlilik Metni
Geçerlilik Kuralında oluşturduğumuz kuralın dışında bir kayıt girildiğinde bu alanda yazılan metni kullanıcıya gösterecektir. Yukardaki örneğimizde eğer uyarı vermesi için Müşterinin yaşının 15 ile 60 yaş arasında girmelisiniz!… metnini yazıyoruz.

Artık uzun hata uyarısı yerine kendi mesajımız belirlemiş oluyoruz.

Gerekli
Eğer bir alanın gerekli bölümünü evet yaparsanız yeni kayıt sırasında o alanı boş bırakırsanız Veri doldurmaya zorlayacaktır. Bir nevi İnternetteki form doldururken zorunlu alandaki işlevle aynı kuraldır.


Sıralı

Tablonuzdaki belirlediğiniz alanın sıralanmasını sağlar. Diğer bir ifade ile belirlediğiniz alanda aratma yaptığınızda verilerin sıralı olmasından dolayı istediğiniz sonuç çok hızlı gelecektir. Aklınıza tüm alanları sıralı yapalım diyebilirsiniz. Ancak sıralama özelliğinin çok fazla kullanılması bu sefer de veri tabanını yavaşlatacaktır. Bu bahsettiğim aslında tüm veritabanları için de geçerlidir. Örneğin kullanacağınız Oracle veritabanında çok fazla sıralama (yani index) kullanırsak veriler çoğaldıkça son teknoloji donanımız dahi olsa yeterli gelmeyebilir.
Sıralama belirli alanlarda kullanılması tavsiye edilir. Bu konuya daha sonra tekrar geleceğiz.
Hayır
Sıralı alanında eğer Hayır seçerseniz Sıralı özelliğini kapatmış oluruz.
Evet (Yineleme Yok)
Seçildiğinde belirlenen alanda sıralama yapılır. Veri tekrarı olan alanlara izin vermez.
Örneğin Müşteri adı listesinde iki tane Mustafa isminde bir tane olduğunu (Yineleme Yok olmasından) belirtmiş oluyorsunuz. Böylelikle Sıralı evet seçtiğimiz için aramaya başlarken ilk sıradan başlar alfabetik sıradaysa m harfini bulur oradan da Mustafa kelimesini direk bulur. Zaman kaybı olmadan yapar bu işlemi
Evet (Yineleme Var)
Seçildiğinde belirlenen alanda sıralama yapılır. Bu alan Evet Yineleme Yok alanının tersine Veri tekrarı olan alanlara izin verir.
Önceki örnekten gidersek; Mustafa isminin iki tane olduğunu Access programına belirtmiş oluyoruz. Evet olduğu için sıralı şekilde arar. M harfini bulduktan sonra 1. Mustafa’yı bulur. Sonra diğer m harflerine tekrar bakarak 2. Mustafa var mı diye arama yapar ve 2. Mustafa’yı getirir.
Unicode Sıkıştırma

Bu alanda performans işlemleri için kullanılıyor. Standardında evet olarak gelir.
Eğitime Access Tablolar Arası İlişkiler Detaylı Anlatımı #7 makaleden devam edin.
Access Tablo Alan Özellikleri #5
Bu bölümde eklediğimiz tablolardaki kolonların diğer bir ifade ile Alanların özelliklerinden bahsedeceğiz. Her bir veri türü için farklı Alan özellikleri vardır.

Alan Özelliklerini görmek için Tasarım Görünümüne geçmeliyiz. Her bir Alanın tıkladığınızda Altında Alan Özellikleri açılacaktır.

Tüm veri tiplerinde birbirleri ile aynı alanlar olmakla birlikte Veri Tipine göre de farklılık gösterebilir. Ama çoğunlukla aynıdır.
Metin Veri Türü Alan Özellikleri
Bu içerik uzun olduğu için “Access Metin Veri Türü Alan Özellikleri #6” makalesine linkten ulaşabilirsiniz.
Not (Uzun Metin) Veri Türü Alan Özellikleri
Yukarda birçok Alan özelliklerin bahsettik. Bu alanda anlatılmayan Not (sürüme göre Uzun Metindir) alanına özel Alan Özelliklerinden bahsedeceğiz.

Metin Biçimi
Standart olarak Düz Metin olarak gelir. Bu hali ile içerisinde harf büyütme renklendirme gibi özellikler olmaz. Notepad programı gibi kaydedersiniz.
Eğer Zengin Metin alanını seçersek yazıları büyütebiliriz. Yazılara renk verebiliriz. Ancak bu özellikte Access dosyanızın boyutunu büyütecektir.
Yanlızca Ekle
Standardında Hayır seçilir. Evet seçtiğinizde bunu bir örnekle açıklayalım.
Notlar alanına (Uzun Metin ) Kayıt esnasında indirim uygulandı yazdık.

Sonra bu metni silip “Müşteri geldiğinde borcu hatırlatılacak“ yazıyoruz.

Sonra tekrar silip “Müşteri Borcunu Ödedi” yazıyoruz.
Notlar alanındaki kayda sağ tuş yaparak Sütun Geçmişini Göster alanını seçiyoruz.

Bu özellikle aşağıdaki şekilde her kayıt yapılışının loğlarının yani kayıt geçmişini tutmuş oluyoruz.

Yazdığımız değişikliklerin sürümlerini buradan görebilmenizi sağlıyor.
Tabi her zamanki gibi ekstra olan bu özellikte veri tabanının boyutunu artıracaktır.
Sayı Veri Türü Alan Özellikleri
Alan Boyutu

Birçok sayısal türler seçimi yapılabilmektedir. Standart olanı Uzun Tam Sayıdır.
Biçim

Gireceğiniz sayısal ifadeyi burada bulunan alanlardan birini seçebilirsiniz. Örneğin Para Birimi gibi.

Ondalık basamağın sağında görüntülenen basamak sayısının ayarlayabiliyorsunuz. Kaç basamak görüntülenmesini isterseniz ona göre sayısını belirliyorsunuz.
Tarih Saat Veri Türü Alan Özellikleri
Bu alanda anlatılmayan Tarih Saat alanına özel Alan özelliklerinden bahsedeceğiz.
Biçim

Tarihin nasıl bir biçimde görüleceğini belirleyeceğiniz alandır.
Tarih Seçiciyi Göster

Tarih alanlarında göster standart olarak gelir. Tarih verili alana geldiğimizde veri girişine yardımcı olması için sağında çıkan ve açılan Tarih kutucuğudur.
Otomatik Sayı Veri Türü Alan Özellikleri
Bu alanda anlatılmayan Otomatik Sayı alanına özel Alan özelliklerinden bahsedeceğiz.
Alan Boyutu

Uzun Tamsayı
Standart olarak Uzun Tamsayı gelir. Bu işlem her yeni kayıtta Otomatik olarak ilerleyen sayılar üretir. Veri girişi olmaz.
Çoğalma Kimliği

Yeni kayıt eklediğimizde otomatik karakterlerden oluşan ve asla ilerde ekleyeceğimiz kayda benzemeyen bir değer üretir.
Evet / Hayır Otomatik Sayı Veri Türü Alan Özellikleri

Bu alanda anlatılmayan Evet / Hayır alanına özel Alan özelliklerinden bahsedeceğiz.
Biçim

Normal durumda bu Doğru/Yanlış alanı seçili olarak gelir. Bu da Veritabanın da kullanıcı seçerse Evet olarak kaydeder. Seçmezse Hayır olarak kaydeder.
Bu kısımda kolonumuzun ismine size uygun cevabı seçebilirsiniz. SADIK_MUSTERI_MI sorusunun en uygun cevabı Evet/Hayır olarak kaydedilmesi uygun olacaktır.
OLE Nesnesi
Resim, Video,, Word, Access, Excel, Power Point gibi dosyaları sadece tek bir dosya saklayabiliyorsunuz.
Ek
OLE Nesnesi gibi değil. Birden fazla dosyayı ve her türlü nesneyi saklayabiliyor. Klasör, rar, video, ses, resim gibi her türlü dosyayı saklayabilmektedir.
Köprü
Vereceğiniz adrese bağlantı sağlamaktadır. Alandan bu linki seçerseniz o adrese gitmenizi sağlar. Yani link formatında bir görünüm sağlar. Mouse ile üzerine tıkayıp sayfaya adrese gider.
Hesaplanmış Alan

Tablolardaki başka alanlardan aldığımız değerlerle, yada fonksiyonlardan hesaplamalarla yeni bir alan oluşturmamızı sağlamaktadır.
Eğitime Access Metin Veri Türü Alan Özellikleri #6 makaleden devam edin.
Access Tablo Oluşturmada Arayüz ve Kavramlar #4
Oluştur Sekmesinden Tablo Kısmına basarak Tablo ekliyoruz.

Karşımıza aşağıdaki gibi bir alan çıkacaktır.
İlk olarak Office uygulamaların mantığı olan gerektiğinde beliren bir Alanlar sekmesini görmekteyiz. Tablo oluşturmak işlemlerinde işimize yarayacak bölümler yer almaktadır.
Diğer gözümüze çarpan Tüm Access Nesneleri bölümünde Tablo1 diye ismini kendi vererek tablo oluşturulduğunu görüyoruz. Kaydederken dosya ismimi değiştirmemi isteyecektir.

Tablo ’da Kimlik alanı var yanında ise Eklemek için Tıklatın alanı var. Bu alanı Sütun ekleyebilmek için kullanıyoruz.
Daha önceki bölümlerde bahsettiğimiz projemize en alt seviye olan Tablolar oluşturarak başlıyoruz.
Tablo Tasarım Görünümleri
Görünümü türünü değiştirmek için Tablo1 alanında sağ tıklayarak açılan menüden değiştirilmektedir.

Veri Sayfası Görünümü

Tablo oluşturmada farklı görünümler yer almaktadır. İlk görünüm Eklemek için Tıklatın olan alandır. Bu alana verileri girdikçe Alan1, Alan2 şekilde sütunlar oluşturur. Aşağıya doğruda aynı tip verileri eklenir. Ancak verileri girerek tablo tasarlamak kullanışlı bir yöntem değildir. Yine de anlatalım.
Eklemek için Tıklatın alanını seçtiğimizde ise bizden hangi ver tipinde eklemek istediğimizi seçmemizi ister.

Veri Tipini seçtikten sonra Alan1 şekilde Alan ekleyecektir. Bu ismi de üzerine gelerek değiştirebiliriz.
Tasarım Görünümü

Tablo oluştururken Tasarım Görünümü bölümünden yapılmalıdır. Bu bölümde de Veriler görünmez sadece sütunlar ve girilecek verinin tipini belirleriz. Bunu bir inşaata daha başlamadan projelendirmek gibi düşünebilirsiniz. Tabloya veri girmeden önce Tablonun kendisini tasarlıyoruz.
Veri tabanının Projelendiği aşamadayız bu sebeple önce hangi verileri bu tabloda tutacağız. Verinin Tipleri Sayısal mı? Tarihsel mi? Metinsel mi? Bunları belirleyeceğiz alandır.
Nesne İsimlendirme
Tüm nesneler (tablo, sorgu, form vs.) tek bir alanda olacağından ve nesneler çoğaldıkça karmaşıklığa yol açmaması için isimlendirmelerimiz düzenli olmalıdır. Bu sebeple hangi nesne oluşturuyorsak önce nesnenin ismini yazmalıyız. (tavisyemdir) Sonra nesneye ad vermeliyiz.

Bu örneğimizde mağazanın müşteri bilgilerini tutan tablosunu oluşturacağımız için TABLO_MUSTERI şeklinde isimlendiriyoruz. İsimlendirme de fark ettiyseniz Türkçe karakter (ç, ğ, ı, ö, ş, ü) kullanmadım. İlerleyen zamanda proje daha da geliştirmek isterseniz örneğin bir web sitesi bağladınız, ya da başka bir ara yüzden çağırmak istediğinizde Türkçe karakter kodlarla eşleşmede sorun olabileceğinden şimdiden Türkçe karakter kullanmıyoruz.
Tasarım Görünümü Bölümleri
Veri Türü
Otomatik Sayı
Bu alanı en başa aldım. Veri tabanı tasarımındaki en önemli etken işte bu Otomatik sayıdır. Veritabanında kayıtlar birbirine benzese dahi hiçbir kayıt birbiri ile aynı olmamalıdır. İşte bu farklılıkları gösteren alan Otomatik sayıdır.
Otomatik Sayı adından anlaşılacağı gibi Tabloya her bir yeni kayıt eklendiğinde özelliği verilen kolon sayısı bir artar. Böylelikle her kayıt birbirinden farklı olur.
Metin
Metinsel Alanlar için kullanılır. Örneğin Müşteri Adı Soyadı, metinsel bir alandır. Aslında her verilerle tek tek uğraşmayıp excel gibi sadece metinsel tipi seçip verileri girebilirsiniz. Ancak metinsel ve Not alanı çok yer kapladığından veriler arttıkça Veritabanınız çok yavaşlayacaktır. Bu sebeple Metinsel tipi sadece gerektiğinde kullanılmalıdır. Metinde en fazla 255 Karakter kullanabilirsiniz.
Not
Daha uzun Metinsel alanlar için kullanılır. Örneğin Adres bilgisi gibi. Bu alan 64.000 karakterdir. Bu da tablonuzda çok yer kaplayacağını unutmamalıyız. Bu sebeple tıpkı metin alanı gibi gerektiğinde kullanılmalıdır.
Sayı
Sayısal veri tipi için kullanılır.
Tarih Saat
Tarih verileri için kullanmalıyız. Böylelikle Sorgu ve Raporlarda iki tarih arası gibi sorgularda hesaplama yapabiliriz.
Para Birimi
Para Birimi alanı için seçilmelidir.
Evet/ Hayır
Bu alanı örneğin Evli Bekar gibi sorularda kullanabilirsiniz. Access görsel olarak Evet/Hayır gösterse de Veri tabanında 1 ve 0 olarak tutmaktadır. Böylece Veritabanında çok küçük bir alan kaplamış olur. Tabloda görünüm olarak checkbox olarak görünür. Mouse ise tıkladığımızda seçili olur. Bu evet anlamındadır. Seçili olmazsa hayır anlamındadır.
OLE Nesnesi
Excel, Word, Ses vb. verileri tutan veri tipidir. 1 GB’a kadar desteklemektedir.
Köprü
Metinsel veri tipini barındırır. Metinden farklı bir link olarak gösterilir. Verinin üzerine tıkladığımızda bir browser açılarak Web sayfasına gider. Genelde internet ve mail adresleri yazmak için kullanılır.
Ek
Bu alana tablo açıkken ek olarak bir dosya eklemenizi sağlar. OLE nesnesi gibidir. Ancak daha esnek bir yapıdadır.
Hesaplanmış
Bu alan ile Tabloda olmayan sanal bir alan oluşturabiliriz. Kolonlar arası hesaplama yapabilir. Hazır fonksiyonları ve mantıksal karşılaştırmalar gibi birçok parametre ile hesaplayarak olmayan bir kolon oluşturabiliriz. Böylelikle gereksiz alanlardan da tasarruf etmiş oluruz. Örneğin iki tane sayısal alanın ortalamama değerini alabilir veya parasal bir alana değer girmeden yeni bir kolona sadece %18 KDV eklenmiş halini ekleyebilirsiniz.

Arama Sihirbazı
Başka bir tabloda Örneğin MÜŞTERİ KARTI’nın bağlı bulunduğu Sokak adının olduğunu düşünelim. Kayıt yaparken ilgili tablo ile bağlantı yapılarak açılır menü ile seçim yapmanızı sağlamaktadır. Kayıt esnasında ise Deneme Sokak şeklide uzun uzun yazmak yerine Access bağlı olan Tablonun Otomatik Sayı alanını tutar. Böylelikle çok az yer kaplamış oluruz. Bu mantığı ilerleyen bölümlerde detaylıca işleyeceğiz.
Alan Adı
Sütunun adını bu bölümde belirliyoruz.
Alan Özellikleri

Genel ve Arama diye iki sekmeden oluşur. Eklenen Kolondaki veri tipine göre değişkenlik göstermektedir. Kolonda kaydedilirken o alanla ilgili tüm işlemler bu kısımdan yapılır. Bir sonraki bölümde burayı detaylı inceleyeceğiz.
Birincil Anahtar
Birincil Anahtar ise eklenen sayısal alanı bilgisayarda indexlemeye yarar. İndexlenmiş bir kolon ramda tutulduğundan hızlı gelir. Genelde birincil anahtar Sayısal alanda ve Otomatik Sayı alanında yapılır. Yeri geldiğinde örneklerle değineceğiz.
Eğer bir kayda ulaşmak istiyorsa önce birincil anahtardaki numara alanına ulaşır sonra bilgilerine ulaşır. Birincil alanı boş olamaz.
Eğitime Access Tablo Alan Özellikleri #5 makaleden devam edin.
Microsoft Access Tablo Oluşturma #3
Access Proje Hazırlık Aşamaları bölümünde database aşağıdaki gibi bir yapısı oluşturmuştuk. Detayını bundan sonraki bölümlerde anlatacağız.

Bu bölümde en basit olan Müşterinin bilgilerinin tutulduğu MÜŞTERİ tablosu alanları ekleyeceğiz. Aynı örneklerle de sizlerden diğer tabloların oluşturmasını isteyeceğiz.
Tabloya Alan (Kolonlar ) Ekleme
Database dizaynı yaparken de aşağıdaki gibi başlık olarak eklediğimiz alan tablonun ismidir. Altındaki alanlar ise kolon isimleridir. Şimdi kolonları tek tek oluşturup tabloları oluşturalım. MÜŞTERİ tablosunun alanları aşağıdaki şekildedir.

ID Alanı

İlk Kolon Kimlik ismi ile gelir. Bu alanı ben ID olarak değiştirdim. İsterseniz sizde Kimlik adı kalabilir. Veri Türü Otomatik sayı ve Birincil Anahtar olarak gelir. Yani bu alanı hiçbir Müşteride benzeri olmayan bir değere sahip oluyoruz. Örneğin Mustafa ismi birden fazla olabilir. Ancak Telefon numarası her müşterinin benzersiz alanıdır. Böylelikle ID alanı hariç tüm alanlar aynı dahi olsa Telefon Numara alanındaki farklılıktan dolayı benzersiz alan olacaktır. Eğer projenizde benzersiz kayıt yoksa Otomatik Sayı kalmalıdır. Bu kayıtta elimizde değiştirmemize izin vermiyor. Her yeni kayıt eklediğimizde artan oranda sayı ilerlemektedir.
Ad ve Soyad Alanı

Bu alanları Kısa Metin alanı seçiyoruz. Maksimum 255 karakter alan yeterlidir. İsterseniz Alan Özellikleri bölümünden alan boyutunu kısaltabilirsiniz. Böylelikle Veritabanında daha az yer kaplamış olacak.
Telefon Alanı
Müşterinin telefonunu kaydedeceğimiz alandır. Bu alanı da Kısa Metin olarak kaydedeceğiz. Daha sonra Giriş Maskesi ile telefon numara yazma formatı belirleyeceğiz.

Adres Alanı
Adres kısmını Uzun Metin olarak Kaydediyoruz. Adres Sokak Site vs. uzun olacağından Kısa Metin 255 karakterle sınırlıdır. Bu sebeple Uzun Metin kullanıyoruz.

Kayıt Tarihi Alanı
Bu alan sistemden Otomatik tarih kaydetmesini istiyorum. Daha sonraki bölümlerde değineceğiz. Bu sebeple tarihsel alanlar için Tarih/Saat alanını seçiyoruz.

Yaş Alanı
Bu alanda veri tabanında tasarladığımız bir durum değil. Ancak sayısal bir örnek olması için ekliyoruz. Proje ile ilgili bir etkisi olmayacaktır.

Veri Sayfası görünümünde Müşteri Kaydı Girme
Database Dizaynında belirlediğimiz Müşteri Bilgileri alanları bu şekildedir. Siz bunları ihtiyacınıza göre artırabilirsiniz. Tablonun üzerinde sağ tuş yaparak Veri Sayfası Görünümü seçin ve Verilerin olduğu alana gelin.

Veri Sayfasını Görünümünü seçtikten sonra aşağıdaki şekilde daha önce eklediğimiz sütunlar başlık olarak belirmiştir. Bu tabloda sadece bir Müşterinin bilgileri yer alacaktır. Artık bu alana veri girişi yapabiliriz.

ID kısmında Yeni yazmaktadır. Bu alana Otomatik Sayı olduğundan yani Otomatik sayı üreteceğinden müdahale etmemize izin vermeyecektir.
Veri girmeye başlayalım. Mesela Tarih alanına tarihin dışında bir karakter yazarsak hata verecektir.

Aynı durum Sayısal alanımız olsaydı onun içinde Metin alanı girdiğimizde hata verecekti.
İki kayıt girersek aşağıdaki şekilde görünecektir.

* Yeni şeklinde görünen alan ise bir kayıt olmadığını veri yazdığımız anda kayıt oluşturacağı anlamına gelmektedir.
Tabloya Sonradan Yeni Alan Ekleme
Veriler girmiş olsak ta tabloya yeni bir alan ekleyebiliriz. Bunun için tasarım görünümüne geçiyoruz. Hangi alanın arasına Alan eklemek istiyorsak o alanın altındaki alanı seçip Sağ tuş Ekle veya Insert tuşuna basıyoruz.

Böylelikle yeni bir alana ismi ve Veri Tipini verebiliriz. Bu alana “ Sadık Müşteri mi? “ alanı ekliyoruz. Bu alanın veri tipleri Metin, Sayı seçilebilir. Ancak Evet/Hayır veri tipi yapıyoruz.

Tekrar veri Sayfası görünümüne geçelim.

Eklediğimiz Sadık Müşteri mi? Alanı checkbox’lar ile geldi. Kayıtta seçim yapılmazsa Hayır seçilmiş diğer bir ifade ile 0 olarak kaydedilir. Eğer seçerse 1 yani Evet seçili olacaktır. İlk kaydı Sadık Müşteri olarak seçmiş oldum.
Projemiz için diğer Tabloları da siz Oluşturun
Eğitimde kullanacağımız proje için veri tabanı tasarımı daha önceki konumuzda bahsetmiştik. Müşteri Tablosu gibi diğer alanları da siz deneyin.

Bu database dizaynına göre yukarda anlattığım yöntemlerle aşağıdaki veri tipleri ile diğer tabloları da sizler oluşturun. Böylelikle daha sonra anlatımlarla bunun yanında da projemiz için de işlemleri yapmış olacağız.
Tablolar birbirlerine bağlantı var ve anlam veremediğimiz kısımlar olabilir. Hiç önemli değil. Konunun yeri geldiğinde detaylıca işleyeceğiz. Şimdilik sadece tabloları belirtilen isimlerle kaydedin yeterlidir.




Bu tabloları oluşturduğunuzda tablolar kısmında aşağıdaki gibi 4 adet dosya oluşturmuş olacaksınız.

Eğer anlaşılmayan bir durum olursa ekteki dosya dan eklenmiş halini görebilirsiniz.
Access Projesi Hazırlık Aşamaları #2
Bu eğitim serisine Access Temel Bilgiler ve Tablolar makalesi inceledikten sonra, nasıl bir paket programı satın alıp kullanıyorsanız aynı şekilde Microsoft Office Access programı ile de program yazabilirsiniz. Bundan dolayı Access eğitimine de bir Access Projesi ile anlatmak daha kolay anlamamıza yardımcı olacağı kanaatindeyim. Access’de bir program yapacaksak önce projelendirmeliyiz. Bu makalede Tüm yazılımcıların ve Yazılım şirketlerinin kullandığı Proje Yönetimi kavramından bahsedeceğim.
Bu eğitim serisinde sadece Access programını anlatmayacağız. Programı yazarken program isteyen kişiyi nasıl dinlenir. Söylemlerinden Access programında hangi aşamaları yapacağımızı da anlamış olacağız. Nacizane ben Access eğitimi vermenin yanında Projede yönetimi sürecinde 15 yıllık tecrübemi de sizlere aktarmaya çalışacağım.
Eğitim Projemizin Konusu
Projeyi anlama sürecini daha iyi anlatabilmek için gerçekten bir proje aldım ve projede geçen aşamalara göre notlarımı ve Access dönüştürme serüvenini tek tek kaleme alacağım. Aldığım proje bir giyim mağazası satışlarını stoklarını yani tüm işlerini takip edecek Access programı hazırlayacağız.
Bu eğitim serisinde bir giyim mağazası programı yazarken diğer taraftan da Access Temel ve Access İleri konularına içerecek şekilde en dip konularına kadar girmeye çalışacağız. Örneğin barkod sistemi, raporlarda grafik, paket program yapma gibi detaylı bir proje yapacağız. Maksat piyasada anlatılan Access eğitimlerinden farklı olarak İleri Access konularına ve proje yönetimi konuları ile bir programcının yapacağı tüm adımları en basit dille anlatarak anlatılmayanları da anlatarak başka bir konuya ihtiyacını olmadan kendi başınıza projeyi tasarlayıp kullanılmasına imkan sağlamış olacağız.
Giyim Mağazası Sahibinin Programdan Beklentileri
Bir proje aldığınızda bilgisayarda hiçbir işlem yapmadan önce müşteri ile görüşmeye gidiniz. Elinizde sadece kalem-kağıt olsun. İstediği programdan ne beklediğini sorun? Müşteri her konuşmasında aslında Access formda bir ekran veya Access raporlarda bir liste isteyecektir. Müşteri bu işlemi kendi bilmediği için size anlattığı istekleri Access diline çevireceksiniz. Bu işteki rolünüz bu.
Ancak müşteri bu istekleri sıralarken bir yerde gördüklerini veya ihtiyacı olanı söyleyecektir. Çünkü müşteri Veritabanı formlar raporlar gibi kavramları bilemez. Bunun içinde çözüm üretemez. Bu yüzden anlattığı birçok konudan daha fazlasını sizin anlamız gerekiyor. Yani lep demeden leblebi anlamanız gerekiyor.
Projede sadece istenileni yaparsanız ne olur?
Projeyi teslim ettikten kısa bir süre sonra yeniden istekleri olacaktır. Neredeyse proje hiç bitmeyecektir. Mağaza sahibi anlatacak siz Access uygulamasını geliştireceksiniz. Nereye kadar derseniz bu iş çok uzun bir süreç olacaktır. İnanın 15 yıl kod yazmış biri olarak tecrübelerimle sabittir. Derdimiz işi bitirip paramızı almak. Yapacağınız işçiliğe göre az bir fiyat verip, aylarca o mağazanın işi ile uğraşmak istemezsiniz. Ayrıca proje uzadıkça da sizin projeyi bitiremediğiniz algısı olacak ve sorumlu gene siz tutulacaksınız.
Mağaza Olan biten her şeyi inceleyin, kendinizi garantiye Alın..
O zaman sadece mağaza sahibinin anlattığına değil, kasiyerinden müşteri gelişine, taksit istediğinde nasıl bir işlem yapıldığına, tedarikçiden mal geldiğinde ne gibi işlemler yapıyorlar gibi birçok süreci inceleyip notlar almalısınız. Daha sonra da mağaza sahibine tüm aldığınız verilere göre yine kağıt-kalemle yapacağınız projeyi anlatın. Mağaza sahibinin ön görmediği işlemleri sizin tespitini gördükçe hem etkilenecek hem de tespit ettiğiniz işlerin yükünü idrak edecektir. İşte o zaman işçilik fiyatınızı verebilirsiniz.
Sakın bu noktada hazırladığınız taslağı müşteriye vermeyin. Çünkü başka teklif te almak için kullanabilir. Ben bunları düzenleyip öyle getireceğinizi söyleyin. İşi kabul ettiyse hazırladığınız notları Word’de bir sözleşme formatında hazırlayın. İçinde Access formları Access Raporları, Database tasarımı gibi bilgiler olsun. Ama çok tekniğe girmeden her iki tarafında anlayabileceği bir sözleşme hazırlayın ve karşılıklı imzalayın.
Artık projenize başlayabilirsiniz. Sözleşme yapmamızın sebebi hem resmiyet kazansın hem de proje devam ederken kesinlikle sizin de öngörmediğiniz müşteri yeni istekleri de olacaktır. Sözleşmede olmadığı için ekstra bir çalışma gerektiğini ve bunun içinde ekstra ücret talep etme hakkınız doğacaktır.
Bu işlemi dökümante etmenin diğer bir faydası da siz bu tespit ve doküman etme sürecinde hazırladığınız projenin %70’ini bitirmiş olacaksınız. Geriye sadece istenilen şeylerin Access’e hazırlaması kalır. Bu da ne yapacağınızı artık belirlediğiniz için hızlı olacaktır.
Projedeki tespitlerinizi nasıl Access diline Çeviririz?
Anlattıklarımı nasıl yapacağız diye endişelenmeyin. Eğitimdeki konu başlıklarında örnekler üzerinden gideceğimizden burada anlattığım senaryoları önce müşterinin isteğine değineceğiz sonra Access teki yerini hazırlayacağız.
Bir örnek verelim. Giyim Mağazası tedarikçiden mal getirdi. Gelen malları kategorilere ayırdığını, üzerine etiket bastığını gördünüz. Etiketin üzerine ne yazdığını da gördünüz. O zaman ilk olarak kategori ve Ürün tablosu hazırlayacağız. Etiketin üzerine fiyatı vardır. O zaman fiyatın olduğu bir tablo olmalı. Bu tabloları ilişkiler bölümünde bağlayacağız. Tedarikçiden gelen ürünleri kaydetmeleri için Form tasarlayıp bu tabloları kaydetmeleri sağlayacağız. Stok durumunu veya satış durumlarını kontrol etmeleri için Raporlardan aylık rapor gibi rapor oluşturacağız. Bilmem kafanızda neler yapacağımız biraz canlandı mı?
Proje Tespit Sürecinde Neler Yaptım!.
Sizler için mağazaya gidip tespitler yaptım ve kağıtta notlar aldım. Bunu sizler için dökümana dönüştürmeye çalışacağım. Mağaza yukarda belirttiğim gibi mağaza sahibi ile görüştüm. Müşterileri izledim ve mağaza sahibinin anlayacağı form tasarımlarını yaptım. (Kağıtta notlar yerine bir resim editörü olan Adobe Fireworks ile tasarladım. Siz kâğıtta yapabilirsiniz)
Mağaza sahibi ile 3 aşamalı bir görüşme yaptım ve her adımda müşterinin isteğine göre formlara şekilde verdim. Mesela önce stoklu bir ürün tasarlamışken mağaza sahibi stok istemiyorum. Sadece satış yaparken taksit, defter, gibi kimlere ne işlem yapmış bunların kaydını tutmak istediğini belirtti.
Müşteri ile teyitleştikten sonra Veritabanı tasarımını yaptım. Şimdi formlar ve veri tabanı ve hazırladığım formlar hakkında biraz bilgi vereyim.
Projedeki Ekranlar
Ana Sayfa
Access programı açıldığında ilk olarak Ana Sayfa karşılayacak. Tüm formlara bu ekrandan yön verilecek.

Müşteri Kartı Formu
Ana Sayfadan Müşteri İşlemlerini seçtiğimizde bu menü gelecek. Bu ekran tüm veri giriş işlemlerini yaptığımız. Bu ekranda Müşteri Ekleme veya güncelleme işlemi yapabileceğiz. Diğer taraftan Müşteriye satılan ürünlerin kaydı bu ekrandan yapılacak. Hem borç hem de ödeme kalemleri girişi yapılabilecek.
Borç kısmını seçtiğimiz zaman yazılan tutarın önüne – (eksi) işareti koyacak. Böylelikle + ile – arasında hesaplama ile müşterinin güncel borcunu toplam kısmında görmüş olacağız. Siz başka türlü de kurlayabilirsiniz.
İşlem Türü olarak Borç seçildiğinde tüm satır Kırmızı renkte olacak. Nakit veya Kredi Kartı seçildiğinde ise Yeşil renk olacak. Böylece alacak ve Borç kısmını kolayca ayırt edilebilecek.
Müşteri Bul butonu ile Müşteri Adı soyadı, Telefon Adres gibi alanlardan arama yapılabilecek.
Yeni Müşteri butonu ile yeni Müşteri kaydı ekleyebileceğiz.

İşlem Hareketleri Raporu

Bu alanda satış işlemleri ile ilgili iki tarih arası sorgu yapmak için kullanılacaktır. Ayrıca borçlu olan kişi Alacaklar olarak belirlenen tarih aralığında alacakların listesini görmüş olursunuz.
Örneğin son 1 ayda alınan nakit ödemeleri yine bu ekrandan görebilirsiniz.
Gün sonunda Kredi kartından Z Raporu alıp tarih aralığını sadece o gün yaparak ve Kredi Kartı ödemeleri seçerek kredi kartı ile kayıtların eşleştirmesini yapabilirsiniz.
Bu şekilde Raporlama alanı müşterinin isteğine göre her yönü ile kullanılabilir.

Mağazadaki ürün türlerinin ekleneceği alan. Yeni bir tür gerektiğinde bu alandan eklenecektir.
Access Database Yapısı Oluşma
Yukarda anlattığım yapının tablolarını ve birbirleri arasındaki ilişkilerini de daha Access programını açmadan resim editöründe sizlerde kağıt üzerinde tasarlamanızı tavsiye ediyorum. Böylelikle Access’i açtığınızda sadece planladığınız işleri yapmak kalacak.
Tablo nedir Database ilişkileri Nasıl yapılır. Konumuz geldiğinde tablolar ve ilişkilerini anlatacağız. Şimdilik sadece neler yapılabildiğini yukarda anlattığım hikâyeye göre buradaki alanları anlayabiliyor musunuz kendinizi test edin. Konusu geldiğine taşlar yerine oturmuş olacak.

Eğitime Microsoft Access Tablo Oluşturma makaleden devam edin.