Aşağıdaki bölümlerde VBA hakkında yararlı bilgiler sağlanır. Nesne adları, Northwind 2.0 Starter Edition veritabanında kolayca inceleyebilmeniz için sağlanır.
VBA (Visual Basic for Applications), yalnızca Access'te değil tüm Microsoft 365 ürünlerinde kullanılan programlama dilidir. Öncelikle burada belgelenmiştir: Geliştirici belgelerine erişme.Başlamak için bkz. Access programlamasına giriş.
Bilgi ararken Access'e özgü örnekleri aradığınızdan ve arama terimine Microsoft Access'i eklediğinizden emin olun. Genellikle, diğer Microsoft 365 ürünlerine yönelik çözümler çalışır, ancak değişiklik gerektirebilir.
Microsoft Access olgun bir üründür. Bu, dışarıda sizin için harika olan birçok örnek olduğu anlamına gelir. Bu, Access programlamadaki eski kitapların hala göz atabileceğiniz anlamına gelir. Eski kitapların çoğu, orijinal maliyetlerinin bir bölümüyle kullanılmış kitap sitelerinde hala mevcuttur.
Microsoft Access dosyaları Microsoft 365 dosyalarıdır. Microsoft 365 dosyalarının güvenilir bir Konumda olması veya içeriğinin etkinleştirilmesi gerekir. Bu öğeler, siz oluşturduğunuz veya güvenilir bir kaynaktan geldiği için güvenli kabul edilir. Bu denetim, herhangi bir Microsoft 365 dosyasını her açtığınızda gerçekleşir. Bundan sonra bunu güvenilir/etkin olarak adlandıracağız. Uygulamanın yeni bir sürümü yayımlanıp güvenilir olmayan bir konumdan açılırsa, içeriği etkinleştirme işlemi yinelenir. Daha fazla bilgi için bkz. Microsoft 365 dosyaları için Güvenilen Konumlar, Veritabanına güvenilip güvenilmeyeceğine karar verme ve Microsoft 365'te güvenilir bir konum ekleme, kaldırma veya değiştirme.
Makrolar, işlevler ve alt yordamlar, Access veritabanınıza iş mantığı uygulama yönteminizdir.
Formdaki denetimler (düğmeler, metin kutuları, etiketler vb.) kayıtlarını ekleme, silme veya form açma gibi diğer işlemleri tetikleme amacıyla olaylarını (denetime tıklama gibi) kullanabilir. Bu işlemler makrolar veya VBA kullanılarak uygulanabilir. Northwind çoğunlukla makroları ve bazı VBA'ları kullanır. Daha fazla bilgi için bkz. RunCode Makro Eylemi.
Bazı denetim türlerinde otomatik olarak makro oluşturan yerleşik sihirbazlar vardır. Örneğin, forma komut düğmesi eklemek, düğme için çeşitli işlev seçenekleri sunan bir sihirbaz açar. Birleşik giriş kutusu eklemek, formda belirli bir kaydı bulmak için yapılandırılabilir bir sihirbaz açar.
Gezinti Bölmesi, tüm veritabanı nesnelerinizi görüntülemenizin ve erişmenizin ana yoludur ve varsayılan olarak Access penceresinin sol tarafında görüntülenir. Northwind 2.0 Starter Edition Gezinti Bölmesi özelleştirildi. Northwind Starter 2.0 adlı özel bir kategori oluşturduk. Bu, nesneleri işlevsel alana göre düzenlememizi sağlar. Daha fazla bilgi için bkz. Gezinti Bölmesini Özelleştirme.
Access ve Microsoft 365'in kapsamı ve görünürlüğü hakkında bilgi edinmeniz önemlidir. Kapsam, başka bir yordam tarafından kullanılmak üzere bir değişkenin, sabitin veya yordamın kullanılabilirliğini ifade eder. Üç kapsam düzeyi vardır: yordam düzeyi, özel modül düzeyi ve genel modül düzeyi. Bir değişkeni bildirirken kapsamı belirlersiniz. Farklı kapsamlara sahip değişkenler arasında adlandırma çakışması hatalarından kaçınmak için tüm değişkenleri açıkça bildirmek iyi bir fikirdir. Tüm modüllerin iki yönerge deyimi vardır: Option Compare Database ve Option Explicit. Daha fazla bilgi için bkz . Kapsamı ve görünürlüğü anlama, Public deyimi, Özel deyim, Statik deyim ve Değişkenlerin ömrünü anlama.
Bazen, onu oluşturan nesne kapsam dışına çıktıktan sonra bir değişkenin var olması gerekir. Bunu yapmanın üç birincil yolu vardır: Genel Değişkenler, TempVars ve değerleri yerel tabloda depolama. Bunların her birinin artıları ve eksileri vardır. Birçok geliştirici bunların bir karışımını kullanır.
Geçerli oturum için ortak değişkenler ve TempVars var ve uygulama kapatıldığında kapsam dışına çıkıyor. Kullanıcıya özgü değişkenleri oturumlarında tutmak istiyorsanız ne olur? Bu tür değerleri yerel bir tabloda depolayabilirsiniz. Northwind 2.0 Starter Edition'da bu değerler SystemSettings adlı bir tabloda yer alır. Örneğin, tablodaki bir değer "ShowWelcome" şeklindedir. Bu değer, her oturum açtığınızda hoş geldiniz ekranını görmek isteyip istemediğinizi bildirir.
Access'te yerleşik olarak bulunan denetim sihirbazlarından birini kullandıysanız, bir makro oluşturulursa, çoğu zaman hata işleme olmadığını ve VBA oluşturulursa, bunun MsgBox İşlevi, Err.Description stiliyle sınırlı olabileceğini bilirsiniz.
Northwind 2.0 Starter Edition'da genel hata işleyicisi olarak adlandırılan şeyi uyguladık. Herhangi bir yordamda oluşan hatalar, genel düzeyde bir işlevi çağırarak hatayı gösterir. En büyük avantajı kodun tutarlı olmasıdır ve örneğin hata numarasını göstermek veya hatayı bir dosyaya kaydetmek gibi iletinin değiştirilmesi gerekiyorsa, yalnızca tek bir yerde yapılabilir.
clsErrorHandler, hata işleme kodunu uygulayan sınıf modülüdür. Sınıf modülü tüm ana ve yardımcı işlevlerini tek bir ünitede bir arada tutarak kodu daha kapsüllenmiş hale getirir. AutoExec makrosunun sonunda modStartup içindeki startup işlevi çağrılır, clsErrorHandler örneği oluşturulur ve uygulama genelinde kullanılabilmesi için bunu genel değişken olarak kaydeder.
Aslında, yordamlardaki hata işleme kodu o kadar tutarlıdır ki, her yordamı uygun hata işleyicisi ile donatılmış bazı süslü VBA kodu kullanarak beş dakikadan kısa bir süre içinde tümünü oluşturabildik. Bu kod şablona dahil değildir.