Access VBA 3D logosu yanında kod modülü ve form event düğmesi silüetleri bembeyaz arka planda premium kompozisyon

Access VBA Eğitimi, katılımcılara Access veritabanlarını hazır araçların sınırının ötesine taşıyacak programlama yetkinliği kazandırır. İster temel düzeyden başlayan ister mevcut bilgisini ileriye taşımak isteyen herkes, formları ve sorguları kendi iş mantığına göre yönetebilir hâle gelir.

Katılımcılar, tekrar eden veri işlemlerini otomatikleştirme ve elle saatler süren süreçleri tek adıma indirme becerisini edinir. Böylece Access, kayıt tutan bir araç olmaktan çıkıp kurumsal ölçekte güvenilen bir çözüme dönüşür.

Access VBA eğitimini şirketinize özel planlayalım. 0 212 951 05 08 · Teklif isteyin

Katılımcı Profili

Bu eğitim aşağıdaki rol gruplarına uygundur:

  • Access kullanıcıları: uygulama haline getirmek isteyenler
  • İş analistleri: süreç akışını form ve butona bağlayanlar
  • Raporlama uzmanları: otomatik rapor ve mail gönderimi kuranlar
  • Geliştiriciler: Access uygulaması bakımı yapanlar
  • Operasyon ve İK: veri girişi ve kayıt yönetimini otomatize edenler
  • Access kullanan veya VBA ile geliştirme öğrenmek isteyenler

Ön Gereklilikler

Eğitimden en yüksek verim için aşağıdaki ön bilgi önerilir:

  • Access'te tablo, sorgu, form ve rapor kullanma deneyimi
  • Mantıksal akış (eğer, döngü) okuyabilme
  • Office programlarında orta düzey deneyim
  • Access kurulu Windows bilgisayar

Süresi ve Tarihi

Süre: 2 gün. Bu süre standart program içindir; ek modüllere ve hedefe göre süre özelleştirilebilir.
Eğitim tarihleri ve saatleri, ekibinizin uygunluğuna göre birlikte planlanır.

Kazanımlar

Eğitim sonunda katılımcı:

  • DoCmd ile form, rapor ve sorgu açma akışını VBA'ya taşır.
  • Form_BeforeUpdate ile veri doğrulama uygular.
  • DAO Recordset üzerinde kayıt döngüsü yapar.
  • QueryDef parametresiyle güvenli dinamik SQL yazar.
  • On Error GoTo ile yapısal hata yakalama kurar.
  • Outlook entegrasyonu ile rapor otomatik gönderir.
  • Çok kullanıcılı kilitlenme çakışmalarını yönetir.

Access VBA Eğitimi Konuları

1. VBA editörü ve Access modül yapısı

  • VBE açma (Alt+F11): Standard Module ve Class Module
  • Form Module ve Report Module: olay tabanlı kod
  • Option Compare Database, Option Explicit zorunluluğu
  • Public, Private, Friend kapsam belirleyicileri
  • Immediate Window (Ctrl+G) ile hızlı test

2. DoCmd nesnesi: makro aksiyonlarının VBA karşılığı

  • DoCmd.OpenForm, DoCmd.OpenReport, DoCmd.OpenQuery
  • DoCmd.RunSQL: direkt SQL çalıştırma
  • DoCmd.TransferSpreadsheet: Excel'e/Excel'den veri aktarımı
  • DoCmd.OutputTo: PDF, RTF, XLSX çıktı
  • DoCmd.SendObject: Outlook ile mail gönderme
  • DoCmd.SetWarnings = False: kullanım disiplini

3. Form ve Report olayları

  • Form_Open, Form_Load, Form_Current
  • BeforeUpdate, AfterUpdate: kayıt değişikliği zincirleri
  • Control olayları: OnClick, OnChange, OnGotFocus, OnLostFocus
  • Form_Error: hata yakalama
  • Report_Open ve Report_NoData event'leri

4. DAO ve ADO Recordset

  • DAO Recordset: Access default, lokal performans
  • ADO Recordset: SQL Server bağlantısı için daha uygun
  • OpenRecordset türleri: Table, Dynaset, Snapshot
  • MoveFirst, MoveNext, EOF, BOF döngüsü
  • AddNew, Update, Delete, Edit metodları
  • FindFirst, FindNext ile kayıt arama

5. SQL'i VBA'da dinamik oluşturma

  • String concatenation ile dinamik SQL
  • SQL injection riski ve parametre kullanımı
  • QueryDef.Parameters: güvenli parametre geçirme
  • CurrentDb.Execute ile sorgu çalıştırma
  • RecordsAffected ile etkilenen satır sayısı

