Koşul ifadesi olarak "Aynı ay içinde daha önce çalıştırıldıysa"
#1
Herkese selamlar..
Bir form açılışında Tabloyu excele aktar makrosu var; bu makronun ay içerisinde sadece bir kez ve o ay içerisinde sadece uygulamayı açtığı ilk seferde çalıştırılması gerekiyor.(Tablo excele aktarıldıktan sonra temizleniyor. Bir bakıma aylık kayıtlar excelde tutulmuş oluyor) Yani ayın 1 i oldu diyelim. Girilen yeni ay içerisinde formun ilk defa açılmasıyla Makro çalıştırılacak ve o ay içerisinde atık çalıştırılmayacak. Ta ki bir sonraki aya kadar.
Kısaca bir koşula ihtiyacım var; "Aynı ay içinde daha önce makro çalıştırıldıysa yeni aya kadar çalıştırılmayacak". Bu sorunu nasıl aşabilirim? Fikirleriniz için şimdiden teşekkürler..



  Alıntı
Bu mesajı beğenenler:
#2
Merhaba
Eğer dosya daha önce oluşturulmuşsa;
aşağıdaki ifade ile kontrol edebilirsin.
Visual Basic
  1. Dim AyAl,dosyaolusturmatarihinial ' 2 Değişken Tanımladık.
  2. dosyaolusturmatarihinial=FileDateTime(C:\aylıktablo.xls) 'Aylık Tablonun oluşturma tarihini aldık
  3. AyAl=DatePart ("m",dosyaolusturmatarihinial )' Aylık Tablonun oluşturulduğu Ayı aldık.
  4. GecerliAyAl=DatePart ("m", Date) 'Geçerli Sistem Tarihinin Ayını aldık.
  5. if AyAl<GecerliAyAl then ' Eğer Aylık Tablonun oluşturulduğu ay Geçerli Aydan küçükse
  6. DoCmd RunMacro "Makroİsmi" 'Dosyamızı oluştur.
  7. elseif AyAl=GecerliAyAl then 'Eğer eşitse yani dosya bu aya eşitse
  8. exit sub 'Altprogramdan çık
  9. endif


burada dosya oluşturulmuşsa direk koddan çıkacak oluşturulmadıysa makro çalışacaktır.


kolay gelsin...



  Alıntı
Bu mesajı beğenenler:
#3
Sn Onur_Can
yukardaki kod ben ay icinde excelde tablo uzerine calisiyorsam da gecerlimi?




  Alıntı
Bu mesajı beğenenler:
#4
Merhaba;
sorunun yapısında zaten küçük bir problem gördüm. örneğin ayın 1 inde girdiğimizde o ayın kayıtları alınacak denmiş, bence o ayın değilde bir önceki ayın olması gerekir bence. çünkü ayın 1 inde ilk defa girdiğinizde zaten o aya ait kayıt bulunmaz, sorunun biraz daha detayına inersek daha iyi sonuç alırız...



  Alıntı
Bu mesajı beğenenler:
#5
(11-10-2011, 10:04)onur_can demiş ki: Merhaba;
sorunun yapısında zaten küçük bir problem gördüm. örneğin ayın 1 inde girdiğimizde o ayın kayıtları alınacak denmiş, bence o ayın değilde bir önceki ayın olması gerekir bence. çünkü ayın 1 inde ilk defa girdiğinizde zaten o aya ait kayıt bulunmaz, sorunun biraz daha detayına inersek daha iyi sonuç alırız...

@onur_can haklısınız. zaten dediğiniz gibi bir önceki ayın kayıtları olarak alınmış oluyor tabloya..İlk mesajda eksik belirtmişim.. Excele aktarma ve silme işlemleride zaten tarih kontrolünden sonra yapılıyor. Bu arada verdiğiniz kod çok işime yaradı çok teşekkürler. Yalnız bu kodu kullanmak isteyen arkadaşlar olursa şöyle bir durum var sanırım 12. aydaki excele aktarmadan sonra sistemden alınan ay değerinden büyük olma durumu olanaksız oluyor sanırım (sanırım diyorum çünkü datepart sadece ay değerini alıyor??) bu yüzden aşağıdaki gibi yaptım.. yardımınız için gerçekten teşekkürler.. ilaç oldu Smile

Visual Basic
  1. Dim AyAl, YilAl, dosyaolusturmatarihinial
  2. dosyaolusturmatarihinial = FileDateTime("C:/Program Files/Arsiv.xlsx")
  3. AyAl = DatePart("m", dosyaolusturmatarihinial)
  4. GecerliAyAl = DatePart("m", Date)
  5. YilAl = DatePart("yyyy", dosyaolusturmatarihinial)
  6. GecerliYilAl = DatePart("yyyy", Date)
  7.  
  8. If YilAl < GecerliYilAl Then
  9. Me.Metin60.Value = 1
  10. ElseIf YilAl = GecerliYilAl Then
  11.  
  12. If AyAl < GecerliAyAl Then
  13. Me.Metin60.Value = 1
  14. ElseIf AyAl = GecerliAyAl Then
  15. Me.Metin60.Value = 0
  16. End If
  17.  
  18. Else
  19. Me.Metin60.Value = 1
  20. End If
  21. Exit Sub



([me.metin60.value] kısmı form üzerinden kontrol için..sistem tarihi(ay ve yıl olarak) dosya tarihinden yeniyse 1 değeri görünüyor )



  Alıntı
Bu mesajı beğenenler:
#6
evet haklısınız ben o noktayı gözden kaçırmışım, ben de size teşekkür ederim.



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [MAKRO] Alt Formda Filtrelemenin Iptali Ve Alt Formun Liste Olarak Görünmesi. M_Kemal_Askeri 2 65 21-04-2026, 23:57
Son Mesaj: M_Kemal_Askeri
  [FORM] Kritere Bağlı Olarak Değerlerin Toplanması M_Kemal_Askeri 2 97 10-04-2026, 01:05
Son Mesaj: M_Kemal_Askeri
  [SORGU] Kelime Içinde Geçen 2 3 4 Harfe Göre Veri Doldurma toros333 1 215 16-02-2026, 02:12
Son Mesaj: dsezgin
  Koşul Sorgu toros333 2 345 13-09-2025, 13:24
Son Mesaj: dsezgin
  Aynı Günleri Filtreleme Satir 7 614 30-04-2025, 09:33
Son Mesaj: Satir
  [RAPOR] Formdaki Aynı Rrsmı Baskı ön ızleme ıle Rapora Aktarma MHMTKY 2 415 11-09-2024, 13:09
Son Mesaj: dsezgin
  [SORGU] Sorgu Ifadesi Içindeki Fonksiyon Ifade Içinde Kullanılamaz Hatası Mecnun24 7 664 27-08-2024, 16:53
Son Mesaj: Mecnun24
  [SORGU] çarpraz Sorguda Sütun Değeri Olarak Birden çok Alan Seçebilir Miyiz? abkbek 2 411 13-08-2024, 21:18
Son Mesaj: abkbek

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi