Dini Bayramları Hesaplama Hatası
#37
(09-05-2024, 13:45)dsezgin demiş ki:
(09-05-2024, 11:42)Ahmet51 demiş ki: 29 Ekim Cumhuriyet Bayramı günü öncesinde yarım gün tatil olduğundan (28 Ekim de) arife yazmaktadır. Bu hatanın giderilmesi mümkünü varmıdır.
Ayrıca Dini Bayramlar da da Arife günlerini gösteren Günlük devam izlenimi raporlarında ilk iki kutucuğun  renksiz arka planı beyaz hafta içi gibi görünüp içeriği boş olsa sadece 3. kutucukta Arife yazdırmamız mümkün müdür.? Bunun için bir yol veya yöntem varmıdır.
36. mesaj daki ekran reimlerinde bahsedilen işlemi bir türlü yapamadım. Raporun arkasında ki kodu ekliyorum. Üstte ki açıklamada olduğu gibi nasıl yapılacak Üstadlarım yardımlarınızı bekliyorum.

Visual Basic
  1. Private Sub Ayrıntı_Print(Cancel As Integer, PrintCount As Integer)
  2. Dim ctl As Control
  3. Dim Trh As Date, Isrt, Hane As Long
  4. For Each ctl In Me.Report.Controls
  5.    Dim Statu As String
  6.    If Mid(ctl.Name, 1, 4) = "EtiG" Then
  7.            Trh = DateSerial(Year(Forms.Frm_TAKVIM.MTarih), Month(Forms.Frm_TAKVIM.MTarih), Replace(ctl.Name, "EtiG", vbNullString))
  8.                 If Month(Trh) = Month(Forms.Frm_TAKVIM.MTarih) Then
  9.                               Statu = DLookup("Isaret", "DiniBayram", "MTarih=#" & Format(Trh, "mm\/dd\/yyyy") & "#")
  10.                               For Hane = 1 To 3
  11.                                   Dim RAlan As String
  12.                                   RAlan = "EtiV" & Replace(ctl.Name, "EtiG", vbNullString) & Hane
  13.                                   Me.Controls(RAlan).Visible = True
  14.                                   Me.Controls(RAlan).BackColor = IIf(Statu = "NR", vbWhite, 10079487)
  15.    İlgili Satır .........         Me.Controls(RAlan).Caption = IIf(Eval("'" & Statu & "' IN('AT','HT')"), "Hafta Sonu", IIf(Statu = "RT", "Resmi Tatil", IIf(IsNumeric(Right(Statu, 1)), "Dini Tatil", IIf(Eval("'" & Right(Statu, 1) & "' IN('A','B')"), "Arife", vbNullString))))
  16.                               Next Hane
  17.                               Hane = 1
  18.                Else
  19.                            For Hane = 1 To 3
  20.                                Me.Controls(ctl.Name).Visible = False
  21.                                Me.Controls("EtiV" & Replace(ctl.Name, "EtiG", vbNullString) & Hane).Visible = False
  22.                                Me.Controls("EtiV" & Replace(ctl.Name, "EtiG", vbNullString) & Hane).Caption = vbNullString
  23.                        Next Hane
  24.                End If
  25.        End If
  26. Next ctl
  27. End Sub





  Alıntı
Bu mesajı beğenenler:
#38
Örnek uygulama dosyasında, yöntemi ne kadar uygulandığı ve yönlendirme için konuya ekler misiniz?

Eski örnekleriniz üzerinden, rapor ayrıntı yazdırıldığı olay yordamı ilgili satırı güncelleyebilirsiniz.
Visual Basic
  1. Private Sub Ayrıntı_Print(Cancel As Integer, PrintCount As Integer)
  2. Dim ctl As Control
  3. Dim Trh As Date, Isrt, Hane As Long
  4. For Each ctl In Me.Report.Controls
  5.    Dim Statu As String
  6.    If Mid(ctl.Name, 1, 4) = "EtiG" Then
  7.            Trh = DateSerial(Year(Forms![frmRaporlar]!Metin32), Month(Forms![frmRaporlar]!Metin32), Replace(ctl.Name, "EtiG", vbNullString))
  8.                 If Month(Trh) = Month(Forms![frmRaporlar]!Metin32) Then
  9.                               Statu = DLookup("Isaret", "DiniBayram", "MTarih=#" & Format(Trh, "mm\/dd\/yyyy") & "#")
  10.                               For Hane = 1 To 3
  11.                                   Dim RAlan As String
  12.                                   RAlan = "EtiV" & Replace(ctl.Name, "EtiG", vbNullString) & Hane
  13.                                   Me.Controls(RAlan).Visible = True
  14. ' *********************ilgili Alanlar ********************************
  15. Me.Controls(RAlan).BackColor = IIf(Statu = "NR", vbWhite, IIf(Right(Statu, 1) = "A" And Hane < 3 Or Statu = "CB" And Hane < 3, vbWhite, 10079487))
  16. Me.Controls(RAlan).Caption = IIf(Eval("'" & Statu & "' IN('AT','HT')"), "Hafta Sonu", IIf(Statu = "RT", "Resmi Tatil", IIf(IsNumeric(Right(Statu, 1)), "Dini Tatil", IIf(Eval("'" & Right(Statu, 1) & "' IN('A')") And Hane = 3, "Arife", IIf(Right(Statu, 2) = "CB" And Hane = 3, "Resmi Tatil", vbNullString)))))
  17.  
  18. '****************************************************************
  19.                               Next Hane
  20.                               Hane = 1
  21.                Else
  22.                            For Hane = 1 To 3
  23.                                Me.Controls(ctl.Name).Visible = False
  24.                                Me.Controls("EtiV" & Replace(ctl.Name, "EtiG", vbNullString) & Hane).Visible = False
  25.                                Me.Controls("EtiV" & Replace(ctl.Name, "EtiG", vbNullString) & Hane).Caption = vbNullString
  26.                        Next Hane
  27.                End If
  28.        End If
  29. Next ctl
  30. End Sub





  Alıntı
