Slider Control (ActiveX) Kullanımı ve Örneği

Merhaba arkadaşlar..

Bu başlıkta ActiveX denetimlerinden Microsoft Slider Control (versiyon 6) kullanımı hakkında ipuçları vermeye çalışacağım..

Slider (kaydırıcı) denetimini uygulamalarımızda pek kullanmayız ama ekte de verdiğim uygulamada göreceğiniz gibi veriler üzerinde bize kolaylık sağlayabilecek, çalışmalarımızı özgün hale getirebilecek bir yapıya sahiptir..

Kendisi şu tipte bir şeydir..

[Resim: slider2.jpg]

Bu denetimi formumuza yerleştirmek için Araç Kutusu / ActiveX Denetimleri / Microsoft Slider Control yolunu kullanabilirsiniz..

Slider özelliklerinden bir kaçını açıklarsak sanırım kullanımı hakkında da fikir sahibi olabiliriz..:

Slider özelliklerini açalım.. Diğer sekmesindeki Özel seçeneğine imleci yerleştirdiğimizde sağda bir düğme çıkacak.. Ona tıklayalım..:

[Resim: slider3.jpg]

Min..: Başlangıç değeri verir.. Slider 1 den 10 kadar gitsin dersek burası 1 olmalı..

Max..: Bitiş değeri verir.. 10′nun yazılacağı yer..

SmallChange..: Fare kullanmada klavyenin sağ ve sol ok tuşları ile slider üzerinde gezindiğimizde zıplayacağı tırnak aralığını bu kısımda belirleyebiliriz.. Örneğin değeri 3 yaparsak ve tuşlarla sağa ya da sola kaydırırsak 3′er 3′er tırnak atlar..

LargeChange..: Üsteki özelliğin benzeri.. PageUp ve PageDown tuşlarını kullanarak zıplayacağımız tırnak aralığını yazacağımız yerdir..

SelectRange..: Bu özelliği aktif ettiğimizde slider ortasında bir çubuk belirir.. Alttaki özellikleri kullandığımızda şık bir görüntü katar…:

Eğer üstteki özellik yani SelectRange aktifse alttaki özelliklere vereceğimiz değerler parmağı kaydırdıkça çubuğun maviye boyanmasını sağlar..

SelStart..: Boyanmanın başlayacağı Min değer.

SelLength ..: Boyanmanın biteceği Max değer.

SelectRange ve buna bağlı diğer özelliği aktif ettiğimizde slider bu görünümü alır..:

[Resim: slider4.jpg]

Diğer sekme bulunan Orientation özelliği slider denetimini dikey ya da yatay hale getirmemize yarar.. Varsayılan yataydır.. TickStyle ise tırnakları sağda, solda görünmesini veya hiç görünmemesini belirleyebileceğimiz yerdir..

Genel kullanımda ihtiyacımız olan özellikler bunlar.. Peki bunlarla neler yapabiliriz? Bunun cevabı da hazırladığım örnekte..:

[Resim: slider.jpg]

 

  1. Burada gördüğünüz gibi slider denetimini dikine kullandım.. Tırnaklar arasında gezindikçe hızlıca kayıt arasında dolaşabiliyoruz.. Tabi bu olay kodlarla oluyor.. Kod sayfasında ilgili kısımları görebilirsiniz..
  2. Bence en efektif kullanım burada oldu.. Gireceğimiz tarih verisini Gün Ay Yıl olarak ayrı ayrı atayabiliyoruz.. Buradaki min ve max değerlere dikkat..
  3. Burada spesifik bir kullanım var.. Başka tablodaki verileri kutuya değer olarak atayabiliyoruz.. Min ve Max değerler veri kaynağındaki kayıt sayısına göre belirleniyor. İncelediğinizde göreceğiniz gibi tırnaklar arasında dolaşırken slider ipucu metni sayı değil, atayacağımız değeri gösterir..
  4. Burada SelectRange özelliği aktif ve SelLength, SelStart değeri atanmış bir slider kullandım.. Ayrıca burada değerlerin 10′ar lı artmasını sağladım..

Slider denetiminde bu hareketleri sağlamak için kullanacağımız en efektif iki ayrı olay yordamı var.. Biri On Scroll diğeri de On Change yordamı.. Bu yordamlara özellikler penceresindeki olay sekmesinden ulaşamıyoruz ne yazık ki.. Ulaşmak için VBA editörünü açıyoruz ve ilgili kısımlardan seçim yapıyoruz..:

[Resim: slider5.jpg]

Scroll olayına yazacağımız kod, parmakla (bakınız ilk resim) tırnaklar arasında gezindikçe olay devrede olur.. Change olayı da slider değeri değişince yordam sonuçlandırır.. Örnekte ağırlıkta On Scroll kullandım.. On Change kullanımını Maaş değerini değiştirdiğinizde görebilirsiniz..

Bence bu denetimin ActiveX olarak değil (bezdirici ActiveX hataları malumunuz), araç kutusu içerisinde sabit elemanlardan biri olması gerekir.. Genelde ses denetimi, renk oluşturma gibi saçma sapan işlerde kullanıldığı için veri yönetimi temalı örnekler içerisinde fazlaca kullanılmıyor.. Umarım hazırladığım bu örnek sayesinde -özellikle çalışmalarına farklılık katmak isteyen- Access dostlarına bir ilham vermiş oluruz..
Not..: Yukarıda bahsettim gibi AxtiveX denetimleri faklı sürüm ve işletim sistemlerinde hata verebilir.. Eğer örnek dosyanın açılışında ve kullanım esnasında hata aldıysanız hataları pas geçip formu kapatıp tekrardan açınız..
Taruz..

Taruz.Com

, ,

Yorum yok

