Kapali dosyada 3 aydan eski tarihleri sildirmek

30/01/2013, 14:19

kaleci

Arkadaslar,

Access da asagidaki gibi iki dosya var,
Kapali dosya adi: Datenbank1.accdb
Kayit dosyasi: Dateneingabe.accdb

Kayit dosyasini actigimizda üc aydan eski tarihli verilerin silinmesini istiyorum, mümkün mü?
Neden ihtiyaciniz var derseniz. Almanya da bir sirketi ziyaret ettiginizde, ziyaretcinin özel bilgilerini üc aydan fazla muhafaza edemessiniz. Ben su anda kapali dosyayi acip silme islemnini oradan yapiyorum.

Tekil silme islemini „Taruz“ arkadasimizin yazmis oldugu kod ile gerceklestiriyorum.

kaleci
Kod:
Private Sub Befehl9_Click()
'silme
If Liste5.ItemsSelected.Count = 0 Then
MsgBox "listeden seçim yapýnýz..", vbInformation, "Taruz"
Else
CurrentDb.Execute "delete from (" & ArkaDosyaTablo1 & ") where ID=" & Liste5
Liste5.Requery
End If
End Sub
30/01/2013, 19:49

ozanakkaya

Tekli silme olayı nedir bilmiyorum, ekteki örnekte "Datenbank1" ve "Dateneingabe" isimli veritabanları aynı dizinde olmak şartıyla (farklı dizin için seçme işlemi için kod eklenmeli);


Dateneingabe.accdb isimli dosyadaki Form1'i açıp butonu tıkladığında, Datenbank1.accdb isimli kapalı dosyada bulunan Tablo1 isimli tablodaki verilerden 3 aydan eski verileri siler.


'Datenbank1.accdb veritanbanındaki Tablo1'i al
DoCmd.TransferDatabase acImport, "Microsoft Access", CurrentProject.Path & "\Datenbank1.accdb", acTable, "Tablo1", "Tablo1", False

'Tablo1'deki 3 aydan eski kayıtları sil
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE Tarih, Adi FROM Tablo1 WHERE ((DateDiff('m',[Tarih],Date())>=3));"
DoCmd.SetWarnings True

'Tablo1'i Datenbank1.accdb veritanbanına geri gönder.
DoCmd.TransferDatabase acExport, "Microsoft Access", CurrentProject.Path & "\Datenbank1.accdb", acTable, "Tablo1", "Tablo1", False

'Alınan Tabloyu sil.
DoCmd.RunSQL "DROP TABLE Tablo1"
31/01/2013, 23:18

kaleci

Sayin ozanakkaya,

bir Örnek dosya ile soruma cok hizli bir sekilde cevap verdiginiz icin tesekkür ederim. Sizin gönderdiginiz dosyadaki Komut dügmesi Kodu calistirmadi. Benim Access de bir hata olabilir. Ama Kodu ekteki dosyaya yapistirdim. Kod kapali dosyadaki (ArkaDosya) Tablo1 i, Kayit dosyasina(OnDosya) ya kopya ediyor. Üc aydan eski tarihleri silmiyor. Hocam birde "Bul" dügmesi calismiyor. Dosyaya bir göz atarsaniz mennun olurum.

kaleci
01/02/2013, 02:26

kaleci

hocam ozanakkaya,

göstermis oldugunuz yol üzeri kodu asagidaki gibi degistirdim ve kod calisiyor. Tesekkür ederim.

Su anda arama dügmesi calismiyor. Hocam bir Metin veya acilir kutuya yazdigimiz kelimeyi, hangi satir veya stünda olursa olsun, arattirmak mümkün mü?

Bir el atarsaniz menmun olurum.

Kod:
Private Sub Befehl18_Click()
CurrentDb.Execute "delete from (" & ArkaDosyaTablo1 & ") WHERE ((DateDiff('m',[Tarih],Date())>=3));"
End Sub



kaleci
16/03/2013, 20:10

benremix

Sn kaleci probleminizi çözebildiniz mi?

Saygılar...