sql hatası

Katılım
7 Ağustos 2007
Mesajlar
242
Excel Vers. ve Dili
2019
Türkçe
Altın Üyelik Bitiş Tarihi
29/05/2022
Merhaba,

Arkadaşlar başka bir formdan bulduğum örneği kendime uyarlayıp kullanmayı düşündüm. Dosya üzerinde bir deneme yaptım çalışırsa kodları kendi dosyama da kulanacaktım.

Ekteki dosyada access tablosundan excele veriler aktarılıyor. Dosyaya bir sorgu oluşturdum sorgudan da frm_muayene adında bir form oluşturdum.
Sorgunun BELGE_TAR ölçüt kısmına Like "*" & [Forms]![frm_muayene]! & "*"
yazdım. Örnek dosyadaki aktarma işini yapan kodlarıda frm_muayene formu üzerindeki komut düğmesine aktardım.
Amacım muayene tarihine göre sorgulayıp sorgu sonucunu form üzerinden excele aktarmaktı.
Ama çalışmadı. Söz dizim hatası eksik işleç hatasını verdi. Koda bir ekleme yapılaması gerekiyor herhalde.

Bu konuda bana yardımcı olabilirmisiniz?

Saygılarımla.
 

Ekli dosyalar

Son düzenleme:
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Prosedürün ilgili kısımlarını bu şekilde değiştiriniz..:

Kod:
 RsSql = "SELECT TUTANAK_SIRA_NO, HARACAMA_BİRİMİ, BELGE_TAR, KODU, KODU1, SAYISI, " _
    & " DETAY_KODU, ADI, OLCU_BİRİMİ, MİKTAR, BİRİM_FİYAT, TUTAR FROM TBL_KABUL_TUTANAGI "
    If IsNull(b) Then
    RsSql = RsSql
    
    Else
    kriter = CDbl(b)
    RsSql = RsSql & " WHERE cdbl(BELGE_TAR) = " & kriter & ""
    
    End If
    Rs.Open RsSql, CurrentProject.Connection, adOpenKeyset, adLockReadOnly
Formdaki metin kutusunun biçimini Kısa Tarih yapmayı unutmayınız..
 
Katılım
7 Ağustos 2007
Mesajlar
242
Excel Vers. ve Dili
2019
Türkçe
Altın Üyelik Bitiş Tarihi
29/05/2022
Merhaba,,,

Taruz hocam sağol eline sağlık bu şekilde çalıştı. Fakat iki tabloyu ilişkilendirdim formu ilişkili sorguya bağladım çalşmadı.
Gerekli bir veya daha fazla paremetre için girilen değer yok hatasını verdi.

Hocam bunu nasıl düzeltebiliriz.

Saygılarımla

Not: Dosyayı 1. mesajda güncelledim.
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Bu ilişkiyi kod içindeki sql deyiinde de belirtirsek sorun çözülür..:

Kod:
RsSql = "SELECT TBL_KABUL_TUTANAGI.T_İD, TUTANAK_SIRA_NO, HARACAMA_BİRİMİ, " _
& " BELGE_TAR , KODU, KODU1, SAYISI, DETAY_KODU, ADI, OLCU_BİRİMİ, MİKTAR, BİRİM_FİYAT, TUTAR, A_İD" _
& " FROM TBL_KABUL_TUTANAGI LEFT JOIN AYRINTI ON TBL_KABUL_TUTANAGI.T_İD = AYRINTI.T_İD"
If IsNull(b) Then
RsSql = RsSql
 
Else
kriter = CDbl(b)
RsSql = RsSql & " WHERE cdbl(BELGE_TAR) = " & kriter & ""
 
Katılım
7 Ağustos 2007
Mesajlar
242
Excel Vers. ve Dili
2019
Türkçe
Altın Üyelik Bitiş Tarihi
29/05/2022
Merhaba,

Taruz hocam teşekkürederim. elinize sağlık evet sorunsuz çalıştı.

Hocam başka programlardada bu yapıyı kullansak ilişkili tablo adeti 2 değilde 4 tablo osaydı koda nasıl bir ekleme yapamamız gerekir.

Saygılarımla.
 
Katılım
7 Ağustos 2007
Mesajlar
242
Excel Vers. ve Dili
2019
Türkçe
Altın Üyelik Bitiş Tarihi
29/05/2022
Merhaba,

Evet ben bu işin basit olduğunu zannettim yani ilişkili tablolar VBA da düzenleme şeklinin aynı olduğunu zannettim yanılmışım. Taruz hocam iki ilişkili tablo yapısını gönderdiğinde tablo sayısının artığında kodlarda o şekilde artığını anladım.

Arkadaşlar şimdi formlardan toplayıp bir araya getirdiğim bir program yaptım, (TOPLAMA PROGRAM) program ihtiyacıma cevap verecek şekle getirdim. Bu Excele aktarma örneğinide bulunca raporu Excelden almaya karar verdim çünkü raporu excelden almanın avantajları vardı çünkü malzeme adlarına ekleme veya açıklama yapa bilecektim. Onun için excelden almam benim için iyi olacaktı. Taruz hocamın verdiği kodlarla eklediğim ÖRNEK SORUNSUZ ÇALIŞIYOR ilişkili iki tablo var. Ama benim uygulamama aktarramadım ilişkili 6 tablom var.

