Skip to main content

AccessTr.neT


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

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

Çözüldü #1
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
Son Düzenleme: 05/03/2019, 14:42, Düzenleyen: fkilic76.
Cevapla
#2
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"))
Cevapla
#3
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

Cevapla
#4
üstadım ilginiz için teşekkürler.
lakin Kod Olmadı ya da ben bir şeyleri unuttum, 
ilgili proje ekte
.rar PERSONEL.rar (Dosya Boyutu: 83,89 KB | İndirme Sayısı: 2)
Cevapla
#5
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

Cevapla
#6
Tamam üstadım.oldu ellerine sağlık
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task