İki Tarih Arası Ay Bazında Satır Ekleme

1 2
05/03/2019, 14:40

fkilic76

Tüm Üstat ve üyelere selamlar.
Daha Önce ;Tabloya iki tarih arası "gün" kadar satır  açma hakkında soru sormuş ve gerekli yardımı almıştım.
Özetle 01.01.2019-31.01.2019 tarihleri arasına 31 adet satır eklenmiş ve ilgili tarihlere veri kaydedilmiştir.
Şimdiki Sorum:
01.01.2018-31.12.2018 iki tarih arası "AY" kadar satır  açma YANİ 12 ADET atmasını beklerken   benim yaptığımda 365 adet atıyor ve 01.12.2040 gibi bitiyor
konuyla alakalı kod ektedir. teşekkür ederim
Private Sub Komut32_Click()
Dim GTarih As Date
Dim GSayi As Integer
DoCmd.SetWarnings False

    If Me.Onay82 = False Then
   
For GSayi = 0 To CLng(Me.Metin44) - CLng(Metin43) - 0
GTarih = CDate(Format(DateAdd("d", GSayi, Me.Metin43), "dd/mm/yyyy"))
DoCmd.RunSQL "INSERT INTO Tablo1  (kisi_id, Tarih) VALUES (" & id & ",#" & Format(GTarih, "yyyy-mm-dd") & "#)"
Next

    Else
   
For GSayi = 0 To CLng(Me.Metin44) - CLng(Metin43) - 0
GTarih = CDate(Format(DateAdd("m", GSayi, Me.Metin43), "dd/mm/yyyy"))
DoCmd.RunSQL "INSERT INTO Tablo1  (kisi_id, Tarih) VALUES (" & id & ",#" & Format(GTarih, "yyyy-mm-dd") & "#)"
Next
    End If
DoCmd.SetWarnings True
Me.Tablo1_Alt_Form.Requery
End Sub

Private Sub Onay82_Click()
 If Me.Onay82 = True Then
    Me.Etiket83.Caption = "Aylık"
  Else
    Me.Etiket83.Caption = "Günlük"
    End If
End Sub
05/03/2019, 14:58

berduş

ay hesabı için ilgili alanı aşağıdaki şekilde değiştirip dener misiniz?

Kod:
CLng(Format(Me.Metin44, "mm")) - CLng(Format(Metin43, "mm"))
05/03/2019, 15:05

berduş

Aşağıdaki  şekilde daha doğru olur (önceki mesajda yıl farkını hesaba katmamışım)



Kod:
Tyil = CLng(Format(Me.Metin2, "yyyy")) - CLng(Format(Metin0, "yyyy"))
Tay = CLng(Format(Me.Metin2, "mm")) - CLng(Format(Metin0, "mm"))
ToplmAy = Tyil * 12 + Tay
For GSayi = 0 To  ToplmAy -1
05/03/2019, 16:30

fkilic76

üstadım ilginiz için teşekkürler.
lakin Kod Olmadı ya da ben bir şeyleri unuttum, 
ilgili proje ekte
05/03/2019, 16:53

berduş

aşağıdaki kodu dener misiniz?
Kod:
Private Sub Komut32_Click()
Dim GTarih As Date
Dim GSayi As Integer
DoCmd.SetWarnings False
    If Me.Onay82 = False Then
  
For GSayi = 0 To CLng(Me.Metin44) - CLng(Metin43) - 0
GTarih = CDate(Format(DateAdd("d", GSayi, Me.Metin43), "dd/mm/yyyy"))
DoCmd.RunSQL "INSERT INTO Tablo1  (kisi_id, Tarih) VALUES (" & id & ",#" & Format(GTarih, "yyyy-mm-dd") & "#)"
Next
    Else
   
  Tyil = CLng(Format(Me.Metin44, "yyyy")) - CLng(Format(Metin43, "yyyy"))
  Tay = CLng(Format(Me.Metin44, "mm")) - CLng(Format(Metin43, "mm"))
  ToplmAy = Tyil * 12 + Tay
 
  For GSayi = 0 To ToplmAy - 1
    GTarih = CDate(Format(DateAdd("m", GSayi, Me.Metin43), "dd/mm/yyyy"))
    DoCmd.RunSQL "INSERT INTO Tablo1  (kisi_id, Tarih) VALUES (" & id & ",#" & Format(GTarih, "yyyy-mm-dd") & "#)"
  Next
End If
DoCmd.SetWarnings True
Me.Tablo1_Alt_Form.Requery
End Sub
05/03/2019, 17:37

fkilic76

Tamam üstadım.oldu ellerine sağlık
1 2