İl İlçe Semt Mahalle ve Posta Kodu Sorgulama

İl İlçe Semt Mahalle ve Posta Kodu Sorgulama

İl İlçe Semt Mahalle ve Posta Kodu Sorgulama

Türkiye Geneli Mahalle ve Posta Kodu Listesini Excel Formunda Hızlıca Arayın​

Bu dosya, Türkiye'deki il, ilçe, semt ve mahalle adlarını posta kodlarıyla birlikte bir Access veritabanında tutar ve bu kayıtları Excel içinde açılan bir sorgu formunda listeler. Veriler çalışma sayfasına yüklenmez; makro, ADO bağlantısıyla Access dosyasını okur ve sonuçları bir liste kutusunda gösterir. Arama kutularına yazılan her harfte liste yeniden süzülür, bulunan kayıtlar istenirse tek tıklamayla Excel sayfasına aktarılır. Dosya hem adres ve posta kodu bulmak isteyen kullanıcılar için pratik bir sorgu aracı, hem de Excel VBA ile Access veritabanına bağlanmayı öğrenmek isteyenler için çalışan bir örnektir.

Dosya Ne İşe Yarar​

Adres kaydı tutan, kargo veya fatura bilgisi hazırlayan, müşteri listesindeki posta kodlarını kontrol eden kullanıcıların sık ihtiyaç duyduğu bilgi, bir mahallenin hangi semt ve ilçeye bağlı olduğu ve posta kodunun ne olduğudur. Dosya bu bilgiyi 51.797 kayıtlık bir tablodan arar. Tabloda 81 ilin yanı sıra KKTC'ye ait 267 kayıt da bulunur; il ve ilçe çiftlerinin sayısı 975'tir. Örneğin Ankara için 1.457, İzmir için 1.377, İstanbul için 937 ve Muğla için 623 kayıt listelenir.
Arama, kelimenin tamamının yazılmasını gerektirmez. Yazılan metni içeren bütün kayıtlar bulunur; bu nedenle ilçe kutusuna yalnızca kadık yazmak bile Kadıköy kayıtlarını getirir. Arama büyük ve küçük harfe duyarlı değildir ve Türkçe harflerle doğru çalışır: istanbul, İstanbul ve İSTANBUL yazımları aynı sonucu verir. Birden fazla kutu doldurulduğunda koşullar birlikte uygulanır; il kutusuna istanbul, ilçe kutusuna kadıköy yazıldığında yalnızca Kadıköy'e ait 21 mahalle kalır.

Sayfa Sayfa İçerik​

İndirilen ZIP arşivinde dört dosya bulunur: sorgu formunu içeren makrolu Excel çalışma kitabı, kayıtları tutan sehirler-tr.accdb Access veritabanı, kurulum adımlarını özetleyen Kurulum.txt ve telif bilgisini içeren Copyright.txt. Excel dosyası ile Access dosyası aynı klasörde bulunmalıdır; makro veritabanını, çalışma kitabının bulunduğu klasörde göreli yol ile arar.

Şerit Sekmesi​

Çalışma kitabı açıldığında şeritte Giriş sekmesinin önünde İL - İLÇE - SEMT - MAHALLE adlı bir sekme görünür. Bu sekmenin Tanımlar grubundaki Hızlı Sorgula düğmesi sorgu formunu açar. Sekme çalışma kitabına aittir; dosya kapatıldığında şeritten de kalkar ve Excel'in genel ayarlarını değiştirmez.

Sorgu Formu​

Formun üst kısmında yan yana beş arama kutusu vardır. Kutular, altlarındaki liste sütunlarıyla aynı sırayı izler: il, ilçe, semt, mahalle ve posta kodu. Ortadaki liste kutusunun ilk satırı sütun başlıklarını gösterir, altındaki satırlarda kayıtlar yer alır. Form ilk açıldığında bütün kayıtlar il adına göre sıralı olarak yüklenir. Sağ alttaki bilgi satırı, o anda listelenen kayıt sayısını Toplam : 51797 adet kayıt listelenmiştir biçiminde gösterir. Sol alttaki Sayfaya Aktar düğmesi, listede görünen kayıtları çalışma sayfasına yazar.

rapor Sayfası​

Çalışma kitabındaki tek sayfa rapor sayfasıdır. Sayfaya Aktar düğmesine basıldığında bu sayfa temizlenir ve listenin başlık satırı dâhil bütün satırları A ile E sütunlarına yazılır. Başlık satırı kalın yazılır, il, ilçe, semt ve mahalle sütunları sola, posta kodu sütunu ortaya hizalanır, sütun genişlikleri içeriğe göre ayarlanır. Posta kodu sütunu metin biçimindedir; bu sayede 01720 gibi sıfırla başlayan kodlar baştaki sıfırı kaybetmeden aktarılır. Çalışma kitabı her açılışta rapor sayfasını temizler; saklanması gereken sonuçların başka bir çalışma kitabına kopyalanması gerekir.

Kullanılan Formüller ve Hesaplama Mantığı​

