rsSQL1 deyimindeki "SQL1"i komut kendisi mi oluşturuyor? Çünkü ben önceki örnekteki "Sorgu1" sorgusunu sildim. Eğer komut satırındaki "SQL1" önceki örnek dosyamdaki "Sorgu1" sorgusundan veri çekiyorsa tekrar oluşturacağım.
Eğer kendisi oluşturuyorsa aşağıdaki komutun "rsSQL1.Fields" kısmında hata veriyor.
If Varmi = 0 Then
DoCmd.RunSQL "INSERT INTO tblHarcliklar (SıraID,YilID, Ay, Ekgosterge, Katsayi, Yuvarlama, Odenen, Odemebir, Odemeiki, Odemeuc, Odemedort, Borcbir, Borciki, Borcuc, Borcdort) VALUES (" & rsSQL1.Fields("SıraID") & ", '" & YilDegeri & "','" & Me.txtAy & "','" & Me.akEkgosterge & "', '" & Me.txtKatsayi & "', '" & Me.txtYuvarlama & "', '" & Me.txtOdenen & "', '" & Me.txtOdemebir & "', '" & Me.txtOdemeiki & "', '" & Me.txtOdemeuc & "', '" & Me.txtOdemedort & "','" & Me.txtBorcbir & "','" & Me.txtBorciki & "','" & Me.txtBorcuc & "','" & Me.txtBorcdort & "')"
End If
strSQL1 = "SELECT * FROM Kutukdefteri WHERE (((Durumu)='Aktif') AND ((Yatılılıkdurumu)='Parasız'));"
bahsettiğiniz kod bu ise burada sadece Kutukdefteri tablosuna atif var başka bir sorguya gerek yok
If Varmi = 0 Then
DoCmd.RunSQL "INSERT INTO tblHarcliklar (SıraID,YilID, Ay, Ekgosterge, Katsayi, Yuvarlama, Odenen, Odemebir, Odemeiki, Odemeuc, Odemedort, Borcbir, Borciki, Borcuc, Borcdort) VALUES (" & rsSQL1.Fields("SıraID") & ", '" & YilDegeri & "','" & Me.txtAy & "','" & Me.akEkgosterge & "', '" & Me.txtKatsayi & "', '" & Me.txtYuvarlama & "', '" & Me.txtOdenen & "', '" & Me.txtOdemebir & "', '" & Me.txtOdemeiki & "', '" & Me.txtOdemeuc & "', '" & Me.txtOdemedort & "','" & Me.txtBorcbir & "','" & Me.txtBorciki & "','" & Me.txtBorcuc & "','" & Me.txtBorcdort & "')"
End If
komut dizesinde yukarıda 3. satırda VALUES("&rsSQL1.Fields...... kısmında hata veriyor. "Fields" kısmında hata veriyor.
"Metod or data member not found" uyarısı veriyor.
Bahsettiğim problemi çözdüm. Geri dönüş yapacağım.
If Varmi = 0 Then
DoCmd.RunSQL "INSERT INTO tblHarcliklar (SıraID,YilID, Ay, Ekgosterge, Katsayi, Yuvarlama, Odenen, Odemebir, Odemeiki, Odemeuc, Odemedort, Borcbir, Borciki, Borcuc, Borcdort) VALUES (" & rsSQL1.Fields("SıraID") & ", '" & YilDegeri & "','" & Me.txtAy & "','" & Me.akEkgosterge & "', '" & Me.txtKatsayi & "', '" & Me.txtYuvarlama & "', '" & Me.txtOdenen & "', '" & Me.txtOdemebir & "', '" & Me.txtOdemeiki & "', '" & Me.txtOdemeuc & "', '" & Me.txtOdemedort & "','" & Me.txtBorcbir & "','" & Me.txtBorciki & "','" & Me.txtBorcuc & "','" & Me.txtBorcdort & "')"
End If
komutunun sonuna end if den önce Else ekleyip aynı komutu tekrar yazdım.
Amacım işlemi hatalı yapmış isem verileri güncellemek. İşe yaradı ama eksik oldu.
Güncelleme yapacağına ekleme yaptı.
Ekleme yapmadan önce eski verileri nasıl sildirebilirim.
Yani 2014 yılı Eylül ayı bordrosunu yanlış yaptıysam. Düzeltip tekrar butona bastığımda önceki 2014 yılının eylül ayını silip yeni verileri yazmasını istiyorum.
Bu arada yazdığınız komutları biraz çözer gibi oldum. Teşekkür ediyorum. Özellikle sabrınıza.
Dosyanızı inceleyemedim lakin alttaki kod tablodaki tüm verileri silmesi gerek.tabload yerne hangi tablodaki veriler silinecekse o ad yazılmalı.
DoCmd.SetWarnings False
DoCmd.RunSQL "Delete * From [tabload]"
DoCmd.SetWarnings True
İlgili koduda örnek olarak alttaki gibi yaparsanız şartlı siler.
Alttaki sadece bir kalıp fikir açısından.
Delete * From [tabload] WHERE [AlanAd]='Eylül'"