ilişkili kayıt silme

Katılım
21 Aralık 2006
Mesajlar
90
Excel Vers. ve Dili
excel 2003
Merhaba arkadaşlar
Bir ana form var, birde alt form.
Ana formdaki kayıt sili çalıştırdığımda, alt formadaki aynı kişiye ait kayıtları silmek istiyorum. Tablolarda kayıtlar olduğu için birincil anahtar oluşturamıyorum. Aşağıdaki komutu nasıl düzenlemeliyim.
Tablo1-Tablo2 deki [Ads] alanları uyumlu.
Private Sub Komut112_Click()
On Error Resume Next
If Me.NewRecord Then
Me.Undo
ElseIf MsgBox("Kayıt silinsin mi?", vbYesNo) = vbYes Then
Me.Recordset.Delete
End If
End Sub
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Sorunuzu tam anlamadım ama Tablo1 dayalı bir formda oluşuracağınız bir düğmenin koduna aşağıdaki kodları yazarsanız, Tablo2de Ads alanları formdaki Ads Metin kutusuna eşit satırları siler.
Dosyanızı yedekleyerek deneyin.......
Dim ys As New ADODB.Recordset
Sorgu1 = "Delete* FROM Tablo2 WHERE Tablo2.Ads=" & Me.Ads
ys.Open Sorgu1, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
 
Son düzenleme:
Katılım
21 Aralık 2006
Mesajlar
90
Excel Vers. ve Dili
excel 2003
sayın omercerı
tablo1 deki silniyor tablo2 deki silinmiyor.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Kodlar Tablo2deki kayıtları siler , Tablo1de de silmesi için Aşağıdaki kodları Yukardaki mesajdaki kodların altına yazın.
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Kodlar aşağıdaki gibi örnek ekte
Dim ys As New ADODB.Recordset
Sorgu1 = "Delete* FROM Tablo2 WHERE Tablo2.Ads=" & """" & Me.Ads & """"
ys.Open Sorgu1, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
 

Ekli dosyalar

  • 19.8 KB Görüntüleme: 15
Katılım
21 Aralık 2006
Mesajlar
90
Excel Vers. ve Dili
excel 2003
Sayın omerceri
istediğim olmadı.
tablo1 e bağlı form1 - tablo 2 ye bağlı form 2
form2 form1 in alt formu.
form1 deki kişiyi silince altformdaki ona bağlı kayıtlarda silinsin istiyorum.
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Önce alt formdaki verileri ortak alanı koşul gösterip sildirmelisiniz.. Sonra kişiyi sildirin.. Tabi tabloları ilişkilendirmiş olsaydınız bunlara gerek kalmazdı.. ;)

Örnek yapınızı eklerseniz kodlamada yardımcı olmaya çalışırım..
 
Katılım
21 Aralık 2006
Mesajlar
90
Excel Vers. ve Dili
excel 2003
sayın omerceri ve sayın taruz ilginize teşekkür ederim.
içindeki bilgileri boşaltarak gönderiyorum. yardımcı olabilirseniz memnun olurum.
sağlık formundaki kişiyi silince, gorevlendirme formundaki kişiyi de silmeli.
 

Ekli dosyalar

Katılım
6 Şubat 2005
Mesajlar
1,467
Kodları aşağıdaki gibi değiştirirseniz, Formdan da siler.
Dim ys As New ADODB.Recordset
Sorgu1 = "Delete* FROM Tablo2 WHERE Tablo2.Ads=" & """" & Me.Ads & """"
ys.Open Sorgu1, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Me.Refresh
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Alternatif olarak bunuda kullanabilirsiniz..

Kod:
On Error Resume Next
If Me.NewRecord Then
Me.Undo
ElseIf MsgBox("Kayıt silinsin mi?", vbYesNo) = vbYes Then
Set trz = Application.CurrentProject.Connection
    trz.Execute "Delete* FROM Tablo2 WHERE Tablo2.Ads=" & """" & Me.ADS & """"
    Me.Recordset.Delete
    trz.Close
    Set trz = Nothing
    Me.Requery
End If
 
Katılım
21 Aralık 2006
Mesajlar
90
Excel Vers. ve Dili
excel 2003
Değerli Arkadaşlar
aynı şekilde arşive aktar butonuna kod yazabilirmiyiz. yani arşive aktarırkende
alt forma ait tablo bilgisini silebilirmiyiz.
 
Katılım
21 Aralık 2006
Mesajlar
90
Excel Vers. ve Dili
excel 2003
Sayın Taruz ve Sayın Omerceri
Yardımlarınız için çok teşekkür ederim. Sorunum halledildi.
 
Üst