Dosyada çalışma sayfası formülü bulunmaz; bütün işlem VBA ile yapılır. İşleyiş üç adımdan oluşur: veritabanına bağlanmak, kayıtları okumak ve yazılan ölçütlere göre süzmek.

Access Bağlantısı​

baglanti modülündeki Baglanti_Yap işlevi, Microsoft ACE OLEDB 12.0 sağlayıcısıyla bir ADO bağlantısı açar. Veri kaynağı, çalışma kitabının klasör yolu ile sehirler-tr.accdb dosya adının birleştirilmesiyle oluşturulur; dosya içinde sabit bir sürücü veya klasör yolu yoktur. Bağlantı açılmadan önce veritabanı dosyasının varlığı kontrol edilir. Dosya bulunamazsa veya sağlayıcı yüklü değilse Excel hata ayıklama penceresi açılmaz; nedenini ve yapılması gerekeni anlatan bir mesaj gösterilir.

Kayıtların Okunması​

Form etkinleştiğinde SELECT il, ilce, semt, mahalle, posta_kodu FROM pk ORDER BY il sorgusu çalışır. Sonuç bir ADO kayıt kümesine alınır ve GetRows yöntemiyle tek seferde liste kutusuna aktarılır. Liste kutusunun sütun genişlikleri beş sütun için ayrı ayrı tanımlanmıştır, ilk satıra sütun başlıkları eklenir.

Süzme Mantığı​

Arama kutularından birinde değişiklik olduğunda Personel_Filtrele yordamı çalışır. Yordam, dolu olan her kutu için alan Like '%metin%' biçiminde bir koşul üretir ve bu koşulları And ile birleştirerek kayıt kümesinin Filter özelliğine atar. Veritabanına yeniden sorgu gönderilmez; süzme, bellekteki kayıt kümesi üzerinde yapılır ve liste kutusu sonuçla yeniden doldurulur. Hiçbir kayıt eşleşmezse liste boşaltılır ve bilgi satırında 0 kayıt görünür. Aranan metindeki tek tırnak karakteri ifadeye güvenli biçimde eklenir; bu nedenle kesme işareti içeren bir arama hata üretmez, yalnızca eşleşen kayıt yoksa boş sonuç verir.

Öne Çıkan Özellikler​

Bu sürümde veritabanında ve makroda kullanıcıyı doğrudan etkileyen sorunlar giderilmiştir. Önceki veritabanında Ğ ve Ş harflerinin her birinin ardından görünmeyen bir denetim karakteri bulunuyordu. Bu karakter ekranda fark edilmediği halde aramayı bozuyordu: Muğla, Beşiktaş veya Koşuyolu gibi Ğ ya da Ş içeren bir ad yazıldığında hiçbir kayıt bulunmuyor, aynı karakter Sayfaya Aktar ile çalışma sayfasına da taşınıyordu. Bu karakter 25.973 kayıttaki 35.474 alandan temizlenmiş, Düzce'deki bir mahalle adında bozuk kodlanmış ü harfleri düzeltilerek KÜLTÜR MAH. yazılmıştır. Kayıt sayısı, il ve ilçe sayıları ve posta kodları değişmemiştir.
Makroda da dört düzeltme yapılmıştır. Hiç kayıt listelenmezken Sayfaya Aktar düğmesine basıldığında oluşan çalışma zamanı hatası yerine aktarılacak kayıt bulunmadığını belirten bir bilgi mesajı gösterilir. Arama kutusuna tek tırnak yazıldığında oluşan süzme hatası giderilmiştir. Veritabanı dosyası bulunamadığında veya ACE sağlayıcısı yüklü olmadığında açıklayıcı bir uyarı verilir ve form bilgi satırında bağlantının kurulamadığını gösterir. Form kapatıldığında kayıt kümesi ve Access bağlantısı kapatılır; böylece veritabanı dosyası kilitli kalmaz.
Dosya özellikleri ExcelDepo olarak güncellenmiş, çalışma kitabına kaydedilmiş eski yerel klasör yolu kaldırılmıştır. Bu değişikliklerin hiçbiri bir özelliği kaldırmaz: şerit sekmesi, form düzeni, beş arama kutusu, sıralama, sayfaya aktarma ve açılışta rapor sayfasını temizleme davranışı korunmuştur. Revize edilen VBA projesi Visual Basic düzenleyicisinde hatasız derlenir.

Nasıl Kullanılır​

Kurulum​

ZIP arşivindeki dosyaların tamamı bilgisayarda yerel bir klasöre birlikte çıkarılmalıdır. Excel dosyası arşivin içinden doğrudan açılırsa veritabanı aynı klasörde bulunamaz. sehirler-tr.accdb dosyasının adı değiştirilmemelidir. Excel dosyası açıldığında makroların etkinleştirilmesi gerekir. Bağlantı Microsoft ACE OLEDB 12.0 sağlayıcısıyla kurulur; Microsoft Access programının kurulu olması gerekmez. Sağlayıcı bulunamadığı bildirilirse, Office ile aynı bit sürümündeki, yani 32 bit Office için 32 bit, 64 bit Office için 64 bit Microsoft Access Database Engine kurulmalıdır. Dosya, ADO ve ACE sağlayıcısı kullandığı için Windows üzerindeki masaüstü Excel ile çalışır.

