AccessTr.neT
Sql Yapısı İçindeki Çalışmayan Dmax() Fonksiyonu - 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ığı: Sql Yapısı İçindeki Çalışmayan Dmax() Fonksiyonu (/konu-sql-yapisi-icindeki-calismayan-dmax-fonksiyonu.html)



Sql Yapısı İçindeki Çalışmayan Dmax() Fonksiyonu - tarkanaykın - 21/09/2020

DoCmd.RunSQL "INSERT INTO egitimler_kisiler ( kisi_id, egitim_id ) SELECT kisiler.kisi_id, egitimler.egitim_id  FROM kisiler INNER JOIN egitimler ON kisiler.departman = egitimler.departman  WHERE (((kisiler.kisi_id) = DMax(("[kisi_id]", "[kisiler]")))"

merhaba herkese kolaylıklar dileyerek.... arkadaşlar WHERE ifadesinin içine yerleştirilen bu fonksiyon normalde başka bir yere yazıp denediğim zaman çalışıyor ama bu sorgunun içinde "expected end of statement" uyarısı veriyor, normalde sorguda bi sıkıntı yok denedim çalışıyor,  bi bakar mısınız dosyayı da göndereyim.  ayrıyeten bir a değişkenine atıyorum o a değişkenini WHERE den sonra yazıyorum bu defa a değerini input  kutusuyla benden istiyor, komedi gibi Lol


RE: Sql Yapısı İçindeki Çalışmayan Dmax() Fonksiyonu - berduş - 21/09/2020

Dosyanızı inceleyemedim ama yazdığınız koda bakınca şu hatayı gördüm:
SQL komutları metin tabanlıdır Vba kodlarında metinsel veriler çift tırnak içine alınır eğer kullandığınız ifadede de çift tırnak varsa ifadeyi tekrar çift tırnak içine alırken ifadede kullandığınız çift tırnaklar ya tek tırnağa çevrilir yada çift çift tırnağa çevrilir
Örneğin yukardaki kodda dmax içinde 4 adet çift tırnak kullanılmış dolayısıyla ifade aşağıda şekilde yazılmalı

DoCmd.RunSQL "INSERT INTO egitimler_kisiler ( kisi_id, egitim_id ) SELECT kisiler.kisi_id, egitimler.egitim_id  FROM kisiler INNER JOIN egitimler ON kisiler.departman = egitimler.departman  WHERE (((kisiler.kisi_id) = DMax(('[kisi_id]', '[kisiler]')));"
Yada

DoCmd.RunSQL "INSERT INTO egitimler_kisiler ( kisi_id, egitim_id ) SELECT kisiler.kisi_id, egitimler.egitim_id  FROM kisiler INNER JOIN egitimler ON kisiler.departman = egitimler.departman  WHERE (((kisiler.kisi_id) = DMax((""[kisi_id]""""[kisiler]"")));"

Bir de tabletten incelediğim için emin olamadım ama acılan kadar kapatılmalı parantezler


RE: Sql Yapısı İçindeki Çalışmayan Dmax() Fonksiyonu - tarkanaykın - 21/09/2020

çok şükür çok teşekkür ederim, taşlar zamanla bir bir yerine oturuyor, sayın berduş hocam çok teşekkür ettim, sonunda istediğim şeyi oluşturabildim , çoka çok ilişkili tablolarda  ilk hamlede A tablosunu doldurup ikinci hamlede ise  B tablosuna eklediğim her yeni kayıtta A tablosuyla B tablosunu ilişkilendirme olayı bu şekilde de olabiliyormuş, çok teşekkürler, emeğinize sağlık.


RE: Sql Yapısı İçindeki Çalışmayan Dmax() Fonksiyonu - berduş - 21/09/2020

Rica ederim)
yalnız bir önceki konunuza dönüş yapmadınız son 3 konunuz da çözülmüş oldu mu, cevaplanmışlara taşıyalım mı?


RE: Sql Yapısı İçindeki Çalışmayan Dmax() Fonksiyonu - tarkanaykın - 21/09/2020

Aynen, aslında aynı hedefe ulasan farklı konular, taşıyabilirsiniz, kolay gelsin