Bu mesajı beğenenler:
#39
(17-05-2024, 12:26)dsezgin demiş ki: Örnek uygulama dosyasında, yöntemi ne kadar uygulandığı ve yönlendirme için konuya ekler misiniz?

Üstadım Raporun ardındaki kodda For Next Döngüsünü For 1 To 3 den For 3 To 3 yapınca

Sabah    Öğle       Aksam
   Boş       Boş       Dolu

şekline geliyor ancak bu şekilde bayram günlerini de kesiyor. Bundan başka da bir yaklaşım bulamadım. Başka da bir bilgiye sahip değilim. Nasıl bir kod yazılmalı maalesef bilmiyorum.

Ne demek istediğimi ekte ki uygulama raporunda görebilirsiniz.

TakvimMiladHicri.rar(Rapor Örnekti) ihtiyacı karşılamaz.



  Alıntı
Bu mesajı beğenenler:
#40
TakvimMiladHicri orneğini değil sizin Memur Devam İzlenimi uygulama dosyanızdan bahsetmiştim.
Yukarıdaki(Mesaj 39) iki satırlık değişikliği, eklediğiniz kod yapıp, kendi projenizde kullanabilirsiniz.

Forms.Frm_TAKVIM.MTarih alanı Forms![frmRaporlar]!Metin32 olmalı.
DiniBayram tablosuna bağlı tablo ile irtibatlandırabilirsiniz.


Eklenti Dosyaları
.rar   MemurDevamİzlenimi.rar (Boyut: 301,56 KB / İndirilme: 10)



  Alıntı
Bu mesajı beğenenler:
#41
(17-05-2024, 16:56)dsezgin demiş ki: TakvimMiladHicri orneğini değil sizin Memur Devam İzlenimi uygulama dosyanızdan bahsetmiştim.
Yukarıdaki(Mesaj 39) iki satırlık değişikliği, eklediğiniz kod yapıp, kendi projenizde kullanabilirsiniz.

Forms.Frm_TAKVIM.MTarih alanı Forms![frmRaporlar]!Metin32 olmalı.
DiniBayram tablosuna bağlı tablo ile irtibatlandırabilirsiniz.

Üstadım emeğine sağlık tam istediğim gibi olmuş. Uygulamayı güncelledim işlem tamamdır.

Üstadım sonsuz teşekkürler. Minettarım.



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  Bir Sütuna Girilen Verileri Başka Bir Sütun Ile Karşılaştırıp Hesaplama bilservisci 4 277 08-01-2024, 11:58
Son Mesaj: bilservisci
  Faiz Hesaplama cirdakc 2 153 17-08-2023, 18:00
Son Mesaj: cirdakc
  [FORM] Liste Kutusundaki Veriye Göre Stok Ve Ihtiyaç Verisini Otomatik Hesaplama husem 2 252 08-06-2023, 19:03
Son Mesaj: husem
  Hesaplama Yapılan Alanlar Boş Görünüyor ankaram 4 184 08-11-2022, 13:02
Son Mesaj: ankaram
access-sql-9 [VBA] Periyot Hesaplama alperalper 7 392 07-08-2022, 12:13
Son Mesaj: alperalper
  [SORGU] Süre Hesaplama Access Ziyaretçisi 2 195 06-08-2022, 20:05
Son Mesaj: Access Ziyaretçisi
  [SORGU] Access Ardışık Satırlarda Tarih Farkını Hesaplama Hakkında ! sduta 3 251 17-03-2022, 21:23
Son Mesaj: sduta
  Yi - üfe Yurt Içi üretici Fiyat Endeksi Hesaplama Uygulaması tanyeri 2 259 20-02-2022, 07:39
Son Mesaj: tanyeri

Foruma Git:


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