Sorgulama​

Şeritteki İL - İLÇE - SEMT - MAHALLE sekmesinde Hızlı Sorgula düğmesine basılır. Form açılınca bütün kayıtlar listelenir. Aranan bilgi ilgili kutuya yazılır; liste her harfte güncellenir. Örneğin bir mahallenin posta kodu aranıyorsa il ve mahalle kutularının doldurulması yeterlidir. Bir posta kodunun hangi mahalleye ait olduğu aranıyorsa yalnızca posta kodu kutusu kullanılabilir; 34710 yazıldığında İstanbul Kadıköy Caferağa kaydı bulunur. Kutulardaki metin silindiğinde liste yeniden bütün kayıtları gösterir.

Sonuçları Sayfaya Almak​

Liste istenen kayıtlara indirildikten sonra Sayfaya Aktar düğmesine basılır. Kayıtlar rapor sayfasına başlıklarıyla birlikte yazılır ve sayfa etkin hale gelir. Buradaki liste sıralanabilir, süzülebilir veya başka bir çalışma kitabına kopyalanabilir. Form kapatıldığında veritabanı bağlantısı da kapanır.

Kimler İçin Uygun​

Dosya; müşteri ve tedarikçi adreslerini düzenleyen satış ve muhasebe birimleri, gönderi listesi hazırlayan lojistik ekipleri, adres verisindeki ilçe ve posta kodu bilgisini kontrol etmek isteyen veri giriş personeli için uygundur. Veriler Access dosyasında tutulduğu için Excel dosyası küçük kalır ve elli bin satırı aşan bir liste çalışma sayfasını doldurmadan sorgulanabilir.
Excel VBA öğrenen kullanıcılar için de dosya; ADO ile Access veritabanına bağlanma, SQL sorgusunu kayıt kümesine alma, GetRows ile liste kutusunu doldurma, Filter özelliğiyle bellekte süzme, form olaylarıyla anlık arama ve özel şerit sekmesinden makro çalıştırma konularını küçük ve okunaklı bir kod üzerinde gösterir. Kod, başka bir Access tablosunu sorgulamak üzere sorgu metni ve sütun başlıkları değiştirilerek uyarlanabilir.
Veritabanındaki adlar ve posta kodları dosyanın hazırlandığı tarihteki kayıtlara dayanır; bazı ilçe adlarında Aladağ (Karsantı) ve Mersin (İçel) örneklerinde olduğu gibi eski adlar parantez içinde yer alır. Resmî yazışma veya gönderi için kullanılacak posta kodlarının güncel resmî kaynaktan doğrulanması önerilir.

Sonuç​

İl, ilçe, semt, mahalle ve posta kodu sorgulama dosyası, 51.797 kayıtlık adres listesini Excel'den çıkmadan aramayı ve sonuçları tek tıklamayla sayfaya almayı sağlar. Türkçe harflerle doğru çalışan arama, hata yerine açıklayıcı mesajlar ve kapanışta serbest bırakılan bağlantı ile hem günlük kullanımda hem de VBA ile veritabanı bağlantısını öğrenmede güvenilir bir örnek sunar.
  • il-ilce-semt-mahalle-ve-posta-kodu-sorgulama-sorgu-formu-tum-kayitlar.webp
    il-ilce-semt-mahalle-ve-posta-kodu-sorgulama-sorgu-formu-tum-kayitlar.webp
    60 KB · Görüntüleme: 6
  • il-ilce-semt-mahalle-ve-posta-kodu-sorgulama-sorgu-formu-istanbul-kadikoy-filtresi.webp
    il-ilce-semt-mahalle-ve-posta-kodu-sorgulama-sorgu-formu-istanbul-kadikoy-filtresi.webp
    52.8 KB · Görüntüleme: 8
  • il-ilce-semt-mahalle-ve-posta-kodu-sorgulama-rapor-sayfasina-aktarilan-liste.webp
    il-ilce-semt-mahalle-ve-posta-kodu-sorgulama-rapor-sayfasina-aktarilan-liste.webp
    84.5 KB · Görüntüleme: 8

ExcelDepo tarafından daha fazla dosya

Detaylar
Yazar
ExcelDepo
İndirme
92
Görüntüleme
15,096
İlk sürüm
Son güncelleme
SHA-256
fd491891a4261ecfd9278912af456b7951758b32b443e6a0cc4e24a432ef00c2

Puanlar

5.00 Oylama 2 İnceleme

En son güncellemeler

  1. Türkçe Karakterli Arama ve Bağlantı Hatası Düzeltmeleri

    Veritabanındaki Ğ ve Ş harflerinin ardında görünmeyen bir denetim karakteri bulunduğu için...

En son değerlendirmeler

Paylaşımınız için teşekkür ederim.
ExcelDepo
ExcelDepo
Teşekkürler
Geri
Üst