MS Office Access 2003, 2007 ve 2010'da Tablo İlişkilendirme

Merhaba,

Access artık her ne kadar pabucunu MySQL ve MSQL’e kaptırmış olsada (My-tiny-to-do’da gücünü keşfettiğim SQLite’ı da sayabiliriz) halen öğrenmek zorunda olduğumuz (adet yerini bulsun) bir veritabanı uygulaması. Bugün vize için çalışırken canımı sıkan ilişkilendirme olayı üzerine biraz araştırma yaptım.

Temel Kurallar

1) İlişkili alanlar aynı adı taşıyamaz. Örnek vermek gerekirse isimler (tablo1) => isimler (tablo2) şeklinde bir ilişkilendirme yapılamaz.

2) Birincil anahtar alanı bir OtomatikSayı alanı değilse, ilişkili alanlarda aynı veri türü bulunmalıdır. Örneklersek; metin veri türü barındıran bir alandan sayı veri türü barındıran bir alana ilişkilendirme yapılamaz, tabi eğer birincil anahtar alanı bir OtomatikSayı alanı değilse.

3) OtomatikSayı =>> Sayı şeklinde bir alan eşleştirmeyi yapabilmek için her iki alanın FieldSize özelliği aynı olmalıdır. Uzun Tamsayı-Uzun Tamsayı şeklinde alan boyutlandırması yapmanız gerekmekte. Her iki alan “Sayı” alanı bile olsa yinede “alan boyutu, field size” aynı olmalıdır. Aksi taktirde veri tutarlılığı sağlanamaz.

4) İlk tabloda mutlaka eşsiz bir birincil anahtar değeri olmalı ve ilk tablodan bağlantı bu noktadan yapılmalı. İkinci tabloda birincil anahtar olabilir ancak ikinci tabloya bağlantıyı birincil anahtardan yapmamalısınız. Yani birincil anahtardan, birincil anahtara bağlantı yapılamaz.

Office Access 2003 İçin

Tablo1 ve Tablo2 isimlerinde iki tane tablomuz olduğunu düşünelim.

İlk tablomuzda id (birincil anahtar), isim, soyisim ve yas alanları olsun.

İkinci tablomuzda rakam, notlar ve durum alanları olsun. Bu tablonun birincil anahtar alanı olmasın.

İlk tablodaki birincil anahtar olan id alanı ile ikinci tablodaki rakamlar alanını birbirine bağlayalım.

Şematik olarak göstermek gerekirse :

Ayrıca ilişkilendirmeyi veri tutarlılığına da zorladık. Aradaki çubuğun uçlarının koyu renkte olması bu anlama gelir.

İlişkilendirmemiz tamamlandı. Şimdi test etmek için Tablo1’den veri girelim, Tablo2’ye gidip girdiğimiz veriler işleniyormu görelim.

Gördüğünüz gibi işlem başarılı. İlk tablodan girdiğimiz veriler doğrudan 2. tabloya’da girilmiş oldu.

Office Access 2010 İçin

2003’te yaptıklarımızın aynılarını yaparak 2 tablo oluşturuyoruz. Aynı değerleri verdim karışıklık olmaması açısından. Resimde gösterdiğim gibi bir ilişki kuruyoruz.

Bu işlemi yaparken herhangi bir tablonun tab durumunda dahi olsa açık olmaması gerekiyor.

İlişkilendirme tamamlandıktan sonra deneme amaçlı 3 adet veri girdim ve Tablo2’de sınadım. (Test işlemini yapmanız faydanıza olacaktır, daha sonradan çıkacak hataları engelleyecektir.)

İlişkilendirmeyi başarıyla tamamladık.

Yaptığım veritabanlarını indirmek ve incelemek isterseniz;

http://pythonkodcalismalarim.googlecode.com/files/vt1.mdb (2003)

http://pythonkodcalismalarim.googlecode.com/files/Database1.accdb (2007-2010)

1 thought on “MS Office Access 2003, 2007 ve 2010'da Tablo İlişkilendirme”

Leave a Reply