Set Qdf=currentdb.querydefs Sorguda Oluşturulan Değerleri Çağıramıyorum Hata Alıyorum

1 2 3
30/09/2020, 23:38

bibib

Arkadaşlar alt form üzerinden sorugusunu oluşturuğum alandaki değerleri worde aktarmak istiyorum fakat hata alıyorum
başka bir bölüm için yapmıştıım sıkıntı olmadan çalışıuyor aynı kodları taşıdım fakat bir türlü çözemedim yardımcı olursanız sevinirim

-------------hata veren kod--------------------
Set qdf = CurrentDb.QueryDefs("Tevdi_Listesi_Sorgu")

qdf![Forms]![Kayıt_Giriş]![Talepler_Form].[Form]![Adl_krm_Kutu] = [Forms]![Kayıt_Giriş]![Talepler_Form].[Form]![Adl_krm_Kutu]

Set rs = qdf.OpenRecordset()

verilen hata:
1- sorgular kısmından Adliyeyi ölçüt kısmından oluştur kullanarak [Formlar]![Kayıt_Giriş]![Talepler_Form].[Form]![Adl_krm_Kutu] şeklinde eşitlediğim zaman form çalışıp ilgili adliye seçilince sorgulardaki tevdi_listesi_sorgu sorgu direk program üzerinden çalıştırılınca normal çalışıyor istediğim değerleri veriyor fakat  fakat kodla çalışınca (yukarıdaki kodda) hata veriyor (2.satırda "Öğe bu derlemede bulunamadı hata 3265 kodu)  hatasını veriyor
2- Eğer bu kodu kapatırsam ve devam ettirirsem bu seferde (çok az parametre. 1beklenitor hata kodu 3061)
3- Eğer ölçüt alnından ([Formlar]![Kayıt_Giriş]![Talepler_Form].[Form]![Adl_krm_Kutu]) değeri kaldırıp talepler data sorgu ile adliyeyi ilişkilendirirsem yine sorgu direk program üzerinden çalıştırılınca normal çalışıyor istediğim değerleri veriyor fakat kodla çalışınca

Hata-1: koddaki 2 satır kapatılıp çalıştırılınca istediğim adliyeye ait değerler değil farklı değerleri worde atıyor
Hata-2: eğer 2.satırı kapatmadan çılıştırısam yukarıdaki aynı hata olan  (2.satırda "Öğe bu derlemede bulunamadı hata 3265 kodu)  hatasını veriyor
lütfen kodu nasıl düzeltirim yardımcı olursanız sevinirim burada tıkandım 2.sıranın mantığı nasıl neye göre işlem yapıyor

örnek dosyayı yükledim
01/10/2020, 14:52

WiniFred

Merhaba,
Eklediğiniz dosyayı elimden geldiği kadar düzenledim. Şu an bende çalışıyor ama oluşturduğu word belgesindeki tabloya listeyi yazdırmıyor. O kısım hakkında bilgim olmadığı için dosyayı bu haliyle ekliyorum.

Öncelikle Vba kodlarında düzenlediğim ya da eklediğim her satıra

'accesstr.net

açıklamasını ekledim. Yani bu açıklamayı kodlarınızın içinde arattığınızda ilgili satırlara hızlıca gidebilirsiniz.

1) Bir altformdaki textbox'a başvurmak sıkıntılı olabiliyor Access'te ve her sürüm değişik yazım isteyebiliyor. Bu yüzden bununla uğraşmamak için Vba içerisinde sizin textbox'ınızın içeriğini değişkene aktarma yolunda bir değişiklik yaptım.

2) "Tevdi_Listesi_Sorgu" isimli sorgunuzdaki WHERE satırını

WHERE (((Tevdi_Listesi.Adliye)=[ParamAdliye]));

şeklinde değiştirdim.

3) "Word'e Gönder" butonunun altındaki kodlarda yaptığım diğer değişikliklerin yanında

'-----Kayıtların gelip gelmediği test ediliyor--accesstr.net-----------
MsgBox rs("Tevdi_Dosya_No") & "--" & rs("Tevdi_adı_Soyadı") & "--" & rs("Tevdi_Gidecek_yer") & "--" & rs("Adliye")
'--------------accesstr.net--------------------------------------------------

