24/02/2020, 17:35
Konu başlığındaki sorunuzun dışına çıkmayınız. Yapmak istediğiniz Tablodan Tabloya Veri Aktarma.
Ado ile tbl_disiplinkarari tablosuna veri aktarıyorsunuz. insert into ile tekrar veri aktarırsanız yeni satıra kayıt eder. Güncelleştirme sorgusu kullanmalısınız. Bu sorguyuda ado dışına yazmalısınız.
Sorgudan önce Yapılmaması Gereken Ölümcül Hatalar konusunu incelemenizi tavsiye ederim. Bu yapı ile uygulama tasarlanmamalı. Ayrıca @userx 'in dediği gibi aynı verileri tekrar tabloya kaydetmeye gerek yok. tbl_disiplinkarari isimli tabloya ogrenciid alanı eklenip tbl_ogrenciler tablosundaki Kimlik alanındaki veriyi yani Me.Metin11.Column(1)'deki veriyi tbl_disiplinkarari tablosuna aktarmanız yeterli. Yapılmaması Gereken Ölümcül Hatalar konusunda da belirtildiği gibi, bu denetimin adı Metin11 değil acl_adisoyadi olmalı ki, kod yazarken ne olduğunu çözebilesiniz.
Ado ile tbl_disiplinkarari tablosuna veri aktarıyorsunuz. insert into ile tekrar veri aktarırsanız yeni satıra kayıt eder. Güncelleştirme sorgusu kullanmalısınız. Bu sorguyuda ado dışına yazmalısınız.
If IsNull(Me.Metin3) Or Me.Metin3 = "" Then
MsgBox "Lütfen Karar numarasını Yazınız!", , "Kayıt İşlemi"
Me.Metin3.SetFocus
Exit Sub
End If
If IsNull(Me.Metin5) Or Me.Metin5 = "" Then
MsgBox "Lütfen Karar Tarihini Giriniz!", , "Kayıt İşlemi"
Me.Metin5.SetFocus
Exit Sub
End If
If IsNull(Me.Metin7) Or Me.Metin7 = "" Then
MsgBox "Lütfen Olay Bilgisini Seçiniz!", , "Kayıt İşlemi"
Me.Metin7.SetFocus
Exit Sub
End If
If IsNull(Me.Açılan_Kutu13) Or Me.Açılan_Kutu13 = "" Then
MsgBox "Lütfen Disiplin Kararı Oluşturulacak Kişiyi Seçiniz!", , "Kayıt İşlemi"
Me.Açılan_Kutu13.SetFocus
Exit Sub
End If
If IsNull(Me.Açılan_Kutu15) Or Me.Açılan_Kutu15 = "" Then
MsgBox "Lütfen Ceza Alıp Almadığını Seçiniz!", , "Kayıt İşlemi"
Me.Açılan_Kutu15.SetFocus
Exit Sub
End If
Dim rs As New ADODB.Recordset
If MsgBox("Değişiklikler Kaydedilsin mi?", 36, "Kayıt Ediliyor") = vbYes Then
rs.Open "tbl_disiplinkarari", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
rs.AddNew
rs!adsoyad = Me.Metin11.Column(1)
rs!kararno = Me.Metin3
rs!karartarihi = Me.Metin5
rs!olayinkurulagelistarihi = Me.Metin9
rs!oncekicezabir = Me.Açılan_Kutu13
rs!olayyeri = Me.Metin19
rs!olaytarihi = Me.Metin21
rs!davraniscesidi = Me.Metin23
rs!davranisnedeni = Me.Metin25
rs!cezaifadeozeti = Me.Metin28
rs!tanikifadeozeti = Me.Metin30
rs!delil = Me.Metin32
rs!hafiletenneden = Me.Metin34
rs!kurulkanaati = Me.Metin36
rs!cezaanamadde = Me.Metin38
rs!cezaaltmadde = Me.Metin40
rs!kurulkarari = Me.Metin42
rs!oncekicezaiki = Me.Açılan_Kutu15
'CurrentDb.Execute "select (velitel,veliadresi,veliadi,dogumyeri,yetistigicev,aileyani,annebabaoz,annebabasag,birlikteot,ekonomikdurum,saglikdurumu,basaridurumu,yatilidurumu,okulno,sınıfı,dogumtarihi) into tbl_disiplinkarari(velitel,adresi,veliadısoyadı,dogumyeri,yetistigicevre,aileyanindaokumasi,annebabaöz,annebabasag,ailesiilebirleteoturmadurumu,aileekonomikdurumu,saglikdurumu,basaridurumu,yatılı_gündüzlü,okulno,sınıfı,dogumtarihi) from tbl_ogrenciler where Kimlik =" & Me.Metin11 & ""
'CurrentDb.Execute "select velitel,veliadresi,veliadi,dogumyeri,yetistigicev,aileyani,annebabaoz,annebabasag,birlikteot,ekonomikdurum,saglikdurumu,basaridurumu,yatilidurumu,okulno,sınıfı,dogumtarihi from tbl_ogrenciler;"
'INTO tbl_disiplinkarari
'from tbl_ogrenciler
'where Kimlik = " & Me.Metin11 & """
rs.Update
rs.Close
Set rs = Nothing
CurrentDb.Execute "UPDATE tbl_disiplinkarari, tbl_ogrenciler SET tbl_disiplinkarari.velitel = [tbl_ogrenciler].[velitel], tbl_disiplinkarari.veliadresi = [tbl_ogrenciler].[adresi], tbl_disiplinkarari.veliadi = [tbl_ogrenciler].[veliadısoyadı], tbl_disiplinkarari.dogumyeri = [tbl_ogrenciler].[dogumyeri], tbl_disiplinkarari.yetistigicev = [tbl_ogrenciler].[yetistigicevre], tbl_disiplinkarari.aileyani = [tbl_ogrenciler].[aileyanindaokumasi], tbl_disiplinkarari.annebabaoz = [tbl_ogrenciler].[annebabaöz], tbl_disiplinkarari.annebabasag = [tbl_ogrenciler].[annebabasag], tbl_disiplinkarari.adsoyad = [tbl_ogrenciler].[yetistigicevre] WHERE (((tbl_disiplinkarari.kararno)='" & Me.Metin11.Column(1) & "'));"
MsgBox "Kayıt işlemi gerçekleşmiştir.", 64, "Kayıt İşlemi"
GoTo 777
Else
MsgBox "Kayıt İşleminden Vazgeçtiniz. Bilgileriniz Kaydedilmedi!", 64, "Kayıt İşlemi"
End If
777
Sorgudan önce Yapılmaması Gereken Ölümcül Hatalar konusunu incelemenizi tavsiye ederim. Bu yapı ile uygulama tasarlanmamalı. Ayrıca @userx 'in dediği gibi aynı verileri tekrar tabloya kaydetmeye gerek yok. tbl_disiplinkarari isimli tabloya ogrenciid alanı eklenip tbl_ogrenciler tablosundaki Kimlik alanındaki veriyi yani Me.Metin11.Column(1)'deki veriyi tbl_disiplinkarari tablosuna aktarmanız yeterli. Yapılmaması Gereken Ölümcül Hatalar konusunda da belirtildiği gibi, bu denetimin adı Metin11 değil acl_adisoyadi olmalı ki, kod yazarken ne olduğunu çözebilesiniz.