AccessTr.neT
Parametre değerini kontrol etmek - 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ığı: Parametre değerini kontrol etmek (/konu-parametre-degerini-kontrol-etmek.html)

Sayfalar: 1 2 3


Parametre değerini kontrol etmek - febas - 08/05/2010

Merhabalar

Aşağıdaki Sql i modül olarak oluşturdum ve makro üzerinden çalıştırıyorum, çalıştırdığımda Firma_Adını_Giriniz parametresi çıkıyor herhangi bir değer girdiğimde çalışıyor. sormak istediğim

1. ifadeyi nasıl kontrol altına alabilirim örn eğer değer boşsa veya tabloda yoksa uyarı versin
2. parametreyi iptal et dediğimde error veriyor ve eylem başarısız ekranını açıyor bunu nasıl engelliyebilirim ?

yardımlarınız için şimdiden çok teşekkür ederim.


"SELECT kmtportfoy.firma, tblyetkili.yetkili, tblyetkili.irttel, tblyetkili.mail, tblyetkili.nprd INTO rapor FROM kmtportfoy INNER JOIN tblyetkili ON kmtportfoy.kimlik = tblyetkili.baglanti where firma= ( Firma_Adını_Giriniz)"


Cvp: Parametre değerini kontrol etmek - ercansahin - 08/05/2010

Sn febas, lütfen örneğinizi Site Kurallarına uygun hale getiriniz. Aksi halde cevap alamayacaksınız..Bilginize


Cvp: Parametre değerini kontrol etmek - febas - 08/05/2010

Ozur
özen gösteriyorumkurallara ama bazen gözden kaçabiliyor


Cvp: Parametre değerini kontrol etmek - ercansahin - 08/05/2010

Şimdi oldu.. Ancak yeniden eklemektense öncekini kaldırıp yerine eklemeniz daha uygun olurdu.

Sorunuzun cevabına gelince; gördüğüm kadarıyla yazdığınız Sql sonunda belirttiğiniz firma= ( Firma_Adını_Giriniz) bölümünde yer alan Firma_Adını_Giriniz parametre değeri olarak karşınıza çıkmakta.. Çünkü buraya yazdığınız alanın bir form vb. yerde varolması ve bilginin buradan alınması gerekmetedir. Örneğin siz bu parametre sorulduğunda x yazarak tamam tıkladığınızda normal olarak çalıştığını ve x firmasına ait bilgilerin Excele aktarıldığını göreceksiniz. Haliyle bu soruya iptal dediğinizde Sql tamamlanamamakta ve hata mesajı vermektedir.


Cvp: Parametre değerini kontrol etmek - febas - 08/05/2010

birdahakine böyle bir sorun olmasın ama alursa belirttiğiniz şekilde yaparım Img-grin

evet tablo üzerinden kontrol sağlanıyor benimde kontrol altına almak istediğim bu kısım bu cümle içerisnde if deyimini kullanarak boş veya tablodaki veriye eşit değilse kayıt bulunmadı uyarısını verdirmek
ve parametre değerinde iptal tıklanırsa hataya düşmeden fonksiyondan çıkmak bunu nasıl yapabilirim ?


Cvp: Parametre değerini kontrol etmek - ercansahin - 08/05/2010

Sn febas, sanırım ben tam olarak anlatamadım..Siz örneğin KMT formunuzdaki frm alanını ölçüt olarak Sql in sonuna yazmalısınız. Aksi halde her seferinde size parametre soracaktır. KMT formunuzu açarak ekleyeceğiniz bir düğme ile Makro'yu tetikleyin. Ancak öncesinde;

Kod:
DoCmd.RunSQL "SELECT kmtportfoy.ncst, kmtportfoy.frmadrres, kmtportfoy.frmirt, tblyetkili.yetkili, tblyetkili.irttel, tblyetkili.mail, tblyetkili.nprd INTO a FROM kmtportfoy INNER JOIN tblyetkili ON kmtportfoy.kimlik = tblyetkili.baglanti where (firma= forms!KMT!frm)"
SQL i bununla değiştirip terkar deneyin. Parametre sormayacağı için cevaplamanız gereken bir durumda olmayacak, böylelikle hata mesajı ile de karşılaşmayacaksınız..
Daha doğrusu kodlarınızı aşağıdaki ile değiştirir ve KMT formunuza ekleyeceğiniz bir düğme ile çalıştırırsanız. Boş olması halinde istediğiniz mesajı da alabilirsiniz.
Kod:
Public Function ytk()
Dim nesne, nesne1 As Object
DoCmd.SetWarnings False
If IsNull(Forms!kmt!frm) Then
Call MsgBox("Lütfen Firma alanının dolu olduğundan emin olunuz.", vbExclamation, "Dikkat")
Else
DoCmd.RunSQL "SELECT kmtportfoy.ncst, kmtportfoy.frmadrres, kmtportfoy.frmirt, tblyetkili.yetkili, tblyetkili.irttel, tblyetkili.mail, tblyetkili.nprd INTO a FROM kmtportfoy INNER JOIN tblyetkili ON kmtportfoy.kimlik = tblyetkili.baglanti where (firma= forms!KMT!frm)"

DoCmd.TransferSpreadsheet acExport, 8, "a", CurrentProject.Path & "\nprd.xls", False
Set nesne = CreateObject("Excel.Application")
Set nesne1 = nesne.Workbooks.Open(CurrentProject.Path & "\nprd.xls")
nesne.Application.Visible = True
End If
End Function