AccessTr.neT
İsteğe bağlı sorgu çalıştırma - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: İsteğe bağlı sorgu çalıştırma (/konu-istege-bagli-sorgu-calistirma.html)



İsteğe bağlı sorgu çalıştırma - yorum70 - 19/03/2015

İyi Akşamlar.

Veriler formundan sonyanıt tarihi gelmiş evraklar, cokluyazdir formu açılarak toplu yazdırılıyor.

Tarih:19,03,2024
raportarihi:19,03,2024
listele
coklurapor - açıldığında yazdır denilip çıkınca tarihler tabloda guncelleniyor..

Burada komutla sormasını ıstiyorum, evet dersem guncelleme sorgusu çalışsın, hayır dersem hiç bir değişiklik yapmadan çıksın...zira yanlış tarih girildiğinde otomatik olarak tum tarihler guncelleniyor.

Form:cokluyazdır
AnaForm:Veriler
Rapor:Ustyazı2
Sorgu:Sorgu1
Tablo:veriler.

Tşk.


Cvp: İsteğe bağlı sorgu çalıştırma - atoz112 - 19/03/2015

sayın yorum70,

uygulamanız incelendiğinde aşağıdaki hususlara yönelik olarak açıklamalar yapılması gerekli görülmüştür.

UYGULAMANIZDA MEVCUT OLANLAR ve ÇÖZÜMLERİ
1) harici olarak hazırlanmış ve içeriğinde rapor görselleri ön izleme olarak seçilen kayıtlar için Güncelleme yapılıp yapılmamasına dair tercihlerin oluşturulduğu kapat adlı bir form mevcut.

ÇÖZÜM
neden sırf bir tercih yapılması için,harici bir form hazırlama gerek duydunuz?
bu hem gereksiz hem de uygulamaya boşuna bir form külfetine yol açar.örnekte bu form,varlık olarak bırakılmış fakat kodlamalarda geçersiz kılınmıştır. 

2) ustyazi2 adlı raporunuzun Kapandığında Olay Yordamı içeriğinde,sadece

Kod:
DoCmd.OpenForm "kapat", acNormal
kod ifadesi yazılıydı.raporunuz kapatıldığında,kapat adlı formunuz açılmakta.

ÇÖZÜM
Kapandığında Olay Yordamı içerisine aşağıdaki kodlamayı dahil etmek yerinde olacaktır.

Kod:
Private Sub Report_Close()
Select Case MsgBox("Kayıtlarda değişiklik görüldü, değişiklik kaydedilsin mi?", vbYesNo, "Kaydedilsin mi?")

   Case vbYes
       DoCmd.SetWarnings False
       DoCmd.OpenQuery "Sorgu1", , acReadOnly
       DoCmd.SetWarnings True
       DoCmd.OpenForm "veriler", acNormal
       DoCmd.Close acForm, "cokluyazdir"
       [Forms]![veriler]![listem1].Requery
       [Forms]![veriler].Requery
       DoCmd.GoToRecord , , acLast
   Case vbNo
       DoCmd.OpenForm "veriler", acNormal
       DoCmd.Close acForm, "cokluyazdir"
       [Forms]![veriler]![listem1].Requery
       [Forms]![veriler].Requery
       DoCmd.GoToRecord , , acLast
   Exit Sub
End Select
End Sub

son oalrak,sayın yorum70,

EK'te;bütün bu bahsi yapılan açıklamaların uygulandığı ve gerekli düzeltmelerin yapılarak hazırlandığı örnek uygulama mevcuttur.inceleyebilirsiniz.bilginize...iyi çalışmalar,saygılar.


Cvp: İsteğe bağlı sorgu çalıştırma - yorum70 - 19/03/2015

Sn.ATOZ112, Kapat formunu en son çare olarak siteden, Sn.CELOYCE'nin bir katkısından aldım.

Öncesinde, Select Case deyimiyle bayağı bir çalıştım, Yes yordamında sorun çıkmamakla beraber;

Case vbNo

DoCmd.RunCommand acCmdUndo (Geri Al komutu hata vermişti)


       DoCmd.OpenForm "veriler", acNormal
       DoCmd.Close acForm, "cokluyazdir"
       [Forms]![veriler]![listem1].Requery
       [Forms]![veriler].Requery

      DoCmd.GoToRecord , , acLast

Bu şekilde çalışmıştım, eklentinizi indirip yanıt vereceğim.

Sn.ATOZ112, gayet başarılı olmuş.Teşekkür ediyorum.

Konu, çözümlenmiştir.
Saygılarımla.