Gelişmiş Yönetici Araçları (Yönetim Paneli)

Merhaba arkadaşlar..

Access ile hazırladığım uygulamalarımın hemen hepsinde daha önce sizlerle de paylaşmış olduğum, yetkilendirme, kayıt gözlemleme, yedekleme vb. araçları kullanırım.. Forumlarda paylaşılan örneklerde gördüğüm kadarı ile de bir çok üyemiz bu araçlara ilgi gösterip çalışmalarına ekliyorlar.. Bu araçlar farklı zamanlarda hazırladığı için beraberce kullanıldıklarında (özellikler ortak kullanılan tablolarda), çeşitli düzenlemeler gerektiriyor.

Hazırladığım bu araç tüm bunları tek bir dosyada birleştirdiği gibi, bir uygulama yöneticisinin/hazırlayıcısının ihtiyaç duyabileceği bir çok seçeneği de içerisinde barındırıyor..

[Resim: genel.jpg]

Özellikleri konusunda kısaca bilgi vereyim..:


Genel ve Özel Ayarlar

Bu bölümde uygulamanızı özelleştirebileceğiniz seçenekler mevcuttur.

Uygulama Başlığı
Burada belirleyeceğiniz başlık Access penceresinin üst kısmında ve bildirim çubuğunda görünecektir..
Ayrıca açılış formunda da bu bilgi uygulama ismi olarak atanacaktır..

Uygulama Simgesi
İstediğiniz bir simgeyi bu bölümden seçerek hem uygulamanın hem de form ve raporların sol üstündeki simgelerin yerine kullanabilirsiniz.

Seçeceğiniz simge resmi *.ico uzantılı olmalıdır.

Açılış Formu
Seçtiğiniz form dosyanızı açtığınızda ekrana otomatik olarak gelir..
FKullaniciGiris formunu seçmenizi öneririm. Bu form kullanıcı adı ve parola ile giriş yapılmasını sağlar..

Gezinti Bölmesi
Sol tarafta bulunan, uygulamanızdaki Form, Rapor, Sorgu vb. nesneleri gösteren paneli gizler ya da gösterir..

Şerit Menü
Üst bölümdeki şerit (Ribbon) menüyü gizler ya da gösterir..

Kapat / Önceki Boyut / Simge Durumu Düğmeleri
Uygulama başlığının sağında gördüğünüz ilgili düğmeleri gizler ya da gösterir..

Access Penceresi
Access penceresini gizler ya da gösterir..

Bu özelliği kullanabilmek için tüm form ve raporların Özellikler / Diğer / Açılan ve Kalıcı seçeneğinin Evet olması gerekmektedir..

Raporların ayrıca Açıldığında Olay Yordamına DoCmd.Maxsimize komutu uygulanmalıdır..

Ayrıntılı bilgi ve videolu anlatım için tıklayınız..

Shift Tuşu Engeli
Access penceresini gizlediğimizde veya özel menülere ulaşılmasını engellediğimizde, dosyamız shift tuşuna basılı halde açıldığında tüm bu özelleştirmeler kaybolur.. Yani shift tuşu tüm tasarımı ortaya çıkartır.

Buradaki seçenekler sayesinde shift tuşu ile açılmayı engelleyebilir veya tersini yapabiliriz..

Sağ Klik
Fareye sağ tıklayınca ortaya çıkan Access’e ait özel menünün açılmasını engelleyebilir veya izin verebiliriz..

Parola Formundan Sonra Açılacak Form
Kutudan seçeceğiniz form, eğer açılış formu olarak kullanıcı giriş formunu seçmişseniz, doğru giriş sonrası açılacak olan formdur.

Belli Bir Süre İşlem Yapılmazsa Kapansın
Eğer seçenek aktif ise kullanıcı, belirlediğiniz süre içinde uygulamada işlem yapmazsa tüm açık formlar kapatılır ve açılış formuna yönlendirilir.

Kullanıcılar
Bu bölümde uygulamanıza kullanıcılar ekleyebilir, bu kullanıcıları düzenleyebilirsiniz veya silebilirsiniz.

Yönetici Özel Parolası
Kullanıcılar bölümünde bazı işlemler özel parola gerektirir.. Bu parolanın sabit olmaması için saat verisi kullandım.

Bilgisayarınızın bildirim çubuğunun en sağındaki saat bilgisi yönetici özel parolasıdır..
Diyelim ki saat 17:25 :
[Resim: saat.jpg]
Bu durumda parolamız 1725 dir..

Yedekleme

Bu bölümde uygulamanızı hem Access hem de WinRar olarak yedekleyebilirsiniz..
Bağlı tablolar kullanıyorsanız, bu tabloların bulunduğu dosya da aynı şekilde yedeklenecektir.
Uygulama temelde iki türlü çalışır..:

1. Elle, yani kendiniz yedekleme alırsınız..
2. Otomatik, siz hiç elinizi sürmeden uygulamanız yedeklenir..

Kullanımı hakkında ayrıntılı bilgi ve özgün uygulama için tıklayınız..

Kayıt Casusu

Bu özellik sayesinde kullanıcıların, formlar üzerinde yaptıkları tüm işlem hareketlerini gözlemleyebiliriz..

Bu konuyu biraz daha açmak gerekirse; kullanıcının yaptığı tüm değişiklikler ayrı bir tabloda,

  • Kullanıcının adı,
  • Değiştirilme zamanı,
  • Değişikliğin yapıldığı formun adı,
  • Değişikliğin yapıldığı kayıt kaynağı (tablo ya da sorgu ismi),
  • Hangi kaydın değiştiği (kaydın kimlik numarası),
  • Değişikliğin yapıldığı denetim adı (metin kutusu, açılan kutu vb.),
  • Değiştirilen veri,
  • Değiştirilen verinin yerine ne girildiği,
  • Kayıt tümüyle silindi ise bunun açıklaması,
  • Yeni bir kayıt girilmiş ise bunun açıklaması

bilgilerini kayıt altına alınıyor..

Kullanımı hakkında ayrıntılı bilgi ve özgün uygulama için tıklayınız..

Yetkilendirme
Bu araç sayesinde uygulamanızdaki kullanıcı gruplarına, form ve rapor nesnelerini görüntüleme ve de bu nesneler üzerinde işlem yapma yetkilerini belirleyebilirsiniz..

Uygulamanızda birden çok kullanıcı tanımlı ise oldukça yararlı olacak bir eklentidir..

Grup ekleme ve silme işlemleri Yönetici Özel Parolası gerektirir.. Bakınız Kullanıcılar..

Kullanımı hakkında ayrıntılı bilgi, özgün uygulama ve sorularınız için tıklayınız..

Bilgisayar Bilgileri
Berkant Öztürk‘ün WMI kullanarak hazırladığı bu modül sayesinde ilgili bölümde göreceğiniz bilgileri almak çok kolay..

Ayrıntılı bilgi ve özgün uygulama için tıklayınız..

“Uygulamayı kendi çalışmalarınızda kullanmak için Deneme adıyla başlayan form, tablo, raporlar hariç diğer tüm nesneleri kendi dosyanıza çekmeniz yeterlidir. Kendi uygulamanıza çekme durumunda bazı özelliklerin kullanılabilmesi için gerekli olan referanslar da ekteki resimde gösterilmiştir.”

Kullanıcı açılış parolası, her kullanıcının ilk harfidir..

Taruz.Com

, , , , , , ,

2 Yorum

Sesli Karşılama ve Uyarı Mesajları

Merhaba arkadaşlar..

Epeydir aklımdaydı… Sevgili dostum Berkant‘ın hazırladığı Sesli Okuma – Text To Speech örneğini kullanarak bir uygulama hazırlamak istiyordum; anca fırsat buldum.

[Resim: seslimesaj.jpg]

Bu uygulama ile çalışmalarımızda kullandığımız mesajları kullanıcıya aynı zamanda sesli olarak da iletebiliriz..

Uygulamaya, açılışta kullanıcıyı selamlayarak karşılayan ilave özellik daha ekledim..

Kendi uygulamalarınızda kullanmak için formunuza ActiveX kutusundan Windows Media Player yerleştirmeniz ve modülü çekmeniz yeterli.. Ekteki dosyada bulunan formda kullanımını örnekledim..

Çalışmalarına farklılık katmak isteyenlerin ilgisini çekecektir..

Taruz.Com

, , ,

1 Yorum

Kayıt Casusu

Kayıtlarda Yapılan Değişiklikleri Gözlemleme Örneği

 

[Resim: casus1.jpg]

Merhaba değerli arkadaşlar..

Bazen, uygulamalarımızı başkalarının kullanımına açtığımızda tüm inisiyatiflerin yine de bizde olmasını istediğimiz durumlar olabiliyor.. Forumumuzu sürekli takip eden üyelerimiz bilir, bu konuda daha önce Gelişmiş Kullanıcı ve Grup İzinleri Belirleme Örneği adında bir uygulama daha hazırlamıştım.. Bu uygulama ile kullanıcıların yapabileceği işlemleri denetim altına alıyorduk..

Şimdi sizlerle paylaşacağım, KAYIT CASUSU adını verdiğim serinin bu son uygulaması ile de kullanıcıların form üzerinden yaptıkları tüm değişiklikleri kayıt altına alıyoruz..

Bu konuyu biraz daha açmak gerekirse; kullanıcının yaptığı tüm değişiklikler ayrı bir tabloda,

  • Kullanıcının adı,
  • Değiştirilme zamanı,
  • Değişikliğin yapıldığı formun adı,
  • Değişikliğin yapıldığı kayıt kaynağı (tablo ya da sorgu ismi),
  • Hangi kaydın değiştiği (kaydın kimlik numarası),
  • Değişikliğin yapıldığı denetim adı (metin kutusu, açılan kutu vb.),
  • Değiştirilen veri,
  • Değiştirilen verinin yerine ne girildiği,
  • Kayıt tümüyle silindi ise bunun açıklaması,
  • Yeni bir kayıt girilmiş ise bunun açıklaması

bilgileri kayıt altına alınıyor..

Kullanıcının sadece metin kutusu ve açılan kutu üzerinden yaptığı değişiklikleri değil onay kutusu veya seçenek grubunda yaptığı kayıt değişiklikleri de görebiliyoruz.. Önemli olan denetimin bir kaynağa bağlı olması..

[Resim: casus2.jpg]

Çalışmayı uygulamanızda kullanmak için Kayit_Casusu ile Oturum isimli modülleri ve Tbl_Guncelleme_Kaydi isimli tabloyu çekiniz..

Sonrasında hangi formda kullanmak istiyorsanız (Tipi önemli değil. Tek form ya da Sürekli form olabilir) o formun Güncelleştirme Öncesinde kısmına

 Call KayitCasusu(Form, [Kayıt Kimliği])

yazmanız yeterli..

Burada dikkat etmeniz gereken tek nokta [Kayıt Kimliği] kısmına formunuzdaki benzersiz alanın bulunduğu denetimin ismini yazmanız gerekiyor (PersonelNo, UrunNo vb.).. Bu sayede güncellemelerin hangi kayıt üzerinde yapıldığını öğrenebileceğiz..