Arşadaşlar eğer yardım ederseniz excelden rapor alacağım benim için çok iyi olacak. Olmassa Access de raporlayacağım. Bu durumda ileride bana sıkıntı çıkaracak. Yardımlarınızı bekliyorum. Teşekkürederim.

Saygılarımla
 

Ekli dosyalar

Katılım
7 Ağustos 2007
Mesajlar
242
Excel Vers. ve Dili
2019
Türkçe
Altın Üyelik Bitiş Tarihi
29/05/2022
Merhaba,,,

Arkadaşlar bu konuda yardımcı olabilirmisiniz?

Tşk.
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Sorgunuzu access kısmında oluşturduktan sonra where şartı dışındaki kısmını vba editöründe yukarıda önerdiğim şekli ile oluşturunuz.. Şart kısmı da zaten kod kısmında belirtilecek..

Burda önemli olan tablo sayısı değil, kod sayfasında bu ilşkileri gösterecek deyimi oluşturmanız.. Belirttiğim şekilde RsSql değişkenini tanımlarsanız istediğiniz elde edersiniz..
 
Katılım
7 Ağustos 2007
Mesajlar
242
Excel Vers. ve Dili
2019
Türkçe
Altın Üyelik Bitiş Tarihi
29/05/2022
Merhaba,,
Taruz hocam bu şekilde yazdım olmadı.

SELECT DETAY.D_KODU, DETAY.M_KODU, DETAY.MIKTAR, DETAY.S_KODU, DETAY.M_TESLİMEDİLEN, MALZEMELER.M_KODU, MALZEMELER.M_ADI, MALZEMELER.M_FIYAT, MALZEMELER.B_KODU, MALZEMELER.K_KODU, MALZEMELER.M_CINSI, MALZEMELER.M_İHALEEDİLEN, Format(Year([S_MUAYENETAR]),"0000") & Format(Month([S_MUAYENETAR]),"00") & Format(Day([S_MUAYENETAR]),"00") AS İfade1, MUSTERILER.MU_ADI, MUSTERILER.MU_TİCARİUNVAN, MUSTERILER.MU_SOZLEŞMEBEDELİ, MUSTERILER.MU_İŞİNSURESİ, MUSTERILER.MU_İŞBİTİMTAR, SATISLAR.S_MUAYENETAR, SATISLAR.S_IRSALIYENO, SATISLAR.S_IRSALIYETAR, PERSONEL.P_BUTÇEYILI, NAKLIYE.N_TURU, SATISLAR.S_ONAYTAR, SATISLAR.S_ONAYNO
FROM PERSONEL INNER JOIN (NAKLIYE INNER JOIN (MUSTERILER INNER JOIN (SATISLAR INNER JOIN (MALZEMELER INNER JOIN DETAY ON MALZEMELER.M_KODU = DETAY.M_KODU) ON SATISLAR.S_KODU = DETAY.S_KODU) ON MUSTERILER.MU_KODU = SATISLAR.MU_KODU) ON NAKLIYE.N_KODU = SATISLAR.N_KODU) ON PERSONEL.P_SICIL = SATISLAR.P_SICIL
GROUP BY DETAY.D_KODU, DETAY.M_KODU, DETAY.MIKTAR, DETAY.S_KODU, DETAY.M_TESLİMEDİLEN, MALZEMELER.M_KODU, MALZEMELER.M_ADI, MALZEMELER.M_FIYAT, MALZEMELER.B_KODU, MALZEMELER.K_KODU, MALZEMELER.M_CINSI, MALZEMELER.M_İHALEEDİLEN, Format(Year([S_MUAYENETAR]),"0000") & Format(Month([S_MUAYENETAR]),"00") & Format(Day([S_MUAYENETAR]),"00"), MUSTERILER.MU_ADI, MUSTERILER.MU_TİCARİUNVAN, MUSTERILER.MU_SOZLEŞMEBEDELİ, MUSTERILER.MU_İŞİNSURESİ, MUSTERILER.MU_İŞBİTİMTAR, SATISLAR.S_MUAYENETAR, SATISLAR.S_IRSALIYENO, SATISLAR.S_IRSALIYETAR, PERSONEL.P_BUTÇEYILI, NAKLIYE.N_TURU, SATISLAR.S_ONAYTAR, SATISLAR.S_ONAYNO;
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

KAynak, formunuzdaki ile aynı olacaksa bu şekilde oluşturunuz..:

Kod:
   RsSql = "SELECT [DETAY.M_KODU], M_TESLİMEDİLEN, M_ADI, İfade1," _
   & "Nz(DSum(""[M_TESLİMEDİLEN]"",""[SÜZ]"",""[M_ADI]='"" & [M_ADI] & ""' AND [İfade1]<"" & [İfade1]),0) AS OncekiToplam, " _
& "MU_ADI, MU_TİCARİUNVAN, MU_SOZLEŞMEBEDELİ, MU_İŞİNSURESİ, MU_İŞBİTİMTAR, S_MUAYENETAR, " _
& "M_İHALEEDİLEN, S_MUAYENETAR, S_IRSALIYENO, S_IRSALIYETAR, P_BUTÇEYILI, N_TURU, S_ONAYTAR, S_ONAYNO FROM SÜZ "
 
Katılım
7 Ağustos 2007
Mesajlar
242
Excel Vers. ve Dili
2019
Türkçe
Altın Üyelik Bitiş Tarihi
29/05/2022
Merhaba

Tamam Taruz hocam, çok zahmet verdim, ellerinize sağlık çok,çok tşk.

Saygılarımı sunarım.
 
Üst