Sql İçinde Çift Tırnak

28/01/2020, 14:56

accessman

yüzlerce kez karşılaşmama rağmen hala öğrenebilmiş değilim şunu sqlin anlayacağı şekilde nasıl yazabiliriz

strSQL = "SELECT liste.id, First(ay02.tarihi) AS egitim_tarihi, First(liste.isim) AS İlkismi, First(liste.soyisim) AS İlksoyismi, " & _
    "First(liste.isgirtar) AS ise_giris_tarihi, First(Format([tarihi],"dd")) AS İfade2 FROM liste " & _
    "INNER JOIN ay02 ON liste.vardiya = ay02.vardia "& _
    "GROUP BY liste.id HAVING (((First(Format([isgirtar],"mm")))="02"));"
28/01/2020, 16:07

feraz

String veri türlerinde tek tırnak olmalı sayılarda değil.

'" & alan & "'  gibi baştaki ve en sondaki tek tırnak
" & alan & " gibi
02/02/2020, 00:52

berduş

çift tırnak içine çift tırnak eklenemez eklemeniz gerekiyorsa ya çift çift Tırnak eklemelisiniz yada tek tırnak yapmalısınız
strSQL = "SELECT liste.id, First(ay02.tarihi) AS egitim_tarihi, First(liste.isim) AS İlkismi, First(liste.soyisim) AS İlksoyismi, " & _
    "First(liste.isgirtar) AS ise_giris_tarihi, First(Format([tarihi],'dd')) AS İfade2 FROM liste " & _
    "INNER JOIN ay02 ON liste.vardiya = ay02.vardia "& _
    "GROUP BY liste.id HAVING (((First(Format([isgirtar],'mm')))=2));" gibi kırmız tek tırnak yerine çift çift tırnak ("") da koyabilirdiniz
02/02/2020, 00:56

feraz

(02/02/2020, 00:52)berduş yazdı: çift çift tırnak ("")

Denedinizmi berduş hocam.Zira Format olayında tarih için çift tırnak hata veriyordu excelde belki Access ile değişiktir.
Meraktan sordum.
02/02/2020, 01:11

berduş

ben genelde tek tırnak kullanıyorum ki dikkat ederseniz burda da tek tırnak kullandım, özel olarak format olayını denemedim. sadece  genel mantığın bu olduğunu belirtmek için yazdım.
ama aşağıdaki şekilde yazınca kod çalıştı
sqlX = " SELECT TblVardiyahy.TarihT, Format([TarihT],""mm"") AS Ay " & _
    " FROM TblVardiyahy " & _
    " WHERE (((Format([TarihT],""mm""))=2));"
    Me.Liste0.RowSource = sqlX
02/02/2020, 01:14

feraz

(02/02/2020, 01:11)berduş yazdı: ben genelde tek tırnak kullanıyorum ki dikkat ederseniz burda da tek tırnak kullandım, özel olarak format olayını denemedim. sadece  genel mantığın bu olduğunu belirtmek için yazdım aşağıdaki şekilde yazınca kod çalıştı
sqlX = " SELECT TblVardiyahy.TarihT, Format([TarihT],""mm"") AS Ay " & _
    " FROM TblVardiyahy " & _
    " WHERE (((Format([TarihT],""mm""))=2));"
    Me.Liste0.RowSource = sqlX
"mm"

Böyle olursa hata olurmu demek istemiştim.4 adet çift tırnak illk defa gördüm.