Skip to main content

AccessTr.neT


Alt Tablolarla İşlemler

Alt Tablolarla İşlemler

Çözüldü #1
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
.rar örnek.rar (Dosya Boyutu: 242,95 KB | İndirme Sayısı: 0)
Cevapla
#2
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
Cevapla
#3
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.
Cevapla
#4
Bahsettiğim problemi çözdüm. Geri dönüş yapacağım.
Cevapla
#5
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.
.rar örnek.rar (Dosya Boyutu: 218,82 KB | İndirme Sayısı: 2)
Cevapla
#6
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'"
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task