Sitemize Hoşgeldiniz

Türkiye'nin en geniş özeliklere sahip forumu olan ExcelDestek.Com üzerinde soru sorabilmek, daha önceki sorulan sorulara, açılan konulara cevap yazabilmek, puan kazanabilmek, kazandığınız puanlar ile dosya indirebilmek ve çok daha fazla özellikten yararlanabilmek için sitemize üye olunuz.
Hemen Üye Ol ya da Giriş Yap

Sorun Cevaplayalım

Excel'e dair sorularınızı sorun, cevaplayalım.

Çözümlenmiş Sorular

Kullanıcılarımızın sorularını ve sunduğumuz çözümleri inceleyin.

Destek Ekibimiz Sizlerle

Ücretli destek ve özel hizmet talep edebilirsiniz.

Makrolar Eski Ama Sadık Dostumuz ADO

Admin

Kurucu
Yönetici
Kurucu
SMS Onaylı
Katılım
1 Eki 2018
Mesajlar
846
Yaş
40
Web Sitesi
www.orkmes.com
Excel Versiyonu, Dili
Excel 2019 EN

Reputation:

ADO, İngilizcedeki Active Data Object kelimelerinin ilk kelimelerinden oluşan bir kısaltmadır. Türkçe anlam olarak bakarsak Aktif Veri Nesnesi olarak çevirebiliriz.
Microsoft ActiveX Veri Nesneleri (ADO), istemci uygulamalarınızın bir OLE DB sağlayıcısı aracılığıyla çeşitli kaynaklardan verilere erişmesini ve bunları değiştirmesini sağlar. Başlıca yararları kullanım kolaylığı, yüksek hız, düşük bellek yükü ve küçük bir disk alanıdır. ADO, istemci / sunucu ve Web tabanlı uygulamalar oluşturmak için temel özellikleri destekler, bir tabloyu veya tabloları, ilişkisel bir veri tabanında sorgulamak, sonuçları bir uygulamaya almak, verilerde değişik yapmak, kaydetmek, yeni veriler eklemek veya silmek için kullanıcılara güçlü ve pratik bir ortam ve araçlar sağlar.

ADO aşağıdaki aşağıdaki görevleri yerine getirebilir:
  • İnternet üzerinden bir dosya deposundaki bilgilere erişme.
  • Bir e-posta sistemindeki mesajları ve klasörleri değiştirme.
  • Veriyi bir veri tabanından bir XML dosyasına kaydetme.
  • XML ile açıklanan komutları çalıştırma ve bir XML akışını alma.
  • Verileri bir ikili ya da XML akışına kaydetme.
  • Kullanıcının veri tabanı tablolarındaki verileri incelemesine ve değiştirmesine izin verme.
  • Parametreli veri tabanı komutları oluşturma ve yeniden kullanma.
  • Saklı yordamları (stored procedures- sql ifadeleri topluluğu) yürütme.
  • Verileri tutmak, yönlendirmek ve işlemek için dinamik olarak Recordset (kayıt seti) adlı esnek bir yapı oluşturma.
  • İşlemsel veri tabanı işlemlerini gerçekleştirme.
  • Çalışma zamanı ölçütlerine göre veri tabanı bilgilerinin yerel kopyalarını filtreleme ve sıralama.
  • Veri tabanlarından hiyerarşik sonuçlar oluşturma ve düzenleme.
  • Veri tabanı alanlarını veri tanıyan bileşenlere bağlama.
  • Uzak, bağlantısı kesilmiş Recordsets oluşturma.
ADO, bu esnek ve pratikliği sağlamak için çok çeşitli seçenekler ve ayarlar sunar. ADO’yu uygulamalarımızda nasıl kullanacağınız anlamak ve yönetilebilir parçalara bölebilmek için düzenli ve planlı bir yaklaşım sergilememiz faydalı olacaktır. ADO kullanan çoğu uygulamada dört ana işlem söz konusudur, bunlar; veri alma, veri inceleme, veri düzenleme ve veri güncellemedir. Bizim de kullanım amacımız veri ekleme, sorgulama ve görüntüleme, değiştirme ve silme olacaktır.

Başlıkta eski dost dedim, çünkü ADO.NET çıktı. ilk zamanlar VBA user formlarının ADO.NET araçlarını desteklemesini bekledim ancak artık umudum kalmadı. Açıkçası gerek de yok, bizim klasik ADO zaten işini çok da güzel yapıyor. Sadık dedim, çünkü hala destekleniyor, 3 yılda bir yeni yeni şeyler öğrenmenize gerek kalmıyor.

