(20/07/2009, 08:39)mariachi232 yazdı: mehmet hoca çok saol bu şekilde anlamlı paylaşımlar gerçekten çok iyi oluyor bide aklıma takılmışken sorayım. bu siteden incelemek için vtabanları indirdiğimde görüyorumki çok kişi modül kullanarak hazırlmışlar fakat ben yaptığım vtabanlarında gerek iyi yazılım bilmediğimden gerekse ihtiyaç duymadığımdan modül kullanmıyorum bu bi eksiklikmidir yani modül kullanmadan bu iş olmazmı tavbi zamanla ihtiyaçlar artacak bundan dolayı kullanmam gerekebilir fakat modülsüz yapmanın herangi bi sakıncası olabilirmi. birde Access öğrenmenin çok iyi bi yolu varmı demek istediğim bu işi öğreten sağlam bi kaynak kitap varmı piyasada
Kusura bakmayın, yeni gördüm sorunuzu. Modül kullanımı ile ilgili bir şart yok. Modüller, kullandığımız karmaşık bir sürü komutun bir arada sunulmasıdır aslında. Diyelim ben sayıları yazıya çeviren birçok komut kullanarak bir çalışma yaptım. Oysa siz de böyle bir çalışmayı bir projenizde kullanmak istiyorsunuz. Tekrar aynı şeyleri yazmak zorunda kalacaksınız. Oysa bunlar bir modülde olsa ve siz sadece adını çağırsanız? O zaman bulunduğu noktadan modül devreye girerek, benim yazdığım kodları kullanarak işinizi yapsa.. Ne güzel olur di mi? İşte modüller bu şekilde kullanılıyor.
Şahsen ben kendim yazmak zorunda kaldığımda sub kullanıyorum. Tıpkı modül gibi onu da program içinden çağırabiliyorum. Farkı ne derseniz, modül daha taşınabilir, paylaşılabilir ve globaldir. Global olması, programın herhangibir yerinden çağırılması anlamına geliyor. Bu bakımlardan modül daha kullanılışlıdır.
Sub olayı da şöyle. Diyelim bir formumuz var. Diyelim bu form içinde birden çok kullanacağımız komutlar dizisi var. Mesela her işlemden sonra kayıt ileri- geri ve requery yapacağız. Bunun için şu komutları her seferinde kullanmamız lazım
Kod:
DoCmd.GoToRecord , , acNext
DoCmd.GoToRecord , , acPrevious
me.form1.requery
Bu çok daha uzun da olabilirdi. Şimdi bunu bir kez kullansak sorun değil. Ama bunu aynı form içinde 10 kez kullanmamız gerektiğini düşünün. Mesela form açıldığında, yeni kayıt açıldığında, kayıt silindiğinde vb.. Her defasında bunu yazmak veya yapıştırıp programı şişirmek yerine
Kod:
Sub guncelleme()
DoCmd.GoToRecord , , acNext
DoCmd.GoToRecord , , acPrevious
me.form1.requery
End Sub
yazarız. Böylece o form üzerinden herhangi bir zamanda
guncelleme (gel oğlum
diye bu sub'ı çağırırız. Modül de tıpkı bunun gibidir ama ayrılabilir, taşınabilir olması ve global olması nedeniyle her yerden çağırılabilmesi vb. gibi nedenlerle yerine göre daha kullanışlıdır.
Kolay gelsin. Umarım yararlı olmuştur.
İnadına, ille de Accesstr.net...