Skip to main content

AccessTr.neT


Sql Yapısı İçindeki Çalışmayan Dmax() Fonksiyonu

Sql Yapısı İçindeki Çalışmayan Dmax() Fonksiyonu

Çözüldü #1
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
.zip cokacok.zip (Dosya Boyutu: 50,67 KB | İndirme Sayısı: 6)
Son Düzenleme: 21/09/2020, 09:38, Düzenleyen: tarkanaykın.
Cevapla
#2
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
Cevapla
#3
ç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.
Cevapla
#4
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ı?
Cevapla
#5
Aynen, aslında aynı hedefe ulasan farklı konular, taşıyabilirsiniz, kolay gelsin
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da