İki Tarih Arası Ayların Listelenmesi

1 2
15/01/2020, 23:14

tekinuygun

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.




15/01/2020, 23:29

berduş

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
15/01/2020, 23:38

tekinuygun

(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.
16/01/2020, 10:37

berduş

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
16/01/2020, 10:47

tekinuygun

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

berduş

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
1 2