6. Field ve Control referansları

  • Me.ControlName ile aktif form kontrolüne erişim
  • Forms!FormName!ControlName: başka form referansı
  • Recordset!FieldName ile alan değeri okuma
  • Bound vs Unbound kontrol farkı VBA tarafından
  • Subform referansı: Me.SubformName.Form.ControlName

7. If-Then-Else, Select Case ve döngüler

  • If ... Then ... ElseIf ... Else koşul
  • Select Case ile çok yollu karar
  • For ... Next ve Do While döngüleri
  • Recordset üzerinde For Each kullanılmaz: Do Until EOF kullan
  • Nested loop ve performans

8. Hata yönetimi

  • On Error GoTo Label: yapısal hata yakalama
  • Err.Number, Err.Description: Access spesifik hata kodları
  • Resume Next ve Resume Label akışı
  • Custom error logging: tablo bazlı log
  • User-friendly mesajları MsgBox ile gösterme

9. Dialog ve mesaj kullanımı

  • MsgBox: vbYesNo, vbOKCancel, vbExclamation
  • InputBox ile kullanıcıdan değer alma
  • Application.FileDialog: dosya seçim diyalogları
  • Custom dialog form: UnBound form ile
  • StatusBar mesajı (DoCmd.Echo, SysCmd)

10. Dosya işlemleri ve Outlook entegrasyonu

  • FileSystemObject: dosya/klasör işlemleri
  • Dir() ile dosya tarama
  • Outlook Application'ı VBA'dan oluşturma
  • Toplu mail gönderme: Recordset bazlı
  • Excel'e veri pompalama (CreateObject)

11. Çok kullanıcılı çalışma: record locking

  • Recordset.LockEdits: pessimistic vs optimistic locking
  • Form-level record locking ayarları
  • Çakışma hatalarını yakalama (Error 3260, 3197)
  • Retry pattern: kilitli kaydı yeniden deneme
  • Refresh, Requery komutları

12. Performans ve optimizasyon

  • Application.Echo False: ekran çizim yükü azaltma
  • DoCmd.SetWarnings False: onay diyaloglarını kapatma (cleanup şart)
  • Recordset.MoveLast → RecordCount alma
  • Index kullanımı sorguda
  • Sub-form yenileme stratejisi

13. AI ile Access VBA: kod üretme ve hata yorumlatma

  • ChatGPT'den DoCmd zinciri istemi
  • Mevcut Recordset kodunu AI'a açıklatma
  • Karmaşık SQL'i prompt'tan üretme
  • Hata mesajını AI'a verip çözüm önerisi alma
  • AI çıktısının test edilmeden production'a alınmaması

Access VBA Eğitimi ile İlgili
Sıkça Sorulan Sorular ve Cevapları


Access kullanmıyorum, Excel VBA ile farkı nedir?

Excel VBA hücre odaklı, Access VBA kayıt (record) odaklı. Form ve report olayları, DoCmd, Recordset gibi Access'e özgü nesneler farklı. Mantık benzer ama nesneler farklı.

DAO ile ADO arasında hangisi tercih edilmeli?

DAO Access yerel veri için optimize. SQL Server, Oracle gibi dış kaynaklar için ADO. Eğitimde her ikisi de gösteriliyor.

Çok kullanıcılı senaryolarda kilitlenmeyi VBA ile çözebilir miyim?

Evet. Record locking ayarları, On Error ile çakışma yakalama, retry pattern ve refresh stratejisi VBA ile uygulanıyor.

Access uygulamamı .accde olarak dağıtmak güvenli mi?

Evet. .accde VBA kodunu derleyip salt-okunur hale getirir, kullanıcı değiştiremez. Access Runtime ile birlikte Access lisansı olmayan kullanıcıya da dağıtılabilir.

Eğitim içeriğini ihtiyaçlarımıza göre özelleştirebilir misiniz?

Evet. Eğitim öncesinde ihtiyaç analizi yaparak içerik ve örnekleri ekibinize göre uyarlayabiliriz. Modüller eklenebilir, bazı başlıklar derinleştirilebilir veya sadeleştirilebilir.

Eğitimi hangi şehirlerde ve online olarak veriyorsunuz, sertifika veriliyor mu?

Eğitim hem yerinde hem canlı online yapılabilir. Yerinde eğitimi İstanbul, Ankara ve İzmir dâhil Türkiye'nin bütün illerinde veriyoruz; online katılımda ise Türkiye'nin her ilinden, hatta dünyanın her yerinden bağlanabilirsiniz. Takvim birlikte planlanır ve sonunda katılım sertifikası verilir.