Kayıt Tarihi: 22.03.2011
Toplam 55 konu açtı.
Toplam 279 yorum yaptı.
Toplam
0
puanı bulunmakta.
Mevcut Office Sürümü:
Office 2016,
Beğeniler: 0 / 0
deneme1.rar (Boyut: 152,38 KB / İndirilme: 20)
“Rapor Tarih Aralığı” isimli form kapandığında “ARSİVGR” isimli tablo içeriğinde bulunan “TARİHİ” isimli alan kontrol edilecek, eğer (ÖRNEK olarak 04.11.2022 veya 05.11.2022 …vb tarihli) kayıtlar varsa "Bu kaydın arşiv işlemi yapılmıştır." Mesajı verecek
Kayıt arşivde yoksa DoCmd.OpenQuery "GRARSİV", acViewNormal, acEdit sorgusunu çalıştırıp kaydı
“ARSİVGR” isimli tablo içerisine arşivleyecek.
“Rapor Tarih Aralığı” isimli form arkasında formun “kapandığında olayında” benzer bir kod yapamaya çalıştım ancak başarılı olamadım.
Siz değerli üstadlarımın yardımlarını bekler; Teşekkürlerimi sunarım.
Vt örneği eklenmiştir.
Kayıt Tarihi: 24.03.2013
Toplam 25 konu açtı.
Toplam 8.676 yorum yaptı.
Toplam
941
puanı bulunmakta.
Mevcut Office Sürümü:
Office 2013,
Beğeniler: 47 / 209
If Nz(DCount("*", "ARSİVGR", "TARİHİ=#" & Format(Me.İlkTarih, "mm\/dd\/yyyy") & "#"), 0) > 0 Then
olarak değıştırın.
Kayıt Tarihi: 22.03.2011
Toplam 55 konu açtı.
Toplam 279 yorum yaptı.
Toplam
0
puanı bulunmakta.
Mevcut Office Sürümü:
Office 2016,
Beğeniler: 0 / 0
(04-11-2022, 18:16)dsezgin demiş ki: If Nz(DCount("*", "ARSİVGR", "TARİHİ=#" & Format(Me.İlkTarih, "mm\/dd\/yyyy") & "#"), 0) > 0 Then
olarak değıştırın.
Sezgin hocam; haftasonu bakma şansım olmadı. Bahsettiğiniz koşul istediğim gibi olmuş çok teşekkür ederim.
Emeğine sağlık.
Kayıt Tarihi: 06.11.2013
Toplam 93 konu açtı.
Toplam 626 yorum yaptı.
Toplam
88
puanı bulunmakta.
Mevcut Office Sürümü:
Office 2016,
Office 2019,
Beğeniler: 0 / 31
07-11-2022, 10:43
(En son düzenleme: 07-11-2022, 10:59 alperalper.)
Yalnız birşey dikkatimi çekti. dsezgin hocam gerekli düzeltmeyi yapmış tarih formatındaki hatadan dolayı koşul çalışmıyormuş ancak aşağıdaki
If Nz(DCount("*", "ARSİVGR", "TARİHİ=#" & Format(Me.İlkTarih, "mm\/dd\/yyyy") & "#"), 0) >= 0 Then
koşulu her zaman >=0 olacaktır zaten. Mesaja Ok dediğinizde ister ARSİVGR de arşiv olsun isterse olmasın her iki şekilde de bu koşul çalışacak. DoCmd.OpenQuery "GRARSİV", acViewNormal, acEdit açılmayacak yani. Nz() null olan değeri 0 yapacağı için bu koşul her zaman >=0 olacaktır diye düşünüyorum.
Visual Basic Private Sub Form_Close() On Error GoTo Form_Open_Err Select Case MsgBox("İşlemleri Arşivlemek Zorunludur. Aksi Takdirde Tüketilen Gıda Toplamı Hesaplanmayacaktır." _ & vbCrLf & "" _ & vbCrLf & "Yeni işlemi arşivlemek için TAMAM tuşuna tıklayın. Eğer arşiv işlemi yapılmamış ise çıkan menüden EVET tuşuna basarak işlemi bitiriniz." _ & vbCrLf & "" _ , vbCritical, " DİKKAT!!! ARŞİVLEME İŞLEMİ YAPMAK ZORUNLUDUR") Case vbOK If Nz(DCount("*", "ARSİVGR", "TARİHİ=#" & Format(Me.İlkTarih, "mm\/dd\/yyyy") & "#"), 0) >= 0 Then MsgBox "Bu kaydın arşiv işlemi yapılmıştır.", vbInformation, "BİLGİ!!!" Else On Error GoTo Query_Open_Err DoCmd.OpenQuery "GRARSİV", acViewNormal, acEdit Query_Open_Exit: Exit Sub Query_Open_Err: MsgBox "İşlem İptal Edildi...Arşivleme Yapılmadı", vbInformation, "BİLGİ!!!" Resume Query_Open_Exit End If Form_Open_Exit: Exit Sub Form_Open_Err: End Select End Sub
Kayıt Tarihi: 22.03.2011
Toplam 55 konu açtı.
Toplam 279 yorum yaptı.
Toplam
0
puanı bulunmakta.
Mevcut Office Sürümü:
Office 2016,
Beğeniler: 0 / 0
(07-11-2022, 10:43)alperalper demiş ki: Yalnız birşey dikkatimi çekti. dsezgin hocam gerekli düzeltmeyi yapmış tarih formatındaki hatadan dolayı koşul çalışmıyormuş ancak aşağıdaki
If Nz(DCount("*", "ARSİVGR", "TARİHİ=#" & Format(Me.İlkTarih, "mm\/dd\/yyyy") & "#"), 0) >= 0 Then
koşulu her zaman >=0 olacaktır zaten. Mesaja Ok dediğinizde ister ARSİVGR de arşiv olsun isterse olmasın her iki şekilde de bu koşul çalışacak. DoCmd.OpenQuery "GRARSİV", acViewNormal, acEdit açılmayacak yani. Nz() null olan değeri 0 yapacağı için bu koşul her zaman >=0 olacaktır diye düşünüyorum.
Visual Basic Private Sub Form_Close() On Error GoTo Form_Open_Err Select Case MsgBox("İşlemleri Arşivlemek Zorunludur. Aksi Takdirde Tüketilen Gıda Toplamı Hesaplanmayacaktır." _ & vbCrLf & "" _ & vbCrLf & "Yeni işlemi arşivlemek için TAMAM tuşuna tıklayın. Eğer arşiv işlemi yapılmamış ise çıkan menüden EVET tuşuna basarak işlemi bitiriniz." _ & vbCrLf & "" _ , vbCritical, " DİKKAT!!! ARŞİVLEME İŞLEMİ YAPMAK ZORUNLUDUR") Case vbOK If Nz(DCount("*", "ARSİVGR", "TARİHİ=#" & Format(Me.İlkTarih, "mm\/dd\/yyyy") & "#"), 0) >= 0 Then MsgBox "Bu kaydın arşiv işlemi yapılmıştır.", vbInformation, "BİLGİ!!!" Else On Error GoTo Query_Open_Err DoCmd.OpenQuery "GRARSİV", acViewNormal, acEdit Query_Open_Exit: Exit Sub Query_Open_Err: MsgBox "İşlem İptal Edildi...Arşivleme Yapılmadı", vbInformation, "BİLGİ!!!" Resume Query_Open_Exit End If Form_Open_Exit: Exit Sub Form_Open_Err: End Select End Sub
Visual Basic If Nz(DCount("*", "ARSİVGR", "TARİHİ=#" & Format(Me.İlkTarih, "mm\/dd\/yyyy") & "#"), 0) > 0 Then bu şekilde çalısıyor alper hocam
Kayıt Tarihi: 06.11.2013
Toplam 93 konu açtı.
Toplam 626 yorum yaptı.
Toplam
88
puanı bulunmakta.
Mevcut Office Sürümü:
Office 2016,
Office 2019,
Beğeniler: 0 / 31
07-11-2022, 18:58
(En son düzenleme: 07-11-2022, 18:59 alperalper.)
Aynen. Şimdi doğru olmuş. Eğer tabloda ilgili tarihteki kayıt sayısı sıfırdan büyükse mesaj değilse sorgu çalışır.
|