Yukarıdaki işlem sadece değiştiren kayıtları bize bildirir.. Siz, “kullanıcı kaydı sildiğinde veya yeni kayıt eklediğinde de haberim olsun.” derseniz eğer, silinme olayı için formunuzun Silindiğinde yordam kısmına

 Call Silinme(Form, [Kayıt Kimliği])

yazınız.. Yeni kayıt içinse Ekleme Sonrasında yordamına

 Call Ekleme(Form, [Kayıt Kimliği])

yazmanız yeterli.. [Kayıt Kimliği] kısmını düzenlemeyi unutmayınız..

Uygulamanın üzerinde çalışıldığı örnek ektedir.. Şifreler aynı..: 123

Taruz.Com

, , , , ,

2 Yorum

Gelişmiş Kullanıcı ve Grup İzinleri Belirleme Örneği

[Resim: kp7.jpg]

Merhaba..  

Hazırladığım bu örneğin çalışma prensibini bir senaryo ile anlatmak sanırım daha açıklayıcı olur..:  

Diyelim ki çalıştığımız mağaza için bir uygulama yaptık ve bu uygulamayı diğer personel arkadaşlarımızla beraber kullanacağız.. Fakat sorun şu ki, bu kapsamlı uygulamamızda herkesin her formu açıp her işlemi yapmasını istemiyoruz.. Buna göre bir izin ve erişebilirlik düzeni hazırlamamız lazım..
Şimdi bunu Access’in kendi seçenekleri dışında kendimiz uygulamamız üzerinden yapalım..  

Uygulamayı biz Yönetici yetkisi ile kullanacağız..  

Mağazamızda Kasiyer olarak görevli Gamze için Yönetici Kontrol Panelimizi açıp önce Kullanıcı Grupları kısmından Kasiyer adı ile bir grup oluşturalım sonra Kullanıcılar kısmından Gamze’nin kaydını yapalım..  

[Resim: kp1.jpg]  

Daha sonra uygulamamızı kullanacak diğer kişiler için de ayrı ayrı Kullanıcı Grupları oluşturup kayıtlarını yapalım..  

[Resim: kp2.jpg]  

Gruplarımız şu şekilde oluşturalım..:  

Yönetici, Kasiyer, Depocu, Muhasebe, Ziyaretçi..  

İlave olarak, grupları oluştururken formların zemin rengini de her gruba göre farklı bir renk belirleyebiliyoruz..  

Tüm bu grupların kullanıcı kayıtlarını yaptıktan sonra uygulamamızı nasıl kullanacaklarını şekillendirelim..  

Yönetici, tüm uygulama üzerinde her işlemi yapma hakkına sahip olacak..  

Kasiyer, kayıt ekleyebilmeli, görüntüleyebilmeli, ama mevcut kayıtlar üzerinde silme ve düzenleme yapamamalı..  

Depocu da aynı Kasiyer yetkisine sahip olmalı.. (Kasiyer ile yetkisi aynı ise neden ayrı grup oluşturduk birazdan belli olacak) Yani tüm formlara sadece yeni kayıt ekleyebilsin..  

Muhasebe grubuna kayıt girişi ve düzenleme izni verelim ama kayıtları silemesin..  

Ziyaretçi ise uygulamayı sadece görüntüleyebilsin.. Başka hiçbir şey yapamasın..  

Şimdi Kontrol Panelimizden Nesne – Grup İzinleri kısmına gidip Grup İzinlerinin haricinde yukarıda belirlediğimiz izin ve yetkileri oluşturalım..  

[Resim: kp3.jpg]  

Evet, artık gruplarımıza bağlı kullanıcılar bu izinlere göre formları görüntüleyip; kayıt ekleme, kayıt düzenleme veya kayıt silme işlemlerini yapabilecekler..  

Ama biz şunları da istiyoruz;  

  • Kasiyer Gamze sadece Satış formundan kayıt yapabilsin, Alış formunu göremesin bile..
  • Depocu Mustafa da sadece Alış formunu görsün.. Ama Mustafa Satış formunu göremesin.
  • Mustafa (Depocu) ve Gamze (Kasiyer) Durum formunu görebilsinler fakat (hatırlatalım; iki grup da normalde aynı izinlere sahip) Gamze bu formdan kayıt yapabilsin ama Mustafa yapamasın.
  • Muhasebeci Kamil tüm formları görebilsin ve grubundaki izinlere göre işlem yapabilsin. Ama Satış formundaki kayıtları düzenleyemesin..
  • Yönetici haricindeki gruplar Yönetim Kontrol Paneli formunu göremesinler..

Nesne – Grup İzinleri kısmından yukarıdaki izinleri oluşturalım şimdi..  

[Resim: kp4.jpg]  

Hazırladığım bu uygulama ile bunun gibi daha bir çok izin tanımlaması yapabilirsiniz.. Form ve Rapor isimleri kendiliğinden gelmektedir, ayrıca girmeyeceksiniz.. Ayrıca dilediğiniz kadar kullanıcı ve grup ekleyebilirsiniz.. Grup isimleri örnek için verilmiştir, istediğiniz ismi atayabilirsiniz.. Her grup için yedi ayrı renkten birini seçerek form zeminlerini o grubun oturumuna göre renklendirebilirsiniz.. Tüm bunları ve daha fazlasını Yönetici Kontrol Paneli olarak tanımlağımız tek bir form üzerinden yapabilmekte işin güzel kısmı..  Bu forma ilaveler yaparak daha farklı işlemler içinde düğmeler yerleştirilebilir.. (Yedekleme, aktarma vb.)  

Son olarak, form ve raporlarınızın yetkilendirmelere göre açılması için Açıldığında Olay Yordamına  

1
  Call Yetkiler(Form)

 

yazmayı unutmayınız..  

