Örnek eklemediğiniz için çalışıp çalışmadığını kontrol edemedim ama bahsettiğiniz şekilde dno'yu Vba kodu içinden değişken olarak eklemek istediğinizde aşağıdaki gibi yazmanız gerekir.
CurrentDb.Execute "INSERT INTO Zorunluİstihdam ([Dosya No],[Ad-Soyad],[TC Kimlik No],[Mezuniyet],[Bölümü],[Telefon],[Askerlik],[Görev Yeri-İl],[Görev Yeri-İlçe],[Görev Yeri]) SELECT [Dosya No],[Ad-Soyad],[TC Kimlik No],[Mezuniyet],[Bölümü],[Telefon],[Askerlik],[Görev Yeri-İl],[Görev Yeri-İlçe],[Görev Yeri] FROM [İşbaşıEğitimListesi]" _
& "WHERE (([İşbaşıEğitimListesi].[Dosya No]=" & dno & ") AND ([İşbaşıEğitimListesi].[Durum] = 'Zorunlu İstihdam'))"
Debug.Print strSQL
(27/12/2017, 21:37)WiniFred yazdı: Örnek eklemediğiniz için çalışıp çalışmadığını kontrol edemedim ama bahsettiğiniz şekilde dno'yu Vba kodu içinden değişken olarak eklemek istediğinizde aşağıdaki gibi yazmanız gerekir.
CurrentDb.Execute "INSERT INTO Zorunluİstihdam ([Dosya No],[Ad-Soyad],[TC Kimlik No],[Mezuniyet],[Bölümü],[Telefon],[Askerlik],[Görev Yeri-İl],[Görev Yeri-İlçe],[Görev Yeri]) SELECT [Dosya No],[Ad-Soyad],[TC Kimlik No],[Mezuniyet],[Bölümü],[Telefon],[Askerlik],[Görev Yeri-İl],[Görev Yeri-İlçe],[Görev Yeri] FROM [İşbaşıEğitimListesi]" _
& "WHERE (([İşbaşıEğitimListesi].[Dosya No]=" & dno & ") AND ([İşbaşıEğitimListesi].[Durum] = 'Zorunlu İstihdam'))"
Debug.Print strSQL
Hocam teşekkürler, örneklik bir durum değil, en son 2005'te access'e işim düşmüştü, şimdi tekrardan bi işimi halletmeye çalışıyorum.
yaş da ilerleyince eskisi kadar kıvıramıyorum.
" & dno & " olayını anladım, o hatamı düzeltti, şimdi ise ;
"ölçüt ifadesinde veri türü uyuşmazlığı" hatasını verdi, ama [Dosya No] nun olduğu hem "Zorunluİstihdam" tablosu hem de "İşbaşıEğitimListesi" tablosunda kısa metin olarak tanımlı, neye veri türü uyuşmazlığı dedi anlamadım. yine bi şeyi mi kaçırdım?
teşekkürler.
Doğru anlamışsam ve [Dosya No] kısa metin türünde ise;
Dim dno as string
olarak düzeltin. Ayrıca sorguda dno'yu yazdığımız kısmı;
[İşbaşıEğitimListesi].[Dosya No]='" & dno & "') AND
şeklinde düzeltin (eşittirden sonra ve parantezden önce tek tırnak ekleyin).
Dediğim gibi, doğru anlamışsam.
(27/12/2017, 22:39)WiniFred yazdı: Doğru anlamışsam ve [Dosya No] kısa metin türünde ise;
Dim dno as string
olarak düzeltin. Ayrıca sorguda dno'yu yazdığımız kısmı;
[İşbaşıEğitimListesi].[Dosya No]='" & dno & "') AND
şeklinde düzeltin (eşittirden sonra ve parantezden önce tek tırnak ekleyin).
Dediğim gibi, doğru anlamışsam.
doğru anladınız hocam, göndermeden önce As String olayını denemiştim, o da olmayınca sormuştum bir önceki mesajı.
tek tırnakları ekledim, bu sefer where olayını hiç yapmadı. sonra sizin yazdığınızdan bi şey dikkatimi çekti. ben where'deki ifadeleri & ile birleştiriyordum, siz AND yazmışsınız, onunla değiştirdim (eskiden oluyordu, yeni versiyonlarda mı olmuyor anlamadım)
bu sefer oldu.
sorunum çözüldü yani - teşekkürler.