Bağlı Tablo Denetleme

1 2 3 4 5 6 7 8
05/11/2008, 15:27

ozanakkaya

Eklediğim örnek, veritabanı bölücü ile uygulamamızdaki tabloları başka bir veritabanına aktardıktan sonra, tabloların bulunduğu veritabanının yeri değişirse, bağlı tabloları yenilemenize yardımcı olur.

Önce Veritabanı Bölme ile ilgili videoyu İZLEYİN.


Ekteki örnekte "Bagli_Tablo_Sihirbazi.mdb" ve data klasörü içerisinde "baglitablolar.mdb" isimlerinde iki dosya var.

baglitablolar.mdb'nin veritabanı parolası (tırnaklan hariç) "accesstr.net" tir.

Uygulama üzerinden anlatılacak olursa;
- "baglitablolar.mdb" isimli dosya ana bilgisayarda olacak ve bulunduğu klasör paylaşıma açılacak. Bu uygulama içerisinde sadece tablolar var.
- "Bagli_Tablo_Sihirbazi.mdb" isimli dosyanın birer kopyası (KISAYOLU DEĞİL) tüm bilgisayarlara kopyalanacak. Bu uygulamada da sorgu, form, rapor ve modül bulunmakta.

Son olarak "Bagli_Tablo_Sihirbazi.mdb" isimli dosya bilgisayarlarda tek tek çalıştırılıp tabloları paylaşıma açılan "baglitablolar.mdb" isimli dosyadaki tablolar ile bağlanacak.

Ayrıca, tüm pclerde Bagli_Tablo_Sihirbazi.mdb'yi açıp aşağıdakileri uygulayın

Araçlar-Seçenekler'den Gelişmiş sekmesini açın, Varsayılan Kayıt Kilitleme Kutusundaki Düzenlenmiş kayıt seçeneğini işaretleyin, Yenileme Sıklığı’nı 30 sn yapın, Güncelleştirme deneme sayısı: 5 yapın, Varsayılan Açma Modu'nu Paylaşılan yapın


Kendi Uygulamanızda kullanırken dikkat edilecek diğer hususlar;

1-)Uygulamadaki frm_tablobagla, uygulama açıldığında ilk açılacak formdur. Tablo bağlama işlemi tamamlandığında "frm_form" açılır.

Kendi uygulamanızda kullanırken form isimlerine dikkat etmelisiniz ve "frm_tablobagla" mutlaka ilk çalışacak form olmalıdır.

2-)Tabloların bulunduğu "baglitablolar.mdb" dosyasında veritabanı parolası belirlenmiş ise;
a-) Vba sayfasında "TablolariYenile" forksiyonundaki
Parola = "accesstr.net" 
kodunun değiştirilmesi gerekli, sizin parolanız ne ise (tırnaklar hariç) "accesstr.net" yerine parolanızı yazmalısınız.
 b-)
Call TablolariYenile(BagliTabloDizini, True)
şeklindeki koddaki True yerine false yazmalısınız, yani

Call TablolariYenile(BagliTabloDizini, False) 
olmalıdır.


Parola kullanmayacaksanız, yukarıda belirtilen kod

Parola = "" şeklinde olmalı,

3-) Eğer tabloların bulunduğu baglitablolar.mdb isimli dosyanın ismini değiştirecekseniz,

  .InitialFileName = "baglitablolar.mdb"
 
ve
 
  BagliTabloDizini = CurrentProject.Path & "/data/baglitablolar.mdb"
 

kodlarını da düzeltmelisiniz.

Uygulamadan resimler.



Uygulama ile aynı dizinde, data klasörü içerisinde "baglitablolar.mdb" var ise "Evet, Tabloları Bağla" butonunu tıkladığınızda tablo bağlantısı yapılır. 




05/11/2008, 15:29

alpeki99

Bilmeyen için anlamak zor olacaktır ancak bilen için çok iyi örnek. Teşekkürler.
09/04/2009, 08:14

assenucler

Sayın sledgeab;

Teşekkürler..

Selam ve sevgiler.
29/04/2009, 03:49

donepezil

Hocam bu harika birşey. hatta harika ötesi bir kod. ağ için mükemmel bir çözüm. Teşekkür ederim.
13/05/2009, 17:00

Soundcraft

Değerli üstadlarım. Öncelikle bu güzel çalışma için teşekkür ederiz. Elinize ve fikrinize sağlık.

Birşeyi merak ediyorum. Sürçülisan eder isem affola. Acemiliğime verin.

Şimdi düzenlediğimiz ve kullandığımız program hem veri tabanı hemdeformları barındırıyor.
Biz veri tabanını ayırdığımızda yedekleme zamanı sadece veritabanının yedeğini alarak ilerde luzumu halinde tekrar veritabanını çalıştımamız yani yedekten geri yüklememiz veri tabanımızı kurtaracaktır. Doğru çözümleyebildiisem eğer bu şekilde.

Eğer böyleyse Programın(formların) 1 yedeğinin olması ama veritabanının yedeğinin güncel olması işimizi görecektir doğrumu?

Gelelim asıl merakıma;
Şimdi benim işyerimin şubesi var Oraya kurduğum programıda aynı şekilde yedekledik. Yedekleme için BURADAKİ yine sizin uygulamanızı programa adapte ettim. Ancak işyerimdeki programı kullanan kişilerin programı yedekten geri yükleyebilmesi için yine Veritabanı Yedekleme ve Bakım Uygulaması V3 içerisine Yedekten Geri Yükle butonu koyarak gözat diyedek programın veritabanının olduğu klasöre kendisi otomatik yedeği kopyalayabilirmi. Yani geri yüklenecek yolu kendisi bulup biz sadece yedek dosyasını gösterdiğimizde nbu olurmu. Ve yine burada şöyle bir şey öne çıkıyor. O dosya o an kullanımda olduğu için bu yapılabilirmi?

Çok karşıtırdım sanırım Umarım anlatabilmişimdir.

Tekrardan emekleriniz için teşekkür ederim.

Edit: Bu arada ilk mesajdaki video linki kırık görünüyor. Teşekkürler.
14/05/2009, 09:50

simendifer

sevgili kardeşim
geri yüklenecek yolu kendisi bulup biz sadece yedek dosyasını gösterdiğimizde bu olurmu sorunuza cevaben alttaki kod bir başka prg de D: nin içindeki Yedek adlı not detferi ni siliyor buna benzer bir kod yazarak geri yükleyebiliriz diye düşünüyorum tabi forumdaki üstatlarımız bu konuda daha iyi bir kod ilave edebilir
Private Sub Komut0_Click()
Dim LFilename As String
LFilename = "d:\Yedek.txt"
If Dir(LFilename) <> "" Then Kill LFilename
End Sub
1 2 3 4 5 6 7 8