Ekteki uygulamada yukarıdaki senaryoya göre gruplar ve kullanıcılar oluşturulmuş haldedir.. Her kullanıcı için giriş şifresi kullanıcı isminin ilk harfidir..  

27-Ekim-2009 Tarihli Güncelleme  

Bu tarihte,

  • Kullanıcıların Formlara Giriş ve Çıkış zamanlarının (Form adı ile beraber giriş – çıkış tarih ve saati) kaydedilmesi için yeni bir tablo ilave edildi..
  • Yetki modulü bu yapya göre düzenlendi..
  • Yönetici Kontrol Paneli formuna bu kayıtların listelenmesi için düğme ilave edildi..

Bu yapıyı güncelleme öncesinde uygulamalarında kullananlar,

  • Bu yeni tabloyu uygulamanıza alınız..
  • Yetki modülünü yenisi ile değiştiriniz..
  • Frm_Admin_Panel isimli formu yenisi ile değiştiriniz.. (Opsiyonel)
  • Çıkışların kaydı için, formlarınızı Kapandığında olayına
    1
    
    Call Cikis(Form)
  • Açıldığında olayında bir değişiklik yok.. Yani,
    1
    
     Call Yetkiler(Form)

11-Mart-2010 Tarihli Güncelleme

Bu tarihte,

  • Nesne izinlerini belirlerken, seçenekler arasında raporların da görüntülenmesi sağlandı..
  • Kullanıcı Gruplarının raporları görüntüleme izinleri modüle bağlandı..
  • Açılış ekranındaki hatalı şifre sayacı çalışmıyordu, düzeltildi..

Bu yapıyı güncelleme öncesinde uygulamalarında kullananlar,

  • Yetki modülünü yenisi ile değiştiriniz..
  • Raporların Görüntülenme yetkisi için, raporlarınızın Etkinleştiğinde olayına
    1
    
     Call YetkilerRapor(Report)
  • Hatalı şifre sayacı için Frm_Kullanici_Giris formunun kod sayfasında Option Compare Database satırı altına ilave ediniz..
    1
    2
    
    Option Explicit
    Dim YanlisSifre As Integer

Güncellenmiş son hali ektedir..:

Taruz.Com

, ,

Yorum yok

Gelişmiş Bağlı Tablo Sihirbazı

 

[Resim: tablosihirbazi.jpg]

 

Merhaba değerli arkadaşlar..

Access ile hazırladığım uygulamalarımda verilerimi (tablolarımı) Veritabanı Bölücü seçeneğini kullanarak ayrı bir dosyada tutarım.. Bu sayede arayüz olarak kullandığım dosyamın bozulması durumunda verilerimi güvence altına almış olurum..

Bu sıra, bir uygulamamı başka bilgisayarlarda kullanmam gerektiği için ana dosyamı ve veri dosyamı flash diskte taşıyorum.. Fakat uygulamamı açtığım her bilgisayarda, dosyalar aynı klasörde bulunmuş olsa bile bağlı tablo linkleri değiştiğinden elle tekrardan Bağlı Tablo Yöneticisi ile linkleri tazelemem gerekiyor..

Bu durumu düşünerek kendim ve tabi benimle benzer durumda olan Access dostları için ekteki uygulamayı geliştirdim..

Benzerleri gibi bi dünya api kullanmadım tabii.. Gayet basit bir sistemle tablo linklerimiz güncelleniyor..

Çalışmalarınızda kullanmak için FrmBagliTabloYonetimi isimli formu uygulamanızın içine çekip başlangıç formu yapmanız ve bu formun kod sayfasında göreceğiniz ilgili kısma kontrol sonrasında açılacak olan kendi başlangıç formunuzun ismini yazmanız yeterli olacaktır..

Bu çalışmanın devamı niteliğinde olan Yedek Veri Dosyasını Geri Yükleme / Bağlı Tablo Değiştirme Örneğini de inceleminizi öneririm..

Taruz.Com

, , ,

1 Yorum

Dinamik Kayıt Arama, Listeleme ve Aktarma Aracı

[Resim: arabultrz.jpg]
Merhaba..

Bu uygulama, başlıkta belirttiğim temel amacı dışında, sürekli kullandığımız liste, açılan kutu, düğme vs. gibi form elemanlarına uyguladığım, alışılmışın dışındaki biçimlendirmeler sayesinde çalışmalarınıza farklılık katacaktır..

Teknik özelliklerine gelirsek..:

  • Tek form üzerinden veritabanınızdaki tüm tablo ve sorgulardaki* verileri listeleyebilirsiniz..
  • Listelenen veri kaynağını, alan seçmeden(tüm alanlardaki verileri tek kriterle) dinamik bir şekilde filtreleyebilirsiniz..
  • Filtrelemeyi sadece seçtiğiniz bir alanda uygulayabilirsiniz..
  • Listedeki verileri farklı dosya biçiminde açabilirsiniz..:
    • Excel
    • Word
    • HTML
    • Pdf
    • Text

Uygulamalarınızda kullanabilmek için formu ve modülü almak yeterli..

Araç, 2007 sürümü ile hazırlanmıştır.. Zaman içinde düzenlemeler veya geliştirmeler yapabilirim..

* Sorgulardaki ölçüt değişkenleri farklı formlardan geliyorsa o formlar da açık olmalıdır.

 

 

Taruz.Com

, , , , , ,

Yorum yok

Veri Sayfası Görünümündeki Formlarda Sütun Ekle-Kaldır

Veri Sayfası Görünümündeki Formlarda Alanları Göster ve Sütun Ekle-Kaldır

[Resim: alanekle2.jpg]

Merhaba arkadaşlar..

