AccessTr.neT
İki Tarih Arası Ayların Listelenmesi - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: İki Tarih Arası Ayların Listelenmesi (/konu-iki-tarih-arasi-aylarin-listelenmesi.html)

Sayfalar: 1 2


İki Tarih Arası Ayların Listelenmesi - tekinuygun - 15/01/2020

Merhabalar Arkadaşlar,

Resimde görüldüğü şekliyle iki tarih arasındaki ayların başlangıç ve bitiş tarihleriyle listelenmesine ihtiyacım var. Bu tarz bir örneğe rastlayamadım sitede. 
Herhangi bir ayın ilk ve son günlerini alabiliyorum ancak ihtiyaca cevap vermiyor.



[Resim: do.php?img=9448]


Cvp: İki Tarih Arası Ayların Listelenmesi - berduş - 15/01/2020

isterseniz çalışmanızın ilgili kısmını ekleyin inceleyelim
Peki aynı ay girilmişse mesela 5 ocak 2010 ile 25 ocak 2010 gibi
yada son tarih ilk tarhten küçükse  5 ocak 2010 ile 25 aralik 2009 gibi


Cvp: İki Tarih Arası Ayların Listelenmesi - tekinuygun - 15/01/2020

(15/01/2020, 23:29)berduş yazdı: isterseniz çalışmanızın ilgili kısmını ekleyin inceleyelim

Merhaba,

Form1 de oluşturalacak verinin Tablo1'e aktarılması gerekiyor.

Teşekkürler.
(16/01/2020, 01:14)berduş yazdı: Peki aynı ay girilmişse mesela 5 ocak 2010 ile 25 ocak 2010 gibi
yada son tarih ilk tarhten küçükse  5 ocak 2010 ile 25 aralik 2009 gibi

Aynı ay girilmişse örnek üzerinden Başlangıç tarihi 5 Ocak 2010 Bitiş Tarihi 25 Ocak 2010 olmalı.
Son tarih ilk tarihten küçük olmamalı, onu metin kutusunda tarih girerken if komutuyla yapabilirim.


Cvp: İki Tarih Arası Ayların Listelenmesi - berduş - 16/01/2020

Aşağıdaki kodu dener misiniz?
Not: tekrarlı girişleri engellemek için bir yöntem eklemedim
Dim BasTrh, BitTrh, DnmBas, DnmBit As Date

BasTrh = CLng(Me.Metin0)
BitTrh = CLng(Me.Metin2)
DnmBas = BasTrh 'DateAdd("m", 1, Bastrh)

Do While DnmBas < BitTrh
If DateDiff("m", DnmBas, BitTrh) = 0 Then _
                DnmBit = BitTrh Else _
                DnmBit = CLng(DateSerial(Year(DnmBas), Month(DnmBas) + 1, 0))

    CurrentDb.Execute " insert into [Tablo1] (Donem,[Baslangic_Tarihi],[Bitis_Tarihi])" & _
                      " VALUES ('" & Format(DnmBas, "mmm.yy") & "'," & _
                                    CLng(DnmBas) & ", " & _
                                    CLng(DnmBit) & ") "

DnmBas = CLng(DateSerial(Year(DnmBas), Month(DnmBas) + 1, 1))
Loop



Cvp: İki Tarih Arası Ayların Listelenmesi - tekinuygun - 16/01/2020

Çok teşekkür ederim hocam istediğim gibi olmuş, yine farkınızı ortaya koymuşsunuz.  +rep
Dönem'de sadece ay yazıyor, yılı da ekleyebilirmiyim?


Cvp: İki Tarih Arası Ayların Listelenmesi - berduş - 16/01/2020

Format(DnmBas, "mmmm")
kodunu
Format(DnmBas, "mmmm-yyyy")
şeklinde değiştirebilirsiniz
format() fonksiyonu veriyi şekillendirmekte kullanılıyor, fonksiyonla ilgili daha ayrıntılı bilgi için biraz daha araştırma yapmanız gerekebilir.

dikkatimden kaçmış kusura bakmayın
Format(DnmBas, "mmmm")
yerine
Format(DnmBas, "mmm.yy")
şeklinde yazmak gerekiyor