şeklinde bir bölüm ekledim. Burası size kayıtların sıkıntısız recodsete alınıp alınmadığını göstermesi içindir. Yalnız her satırda mesaj verir. Yani 10 kayıt varsa peş peşe 10 kez mesaj kutusu görürsünüz. Ben açık bıraktım. Burayı kapatabilir ya da silebilirsiniz.

Umarım sizde de problemsiz çalışır.

Saygılarımla...
01/10/2020, 20:03

bibib

Winifred hocam çok sağolun emeğinize sağlık evet sorunsuz çalışıyor. Sizden istirham etsem aynı tarz işlem yaptığım zaman siz değerli hocaların vaktini almamak ve öğrenmek adına kodda (qdf!) in yanına paramAdliye yazmışsınız (param) parametre nin kısaltması olarak mı yazdınız veya bir değişken ise neye göre bunu belirlediniz kısaca açıklarsanız çok sevinirim
01/10/2020, 20:48

WiniFred

evet "param"ı parametrenin kısaltılmışı olarak yazdım. Ama o, WHERE satırındaki "ParamAdliye"dir ve kendi verdiğim bir değişken ismidir. Oraya istediğinizi yazabilirsiniz. İsterseniz "AdliyeParametresi", isterseniz "fasulye" 
Zaten sorguyu tasarım ekranında açıp çalıştırdığınızda sizden ParamAdliye değişkenini isteyen bir İletişim kutusu çıkar. Oraya elle örneğin "İstanbul" yazabilirsiniz ve sorgunuzun çalışıp çalışmadığını anında görebilirsiniz.

Ayrıca WHERE satırı yine sizin yazdığınız gibi [Formlar]![Kayıt_Giriş]![Talepler_Form].[Form]![Adl_krm_Kutu] şeklinde olsa bile form açık değilken sorguyu çalıştırdığınızda yine aynı değişkeni isteyen bir İletişim kutusu çıkar ve elle giriş yaptığınızda sorgu çalışır. Çünkü bu ifade de sonuçta bir değişken belirtir.

Umarım kafanızı karıştırmadan yardımcı olabilmişimdir.

Benim anlayışınıza sığınarak bir tavsiyem olacak. Bilmiyorum buraya eklediğiniz örneği bilerek mi böyle yaptınız ama örneğinizdeki formda bir alt forma ihtiyaç yok zaten. Çünkü üst formda bağlanacak bir alan yok. Yani boşuna alt forma ulaşmaya çalışmakla uğraşmanıza gerek yok bu haliyle.

Son olarak aşağıda verdiğim adres son derece yararlı olabilir.

Saygılarımla...

http://access.mvps.org/access/forms/frm0031.htm
03/10/2020, 06:21

bibib

Hocam bilgilendirme için çok teşekkür ederim mantığı anlamam için çok faydası oldu, ayrıca programın tam hali çok büyük alan tuttuğu için sadece ilgili alanı örnek olsun diye bu şekilde düzenleyip verdim
03/10/2020, 06:28

bibib

Hocam sizden ve diğer hocalarımdan bir yardım daha istesem (bilmiyorum ayrı bir soru mu açmam lazımdı)

sorum şu
program çalışırken word şablonunu oluşturuyor ve kaydediyor daha sonra kaydettiği şablonu açıp içerisine bilgileri aktarıyor ve ilgili konuya göre isim verip kayıt yapıyor

sıkıntı şurada oluşuyor daha doğrusu denetleme yaptırmama lazım
bunlar
şablon oluştu ve hafızada açık kaldı ise yani açık olan (otomatik veya kullanıcı tarafından açık kalan) word belgesini hiç bir şey sormadan kaydetmeden kapatmasını istiyorum fakat kapatmıyor
yani
ben hangi komutla pc hafızasındaki word dosyasını/dosyalarını (sanki görev yöneticisinde işlemi sonlandır olayı gibi de olur) kapatabilirim
1 2 3