AccessTr.neT

Tam Versiyon: Tek Formdan İki Farklı Tabloya Kayıt
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3
Merhaba;

Sitede ki bir çok örneği inceledim, INSERT le alakalı kodları kendi yapıma uyguladım fakat bir türlü formda kaydet tuşuna basılınca iki farklı (birisi ana tablo) tabloya kaydetme işlemini başaramadım.

VERIGIRIS formun ana kaynağı, ben istiyorum ki şahsın gelmediği veya geldiği(bu değişebilir-şimdilik geldiği günleri) günleri tbl_kisiler tablosuna da aktarsın..

Velhasıl, kaydet tuşu ile iki farklı tabloya kaydetsin istiyorum.

Tşk.
https://accesstr.net/konu-ekleme-sorgusu...query.html bu konuya bakınız..çözemezseniz yardımcı oluruz.
INSERT INTO tbl_kisiler ( KLNO, TCKIMLIKNO, ADISOYADI, BASLAMATARIHI, geldimi, SAVNO )
SELECT VERIGIRIS.KLNO, VERIGIRIS.TCKIMLIKNO, VERIGIRIS.ADISOYADI, VERIGIRIS.BASLAMATARIHI, VERIGIRIS.geldimi, VERIGIRIS.SAVNO
FROM VERIGIRIS INNER JOIN tbl_kisiler ON VERIGIRIS.TCKIMLIKNO = tbl_kisiler.TCKIMLIKNO;


Ekleme yapıyor şimdi ancak, sürekli aynı kayıtları ekleyip duruyor. Burada her tc ye bir kayıt açması gerekiyor(tbl_kisiler'de)...kaydet butonuna DoCmd.Open query "ekleme"   kodunu ekledim, her kaydet komutunda, mevcut kayıtları ekliyor. Örnek toplamda 8 kayıdım var, bir kayıta girip değişiklik yaptığımda, tüm kayıtları aktarıyor..yani 8 iken 16 oluyor.

Sorun nerede anlamadım.
son hali.(tbl_kisiler içeriğini boşalttım)
kaydetme butonun kodunu aşağıdaki kodla değiştirip dener misiniz?
Private Sub SAKLA_Click()
On Error GoTo Err_SAKLA_Click
Dim X, a, B
Dim Sorgu As String
If IsNull(Me.KLNO) Then
MsgBox "Lütfen Boş geçmeyin ,Klasör No'yu Yazmalısınız", 48, "Kayıt İşlemi"
Me.KLNO.SetFocus
Exit Sub
End If
If MsgBox("denetim saati girilmezse, diğer tüm alanlar girilse bile kayıt işlemi GERÇEKLEŞMEZ: Değişiklikler kaydedilsin mi?", 36, "K A Y D E T") = 6 Then
DoCmd.SetWarnings False



DoCmd.SetWarnings True
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
DoCmd.RunCommand acCmdSaveRecord
'DoCmd.OpenQuery "ekleme"
CurrentDb.Execute " delete from tbl_kisiler WHERE tbl_kisiler.TCKIMLIKNO='" & Me.TCKIMLIKNO & "'"
Sorgu = " INSERT INTO tbl_kisiler ( KLNO, TCKIMLIKNO, ADISOYADI, BASLAMATARIHI, geldimi, SAVNO )" & _
" SELECT VERIGIRIS.KLNO, VERIGIRIS.TCKIMLIKNO, VERIGIRIS.ADISOYADI, VERIGIRIS.BASLAMATARIHI, " & _
" VERIGIRIS.geldimi, VERIGIRIS.SAVNO" & _
" FROM VERIGIRIS " & _
" WHERE VERIGIRIS.TCKIMLIKNO='" & Me.TCKIMLIKNO & "'"
CurrentDb.Execute Sorgu, dbFailOnError

Me.liste_1.Requery


Else
Me.Undo
End If


Exit_SAKLA_Click:
Exit Sub
Err_SAKLA_Click:

Resume Exit_SAKLA_Click

End Sub
Sorgu = " INSERT INTO tbl_kisiler ( KLNO, TCKIMLIKNO, ADISOYADI, BASLAMATARIHI, geldimi, SAVNO,hangigun,BITISTARIHI )" & _
              " SELECT VERIGIRIS.KLNO, VERIGIRIS.TCKIMLIKNO, VERIGIRIS.ADISOYADI,VERIGIRIS.BITISTARIHI,VERIGIRIS.hangigun VERIGIRIS.BASLAMATARIHI, " & _
              " VERIGIRIS.geldimi, VERIGIRIS.SAVNO" & _


Sayın berduş, sizin eklediğiniz kodla tc üzerinden ekleme , delete komutuyla gerçekleşiyor.....Ben sizin koda; BITISTARIHI VE hangigun alanlarını ekleyip, ekleme sorgusunda da gerekli eklemeyi yapınca;

" INSERT INTO BİRDEN ÇOK DEĞERLİ ALANI İÇERMEZ "  komutunu almaktayım...benim eklediğim iki alanı çıkarırsak, sorun yok..Ama tabloda bu iki alınında gösterilmesi lazım..

Tşk.
Sayfalar: 1 2 3