Excel, Word, Outlook, Access gibi Microsoft ofis uygulamaları VBA kullanmamıza olanak sağlar. Bunlardan Access’in kendine özgü formları vardır, zaten veri için olduğundan pek çok işlem otomatikleşmiştir. Ayrıca Access standart ofis paketlerinde bulunmamaktadır. Office pro ve üzeri paketler de oldukça pahalıdır. Eğer işletmenizde Access ile bir uygulama geliştirecek ve kullanacaksanız, uygulamanızın kullanılacağı her bilgisayar Access yazılımına, dolayısı ile ofis pro sürümüne ihtiyaç duyacak bu da ofis yazılım maliyetinizi en az iki kat artıracaktır. Hâlbuki Excel veya Word çok yaygın olup hemen hemen her bilgisayarda kuruludur. Standart ofis sürümleri vba desteği ile user formlar kullanmamıza olanak tanır.

Excel genelde hesaplama ve veri amaçlı kullanıldığından kendi sayfaları da, user formları da ADO uygulamaları için çok kullanışlıdır. Excelde ADO ile çalışmak çok ama çok zevklidir de aslında. Örneğin Visual Studio veya diğer araçlarla karşılaştırılamayacak derecede kullanışlı uygulamalar yapılabilir, tabiki yazılımcı iseniz. Ama pek çoğumuz yazılımcı değiliz. Çoğumuz muhasebe, personel, üretim, pazarlama ve satış, müşteri ilişkileri, kalite gibi bölümlerde çalışan kişileriz. Verilerimiz bazen bir MSSQL, mysql, portresql gibi serverlarda, bazen Access mdb, Excel xls, csv, txt gibi dosyalarda olabiliyor. Bu verilere etkin, kolay, hızlı ve güvenilir olarak ulaşmamız ve veriler üzerinde kontrol sahibi olmamız gerekiyor. Eğer SQL ve VB scrtipt biliyorsak, vba’da Excelde hücre sayfa işlemleri ve user formlarda textbox, listbox, buton gibi araçları kullanmayı da öğrendiğimizde işimiz oldukça kolaylaşıyor. Verileri kendi istediğimiz gibi listeleyip, kendi istediğimiz gibi işleyebiliyoruz. Çoğu zaman yazılım firmalarının peşinde koşturmamıza gerek kalmıyor.

Şöyle düşünelim, firmanızda 20 kişi aynı veri kaynağını kullanıyor. Kimisi veri giriyor, kimi raporluyor. Çok da karmaşık değil veri yapısı. Bu veriler de webden izlenebiliyor. Nasıl kurgulayabiliriz; veri kaynağını, ağda belirli bir klasörde bir sabit dosya (genelde Access mdb) olarak veya server veri tabanında tutulacak şekilde seçeriz. Excelde userformda uygulamayı yazarız, ancak ADO ile herkesin kullandığı yani ortak veri kaynağına bağlanırız. ADO dosyayı veya veri tabanını sadece işlem esnasında meşgul eder. Sorguladığınızda güncel verileri görürsünüz. Web de de yine bu veri kaynağından aldığınız verileri görüntüler ve hatta üzerinde işlem yapabilirsiniz. Böylece çok kullanıcılı bir yazılımınız olur. Kulağa güzel geliyor dimi. Neden olmasın, araştırma, öğrenme ve denemeyle herkes yapabilir.

Şimdi bu bilgiler giriş niteliğindeydi. Yazının bir bölümünde Microsoft sayfalarından faydalandım (
Değerli ziyaretçimiz lütfen, içeriği görüntüleyebilmek için Giriş Yap veya Kayıt Ol anlayışınız için teşekkürler.
).
Bazı kısımlarında da adını hatırlamadığım İngilizce sitelerden de alıntılarım oldu.
Sonraki anlatılarımda daha çok icraatlara yani uygulama ve kodlara yer vermeye çalışacağım. Uygulamalar genelde açık veya kapalı Excel dosyalarından, Access mdb dosyalarından, mysql veya mssql veri tabanı sunucularından verilere ulaşma, sorgulama, ekleme ve silme üzerine olacaktır.
 
Üst