Bir çoğumuz uygulamalarımızda veri sayfası görünümünde alt formlar kullanırız.. Bu formlardaki alan sayısı bazen o kadar çok olur ki kaydırma çubuğu kullansak bile hakim olmakta zorlanırız.. Bu konuda bir kaç pratik bilgiyi örneğe dökerek açıklamak istiyorum..

Alt formdaki her hangi bir sütuna ters tıkladığınızda aşağıdaki menü çıkar..:

[Resim: alanekle3.jpg]

Buradaki Alanları Gizle ve Alanları Göster seçenekleri yardımı ile formumuzdaki istediğimiz alanı(alanları) gizleyip görüntüleyebiliyoruz.. Fakat geçerli formumuzu kapatırken Access bize bu değişikliği kaydedip kaydetmeyeceğimizi sorar.. Özenle hazırlanmış, başka kullanıcılarla da paylaşılan bir uygulamada bu durum sıkıcı olur.. Olayı basitleştirir..

Bir de şu var; mesala ben bu tür veri sayfası görünümündeki formlarda bir üstteki resimde gördüğünüz kısayol menüsünü gizlerim. Çünkü bu menüde tehlikeli olabilecek ‘kayıt sil’ veya formun görünümünü değiştiren ‘alt form’ gibi seçenekler var.. Deneyimsiz kullanıcılar uygulamaya zarar verebilir.. Uygulamada inisiyatif daima bende olmalı.. Ff

Bu menüyü gizlemek için formumuzun Özellikler / Diğer sekmesinde bulunan Kısayol Menüsü seçeneğini Hayır yapmak yeterli..

Bu işlem sonunda bu menü ve sütun başlığı kenarına tıklayarak ulaştığımız alttaki menü artık görünmez..

[Resim: alanekle4.jpg]

Şimdi en başa dönersek..: Menüyü gizledik ama formda görüntüleyecek alanları seçmek istiyoruz. İhtiyacımıza göre bazen 10 alan bazen 15 bazen de hepsini görüntülememiz gerek.. Ve istiyoruz ki yaptığımız son değişiklikler, formu bir sonraki açışımızda hatırlansın.. Öyle “kaydedecek misin?” falan sorulmasın.. Ekteki örnekte bu işlemi basit bir şekilde yapıldığını görecekseniz..

Unutmayalım; hazırladığımız uygulamalara kattığımız bu türdeki küçük detaylar çalışmalarımıza konfor kadar ve de özel kılar.. Vv

Taruz.Com

, , , ,

Yorum yok

Formların ve Alt Formların Özelliklerine Başvuru Kılavuzu


Merhaba arkadaşlar..

Bu konu içinde, sıklıkla sorun yaşadığımız bir konuyu, Alt ve Üst formlar arasındaki denetim ve özelliklere yapılan başvuruları ayrıntısı ile açıklamaya çalışacağım..

Sanırım örnekleyerek konuyu işlemek özümseyebilmemiz açısından daha iyi olacak..:

Dört adet formumuz olsun..:

İçinde alt form kullandığımız üst form yani Ana form..: Form1

Form1 içindeki altformumuz..: Altform1

Alt form içindeki alt formumuz..: Altform2

Harici bir form..: Form2

Form özelliğine örnek için Kayıt Kaynağını (RecordSource) verelim..

Denetimler için de MetinKutusu’nun değer (Value) özelliğini örnek olarak kullananalım..

Evet, başlıyoruz..:

Form1 üzerinden diğer formların özelliklerine ve üzerindeki denetimlere başvuru..:

 VBA Kodu


'***KAYIT KAYNAĞINA BAŞVURU***

'Form1 Kayıt Kaynağına..:
Me.RecordSource

'AltForm1 Kayıt Kaynağına..:
Me.AltForm1.Form.RecordSource

'AltForm2 Kayıt Kaynağına..:
Me.AltForm1.Form!AltForm2.Form.RecordSource

 VBA Kodu


'***METİN KUTUSUNUN DEĞERİNE BAŞVURU***

'Form1'deki metin kutusu..:
Me.MetinKutusuAdi.Value

'AltForm1'deki metin kutusu..:
Me.AltForm1.Form.MetinKutusuAdi.Value

'AltForm2'deki metin kutusu..:
Me.AltForm1.Form!AltForm2.Form.MetinKutusuAdi.Value

AltForm1 üzerinden diğer formların özelliklerine ve üzerindeki denetimlere başvuru..:

 VBA Kodu


'***KAYIT KAYNAĞINA BAŞVURU***

'Form1 Kayıt Kaynağına..:
Me.Parent.RecordSource

'AltForm1 Kayıt Kaynağına..:
Me.RecordSource

'AltForm2 Kayıt Kaynağına..:
Me.AltForm2.Form.RecordSource

 VBA Kodu


'***METİN KUTUSUNUN DEĞERİNE BAŞVURU***

'Form1'deki metin kutusu..:
Me.Parent.MetinKutusuAdi.Value

'AltForm1'deki metin kutusu..:
Me.MetinKutusuAdi.Value

'AltForm2'deki metin kutusu..:
Me.AltForm2.Form.MetinKutusuAdi.Value

AltForm2 üzerinden diğer formların özelliklerine ve üzerindeki denetimlere başvuru..:

 VBA Kodu


'***KAYIT KAYNAĞINA BAŞVURU***

'Form1 Kayıt Kaynağına..:
Me.Parent.Parent.RecordSource

'AltForm1 Kayıt Kaynağına..:
Me.Parent.RecordSource

'AltForm2 Kayıt Kaynağına..:
Me.RecordSource

 VBA Kodu


'***METİN KUTUSUNUN DEĞERİNE BAŞVURU***

'Form1'deki metin kutusu..:
Me.Parent.Parent.MetinKutusuAdi.Value

