[FORM] Forum Kapandığında Otomatik Tablo Yapma Sorgusunun çalışması
#1

.rar   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.



  Alıntı
Bu mesajı beğenenler:
#2
If Nz(DCount("*", "ARSİVGR", "TARİHİ=#" & Format(Me.İlkTarih, "mm\/dd\/yyyy") & "#"), 0) > 0 Then

olarak değıştırın.



  Alıntı
Bu mesajı beğenenler:
#3
(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.



  Alıntı
Bu mesajı beğenenler:
#4
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
  1. Private Sub Form_Close()
  2. On Error GoTo Form_Open_Err
  3. Select Case MsgBox("İşlemleri Arşivlemek Zorunludur. Aksi Takdirde Tüketilen Gıda Toplamı Hesaplanmayacaktır." _
  4.            & vbCrLf & "" _
  5.            & 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." _
  6.            & vbCrLf & "" _
  7.            , vbCritical, "                    DİKKAT!!! ARŞİVLEME İŞLEMİ YAPMAK ZORUNLUDUR")
  8.                        
  9.    Case vbOK
  10.      
  11.    If Nz(DCount("*", "ARSİVGR", "TARİHİ=#" & Format(Me.İlkTarih, "mm\/dd\/yyyy") & "#"), 0) >=Then
  12.        MsgBox "Bu kaydın arşiv işlemi yapılmıştır.", vbInformation, "BİLGİ!!!"
  13.    Else
  14.     On Error GoTo Query_Open_Err
  15.     DoCmd.OpenQuery "GRARSİV", acViewNormal, acEdit
  16. Query_Open_Exit:
  17.     Exit Sub
  18. Query_Open_Err:
  19.    MsgBox "İşlem İptal Edildi...Arşivleme Yapılmadı", vbInformation, "BİLGİ!!!"
  20.    Resume Query_Open_Exit
  21.    End If
  22. Form_Open_Exit:
  23.     Exit Sub
  24. Form_Open_Err:
  25.    
  26.    End Select
  27. End Sub





  Alıntı
Bu mesajı beğenenler:
#5
(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
  1. Private Sub Form_Close()
  2. On Error GoTo Form_Open_Err
  3. Select Case MsgBox("İşlemleri Arşivlemek Zorunludur. Aksi Takdirde Tüketilen Gıda Toplamı Hesaplanmayacaktır." _
  4.            & vbCrLf & "" _
  5.            & 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." _
  6.            & vbCrLf & "" _
  7.            , vbCritical, "                    DİKKAT!!! ARŞİVLEME İŞLEMİ YAPMAK ZORUNLUDUR")
  8.                        
  9.    Case vbOK
  10.      
  11.    If Nz(DCount("*", "ARSİVGR", "TARİHİ=#" & Format(Me.İlkTarih, "mm\/dd\/yyyy") & "#"), 0) >=Then
  12.        MsgBox "Bu kaydın arşiv işlemi yapılmıştır.", vbInformation, "BİLGİ!!!"
  13.    Else
  14.     On Error GoTo Query_Open_Err
  15.     DoCmd.OpenQuery "GRARSİV", acViewNormal, acEdit
  16. Query_Open_Exit:
  17.     Exit Sub
  18. Query_Open_Err:
  19.    MsgBox "İşlem İptal Edildi...Arşivleme Yapılmadı", vbInformation, "BİLGİ!!!"
  20.    Resume Query_Open_Exit
  21.    End If
  22. Form_Open_Exit:
  23.     Exit Sub
  24. Form_Open_Err:
  25.    
  26.    End Select
  27. End Sub


Visual Basic
  1. If Nz(DCount("*", "ARSİVGR", "TARİHİ=#" & Format(Me.İlkTarih, "mm\/dd\/yyyy") & "#"), 0) >Then bu şekilde çalısıyor alper hocam





  Alıntı
Bu mesajı beğenenler:
#6
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.



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  [FORM] Alt Forum Dan Tıklandıgında Yenı Form Acmak sevincili 1 20 Dün, 22:34
Son Mesaj: dsezgin
  [SORGU] Iki Tablo Arasında Sorgu Ile Güncelleme Yapma yahyamacit 2 129 10-11-2023, 13:22
Son Mesaj: yahyamacit
  Altformda Hücre Ile Değil Satır Ile Işlem Yapma Hakkında. OGUZTURKYILMAZ 1 151 22-04-2023, 23:48
Son Mesaj: OGUZTURKYILMAZ
  [TABLO] Döviz Cinsine Göre Tablo Yapma blumanx 9 421 08-03-2022, 21:56
Son Mesaj: blumanx
  [FORM] Ana Menü Oluşturma Ve Iç Içe Formlar Yapma.... rerdem1903 2 406 19-11-2021, 13:26
Son Mesaj: rerdem1903
  Sosyal Medyalarda Paylaşım Yapma adnnfrm 3 246 20-10-2021, 15:52
Son Mesaj: onur_can
  Batch Dosyası Ile Işlem Yapma bynuro3 2 401 18-03-2021, 16:25
Son Mesaj: bynuro3
  Kapalı Iki Access Dosyasının Brini Diğerine üçüncü Dosyadan Yapma erdenferdi06 1 336 13-02-2021, 09:57
Son Mesaj: onur_can

Foruma Git:


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