AccessTr.neT

Tam Versiyon: Arşive Gönderirken Onar ve Sıkıştır Yapamıyorum
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
Arkadaşlar verileri arşive göndermek için aşağıdaki kodu kullanıyorum. Verileri göndermede sorun yok ancak en alt bölümde yer alan onarma ve şıkıştırmaya yarayan komut çalışmıyor şöyle bir uyarı veriyor "bir makro veya visual basic kodu çalıştırırken açık veritabanını sıkıştıramazsınız" bu konuda yardımcı olursanız sevinirim

Kod:
Private Sub Komut47_Click()
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
DoCmd.RunSQL "insert into ArşivT select * from VeriT Where VeriT.Kimlik=[Forms]![VeriF]![Kimlik]"
DoCmd.RunSQL "delete  from veriT Where VeriT.Kimlik=[Forms]![VeriF]![Kimlik]"
Me.Requery
DoCmd.GoToRecord , , acNewRec
DoCmd.ShowToolbar ("Menü Çubuğu"), acToolbarYes
Application.CommandBars.FindControl(ID:=2071).accDoDefaultAction
End Sub
Sıkıştırma komutunu yeni kayıttan sonra değil önce kullansanız. Bir de öyle deneyin. Hatta ilk önce sıkıştır ve onarı kullanın sonra arşive gönderin, sora yeni kayıt açın.

Kod:
Private Sub Komut47_Click()

DoCmd.ShowToolbar ("Menü Çubuğu"), acToolbarYes
Application.CommandBars.FindControl(ID:=2071).accDoDefaultAction

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
DoCmd.RunSQL "insert into ArşivT select * from VeriT Where VeriT.Kimlik=[Forms]![VeriF]![Kimlik]"
DoCmd.RunSQL "delete from veriT Where VeriT.Kimlik=[Forms]![VeriF]![Kimlik]"
Me.Requery
DoCmd.GoToRecord , , acNewRec
End Sub

bir de böyle denediniz mi?
HOCAM SAĞOLUN AMA MALESEF AYNI HATAYI VERDİFur
Mehmet Hocanın gönderdiği kod çalışıyor bakınız....

Bu arada Örnek için CELOYCE hocama teşekkürler...
benim problemim arşive gönderdikten sonra otamatik sayının sıfırlanmaması, yoksa kaydı arşive gönderiyor onda bir sorun yok... teşekkürler
Bu şekilde otomatik sayı sıfırlanmaz. Otomatik sayıyı sıfırlamak için birden fazla yöntem var ancak bunun için ayrıca birkaç tane işlem yapmak gerekiyor. Otomatik Sayı dinamik bir yapıya sahiptir. Bir kaydı yaptınız ve sonra sildiniz diyelim. Aldığı otomatik sayı 1 ise, bundan sonra açacağınız yeni kayıt 2 olarak açılır otomatik olarak. 1 numaralı kaydı silmiş olmanıza rağmen bundan sonraki kayıtlar en son kullandığınız otomatik sayı değerinin bir fazlası olarak açılır. Siz 43. kaydı sildiğinizde 44. kayıt 43 olmaz. O 44 olarak kalmaya devam eder. 43 nolu kaydı da bir daha kullanamazsınız...

Tabi buraya kadar anlattıklarım bu işin normal koşulları. Otomatik sayıyı değiştirmek için başka başka yöntemler var. Bunun için yazılmış kodlar var. Yeni açtığınız kayıtları önceki boşlukları doldurarak yapan ve otomatik sayının boş kalmadan sırasıyla yapılmasını sağlayan bir örneği Mehmetdemiral hocam ekledi geçenlerde.

Ayrıca bununla ilgili forumda arama yapmanızı tavsiye ederim. Tabi otomatik sayıyı değiştirmekte ısrarcıysanız...

Kolay gelsin...
Sayfalar: 1 2