'AltForm1'deki metin kutusu..:
Me.Parent.MetinKutusuAdi.Value

'AltForm2'deki metin kutusu..:
Me.MetinKutusuAdi.Value

Form2 üzerinden diğer formların özelliklerine ve üzerindeki denetimlere başvuru..:

 VBA Kodu


'***KAYIT KAYNAĞINA BAŞVURU***

'Form1 Kayıt Kaynağına..:
Forms!Form1.RecordSource

'Form1 içindeki AltForm1 Kayıt Kaynağına..:
Forms!Form1.AltForm1.Form.RecordSource

'Form1 içindeki Altform1 içinde bulunan AltForm2 Kayıt Kaynağına..:
Forms!Form1.AltForm1.Form!AltForm2.Form.RecordSource

 VBA Kodu


'***METİN KUTUSUNUN DEĞERİNE BAŞVURU***

'Form1'deki metin kutusu..:
Forms!Form1.MetinKutusuAdi.Value

'Form1 içindeki AltForm1'deki metin kutusu..:
Forms!Form1.AltForm1.Form.MetinKutusuAdi.Value

'Form1 içindeki AltForm1 içinde bulunan AltForm2'deki metin kutusu..:
Forms!Form1.AltForm1.Form!AltForm2.Form.MetinKutusuAdi.Value

Örnekleri çoğaltabiliriz (Form2 içindeki Altform3 den Form1 içindeki AltForm1‘ e başvuru yapmak gibi) tabi.. Sanırım bu örnekler başvuru mantığını anlamamıza yardımcı olur ve daha farklı başvurular oluşturmamıza katkı sağlar..

Access’iniz bol olsun.. ;)

Taruz..

,

Yorum yok

Access 2010 – Başlangıç Formu Belirleme

Merhaba..

Access dosyamızın açılması ile birlikte, belirlediğimiz bir formun da aynı anda açılmasını sağlayabiliriz.. Bunun bir kaç yolu var.. En pratik yöntem tabii ki menüyü kullanmak.. Wink

Menüden Dosya ve sonrasında Seçeneklere tıklıyoruz..:

[Resim: basla1.jpg]

Açılan Seçenekler penceresinden Geçerli Veritabanı sekmesine tıkladığımızda sadece o veritabanı ile ilgili seçenekleri göreceksiniz.. Bu seçeklerden Form Görüntüle kutusundan dosya ile birlikte açılmasını istediğiniz formu belirleyip Tamam düğmesine basınız..

[Resim: basla2.jpg]

Dosyanızı kapatıp yeniden açtığınızda seçtiğiniz formun da açıldığını göreceksiniz..

Bu işlem Access 2007 sürümünde de aynıdır.. Tek fark, Dosya (1) menüsü yerine sol üstteki Office Simgesine tıklayınız..

Başta bu işlemin bir kaç yolu var demiştim.. Yukarıda anlattığım standart yöntemin dışında pek kullanılmayan ama bilinmesi gereken diğer bir yol da form kısayolu oluşturmaktır.. İşlem basittir..:

Gezinti Bölmesinden başlangıç formu olarak belirlediğimiz formu masaüstüne ya da uygulamayı açtığımız klasör üzerine sürükleyip bırakıyoruz.. Bu kadar.. Wink

[Resim: basla3.jpg]

Hızımı almışken..;

Üçüncü alternatif ise..:

Oluştur menü sekmesinden yeni bir Makro oluşturun. Seçeneklerden Form Aç seçin. Başlangıç formunuz listeden seçin.. -Burası önemli- Makroyu kaydederken ismini Autoexec olarak belirleyin..

 

[Resim: basla4.jpg]

Kullanıcı İmzası

 

Bu aralar yokum..
“Bulunamayan yerleri bulmak için önce kaybolmak gerekir.”

, , ,

Yorum yok

Access 2010 – Uygulama Başlığı ve Simgesi Belirleme

Merhaba..

Uygulamalarımızı access standartları dahilinde ne kadar özelleştirebilirsek o kadar daha özgün olur.. Access, basit değişikliklerle bunu kısmen yapmamıza olanak verir.. Örneğin, uygulamamızın başlığı ve simgesi standartta çok fazla access kokar.. Wacko

[Resim: basla6.jpg]

Hele ki Görev Çubuğundaki durumu olaya tuz biber eker.. Wink

[Resim: basla7.jpg]

Bu kısımları özelleştirmek için..:

Menüden Dosya ve sonrasında Seçeneklere tıklıyoruz..:

[Resim: basla1.jpg]

Açılan Seçenekler penceresinden Geçerli Veritabanı sekmesine tıkladığımızda sadece o veritabanı ile ilgili seçenekleri göreceksiniz..

[Resim: basla8.jpg]

Bu seçeklerden Uygulama Başlığı kutusuna uygulamanız için bir başlık belirleyin.. Hemen altındaki Uygulama Simgesi kutusuna bilgisayarınızdan bir simge (*.ico) dosyası seçin.. Bu simgenin tüm form ve raporların başlık çubuklarındaki standart simgenin yerini almasını isterseniz (ki bence isteyin) simge kutusunun altındaki Form ve Rapor Simgesi Olarak Kullan onay kutusunu da işaretleyin..:

[Resim: basla9.jpg]

Son olarak Tamam düğmesine basın..
Yeni görünüm eskisinden gayet iyi bence.. Wink

, ,

Yorum yok

Access 2010 – Kapatırken Düzenle

Merhaba..

Access dosyamızın açılması ile birlikte, belirlediğimiz bir formun da aynı anda açılmasını sağlayabiliriz.. Bunun bir kaç yolu var.. En pratik yöntem tabii ki menüyü kullanmak.. Wink

Menüden Dosya ve sonrasında Seçeneklere tıklıyoruz..:

