İfade Ve / Veya Fonksiyon İçinde Değişken Kullanma Kuralları Sorunu

25/10/2020, 14:31

tarkanaykın

arkadaşlar bu sorunum farklı bir çalışma (benim ve kurum için önemli) dan, size zahmet bi bakabilir misiniz.

WHERE (( " & dgr14 & " ) = DMax( " & dgr20 & " , ' " & dgr16 & " '))

dgr14= KISILER.kisi_id 'tablo ve alan
dgr20=kisi_id 'alan
dgr16=KISILER 'tablo

merhaba arkadaşlar bu ifadeyi evirip cevirip çalıştırıyorum çalışmıyor , acaba nerede hata yapıyorum bi bakabilir misiniz, şimdiden teşekkürler.

dosya ekte, ANAFORM da ekle butnunun değerlerini alan ekle() fonksiyonunda
25/10/2020, 15:54

berduş

kodu aşağıdaki gibi düzenleyip dener misiniz?
"INSERT INTO " & dgr11 & " ( " & dgr12 & "," & dgr13 & " ) SELECT " & dgr14 & ", " & dgr15 & "  FROM " & _
            dgr16 & " INNER JOIN " & dgr17 & " ON  " & dgr18 & "  = " & dgr19 & _
            "  WHERE ((  " & dgr14 & "  ) = DMax(  '" & dgr20 & "'  , '" & dgr16 & "'))"
"  WHERE ((  " & dgr14 & "  ) = DMax(  " & dgr20 & "  , ' " & dgr16 & " '))"
dmax("alanAdi","tabloAdi") dmaxta gördüğünüz gibi alanın da hem başında hem sonunda tırnak işareti var oysa yukardaki ifadede dgr20 ifadesinin başında ve sonunda tırnak işareti yok. ayrıca tablo isminin başına ve sonuna tırnak işareti koymak gerekir bu doğru ama siz tırnaklar ile tabloadı arasına fazladan boşluk koyduğunuzdan tabloyu bulamıyor
25/10/2020, 17:08

berduş

yada Dmaxı doğrudan sorgu dışına da alabilirsiniz
"INSERT INTO " & dgr11 & " ( " & dgr12 & "," & dgr13 & " ) SELECT " & dgr14 & ", " & dgr15 & "  FROM " & _
dgr16 & " INNER JOIN " & dgr17 & " ON " & dgr18 & " = " & dgr19 & _
" WHERE (( " & dgr14 & " ) =" & DMax(dgr20, dgr16) & ")"
25/10/2020, 19:51

tarkanaykın

Cok teşekkür ederim hocam, işimi gördü, simdilik kodu kullandım daha sonra da yazım kurallarını iyice icşellestirmek için inceleyeyim, kolay gelsin.
25/10/2020, 20:53

berduş

rica ederim
iyi çalışmalar)