Access kapanmadan önce veritabanı nasıl sıkıştırma ve onarma yaptırılır?

Katılım
9 Mayıs 2008
Mesajlar
27
Excel Vers. ve Dili
Access 2003 Türkçe
merhaba

access uygulamasının sürekli kendini hafif tutması için kapat komutunu vermeden önce Arçalar menüsündeki "Veritabanını sıkıştır ve onar" menüsünün çalışmasını istiyorum.

araştırmamda DoCmd.RunCommand acCmdRepairDatabase kodun bunu yapabildiğini öğrendim ama bunu formdaki kapat butonunun önüne ekleyince veritabanı açıkken skıştırma yapılamaz diyor. Menüden elle yapmamı öneriyor. Ben her kapatmadan önce otomatik olmasını istiyorum.

bu komutu nereye nasıl koymam gerekir ?

Belki Access ten çıkmak yerine geçerli veritabanını kapatabilirsek sadece bu komuttta sorun çıkmayacak. Ama aklıma bişey gelmiyor tecrübem yetersiz.
 
Katılım
23 Ocak 2008
Mesajlar
34
Excel Vers. ve Dili
2003 TÜRKÇE
Araçlar / Seçenekler / Genel / Kapatırken Düzenle
 
Katılım
9 Mayıs 2008
Mesajlar
27
Excel Vers. ve Dili
Access 2003 Türkçe
Teşekkürler. Gezdirilen veritabanları için nasıl olacak? Ben dosyay kod ekleyerek kapatma simgesine tıklandığında önce bunun yapılmasını sonra kapanmasını istiyorum. Bu form kapanırken değil veritabanı kapanmadan önce yapılmalı.
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
Public Sub kapat_Click()
Dim msg As String

msg = "Database.Mdb isimli veritabanında girdiğiniz kayıtlar tutulmaktadır. "
msg = msg & "Girdiğiniz ve/veya sildiğiniz kayıtlarla bu dosya zamanla gereksiz yere şişer."
msg = msg & "Bunun için [Veritabanı dosyası bakımı] işlemini 10 günde bir yaparsanız, "
msg = msg & "gereksiz şişkinlikler dosyanızdan atılacak, dolayısıyla dosyanızın boyutu küçülecektir." & vbCrLf & vbCrLf
msg = msg & "Özellikle hafta sonları yedeklemelerden önce" & vbCrLf
msg = msg & "[Veritabanı dosyası bakımı] işlemini uygulamanız tavsiye edilir." & vbCrLf & vbCrLf
msg = msg & "Evet'i Seçerseniz...Programın Düzenlenip Onarılabilmesi için Kapatılması Gerekiyor " & vbCrLf & vbCrLf

msg = msg & "Şimdi veritabanı dosyanızın bakımını yapacak mısınız?" & vbCrLf & vbCrLf
If MsgBox(msg, vbQuestion + vbYesNo, "Veritabanı dosyası bakımı") = vbNo Then Exit Sub
DoCmd.ShowToolbar ("Menü Çubuğu"), acToolbarYes
Application.CommandBars.FindControl(id:=2071).accDoDefaultAction
End Sub
 
Katılım
9 Mayıs 2008
Mesajlar
27
Excel Vers. ve Dili
Access 2003 Türkçe
Sayın karaayhan kasettiğim kendi hazırladığımız kapa tdüğmesi değil de Access penceresinde kullanıcı sağ üstte duran x işaretine tıklayınca araya giren bir yöntem idi.

Kullanıcı ya bizim geçerli veritabanını kapatır access açık kalır ya da access'i hepten kapatabilir. Bu durumda önce geçerli veritabanı kapanır. İşte tam bu sırada geçerli olan kapatılmadan önce bunu koyarsak her zaman işini görmüş olur.
 
Üst