[Resim: basla1.jpg]

Açılan Seçenekler penceresinden Geçerli Veritabanı sekmesine tıkladığımızda sadece o veritabanı ile ilgili seçenekleri göreceksiniz.. Bu seçeklerden Form Görüntüle kutusundan dosya ile birlikte açılmasını istediğiniz formu belirleyip Tamam düğmesine basınız..

[Resim: basla2.jpg]

Dosyanızı kapatıp yeniden açtığınızda seçtiğiniz formun da açıldığını göreceksiniz..

, ,

Yorum yok

Ms Access ile Kod Yazmaya Giriş

Merhaba arkadaşlar..

Access ile hazırladığımız uygulamalarımızda yapmak istediklerimiz arttıkça artık menülerin, sihirbazların, makroların yetersiz kaldığını hissederiz.. Ama biz uygulamalarımızın daha özgün, esnek ve de kullanışlı olmasını istiyoruz.. Bu da demektir ki artık ufak ufak kod yazmayı öğrenmenin zamanı gelmiştir..

Access (ve diğer office programları) içerisinde Visiual Basic programlama dilini biraz da basitleştirerek application olarak barındırır.. Accesste kod yazarken bu dili kullanırız.. Bu dili iyi kötü öğrenen herkes diğer programlama uygulamalarında da kod yazar hale gelir..

Bu konu serisinde sizlere kod yazma ile ilgili belli temel yapıları göstereceğim.. Ansiklopedik bir dokümandan ziyade Acceess içerisinde sıklıkla kullandığımız komutları, yapıları ve bunlarla ilgili ipuçlarını vermeye çalışacağım..

Kodlarımızı VBA editörü üzerinde yazarız.. Düzenleyiciye ulaşmak için Oluştur menü sekmesindeki Visual Basic düğmesine veya Alt veF11 tuşlarına bereberce basmanız yeterlidir..:

[Resim: vbadugme.jpg]

Bir form üzerinde kod yazmak istiyorsanız formunuz tasarım görünümündeyken Alt + F11 yapabileceğiniz gibi bu düğmeyi de kullanabilirsiniz..:

[Resim: vbadugme2.jpg]

Sayfanın sol üstündeki açılan kutudan kod uygulamak istediğiniz nesneleri seçebilir,

[Resim: vbaeditor.jpg]

yazdığınız kodun nesnenin hangi hareketinde çalışmasını istiyorsanız o hareketi seçebilirsiniz..:

[Resim: vbaeditor2.jpg]

Gerçi bu işin uzun yolu.. Kısası..:

  • Formu tasarımda açın
  • Kod uygulayacağınız nesneyi seçin
  • Özellikler sayfasını açın
  • Olay sekmesini tıklayın

Kod uygulayabileceğimiz olaylar burada..:

[Resim: vbaeditor3.jpg]

İstediğimiz olayın satırındaki üç noktalı düğmeye tıklatın. (olay satırına çift tıklasanız da olur) Kod oluşturucuyu çift tıklayın..

[Resim: vbaeditor4.jpg]

Editör açılır ve imleç ilgili olayın prosedür satırına oturur..:

[Resim: vbaeditor5.jpg]

Kodlarımızı Sub — End Sub arasına yazmalıyız..

,

Yorum yok

WITH – END WITH Yapısı

GİRİŞ

Access ile hazırladığımız uygulamalarımızda yapmak istediklerimiz arttıkça artık menülerin, sihirbazların, makroların yetersiz kaldığını hissederiz.. Ama biz uygulamalarımızın daha özgün, esnek ve de kullanışlı olmasını istiyoruz.. Bu da demektir ki artık ufak ufak kod yazmayı öğrenmenin zamanı gelmiştir..

Merhaba arkadaşlar..

With yapısı kısaca, aynı koleksiyona ait komut yapılarını kullanarak hazırladığımız kodları kısaltmamızı sağlar.. Ayrıca bu yapıyı uyguladığımız komutlarımızın daha hızlı çalıştığını göreceksiniz..

Kullanımı basit ve de karışık kod bloklarımızı sadeleştiren bu yapının uygulanışına bir örnek vereyim..:

Diyelim ki şöyle bir kod bloğumuz var..:


DoCmd.Maximize
DoCmd.OpenForm "form1"
DoCmd.GoToRecord , , acNewRec
DoCmd.GoToControl "metin1"
DoCmd.Requery
DoCmd.Close

İnsan, Docmd yazmaktan sivilce çıkartır..

İşte with burada imdada yetişir ve pürüzsüz bir cilt sağlar..  :)


With DoCmd
    .Maximize
    .OpenForm "form1"
    .GoToRecord , , acNewRec
    .GoToControl "metin1"
    .Requery
    .Close
End With

Bu da başka bir örnek..

With den Önce..


Metin1.SetFocus
Metin1.Text = "trz 2011"
Metin1.FontBold = True
Metin1.FontSize = 25
Metin1.ForeColor = vbRed
Metin1.Width = 3000
Metin1.Height = 500

With den Sonra..


With Metin1
    .SetFocus
    .Text = "trz 2011"
    .FontBold = True
    .FontSize = 25
    .ForeColor = vbRed
    .Width = 3000
    .Height = 500
End With

With esnektir.. İçerisinde karar yapıları da kullanabiliriz.. İf Then Else ile bir örnek..:


With Metin1
    .SetFocus
    .Text = "trz 2011"
    .FontBold = True
        If Metin2 = "büyük" Then
            .FontSize = 25
        Else
            .FontSize = 12
        End If
    .ForeColor = vbRed
    .Width = 3000
    .Height = 500
End With

Taruz… 2011

,

Yorum yok

Google Analytics Alternative