Sql Update Ve Delete Komutları Nasıl Kullanılır

1 2 3
28/10/2019, 20:32

cemre1970

Selamlar.

Çok incelememe rağmen anlayamadığım ve yapamadığım için yeni konu açtım.

Tabloya Sql insert komutuyla şartlı olarak kayıt yapabildim.

Yaptığım kayıtları alt formdan form üzerinde ki ilgili yerlere çekebildim, ama düzeltme silme işlemlerini Sql kodları kullanarak yapamadım.

Teşekkürler.
28/10/2019, 21:37

berduş

kullandığınız yöntem hatalı bence
sizin yaptığınız şey altformdan çektiğiniz değerleri anaformdaki ilk kayda atamak bu nedenle kaçıncı kaydı seçerseniz seçin o kaydın değeri doğrudan ilk kaydı değiştiriyor
ayrıca anaform her açıldığında boş bir yeni kayıt oluşturuyor. bu nedenle ya anaformun tablo ile bağlantısı kesilmeli sonra altfomdan üst forma öyle aktarılmalı yada açılışta yeni kayıt olarak değil ilk kayda gitmeli.
çift tıklama olayı aşağıdaki gibi düzenlenebilir ama bu durumda da kayıt güncellendikten sonra olayı ile kontrol sağlanmazsa doğrudan her değişiklik kaydedilir
If MsgBox("DÜZENLEMEK VEYA SİLMEK İÇİN KAYIT ÇAĞIRDINIZ EMİN MİSİNİZ ??", vbQuestion + vbYesNo) = vbYes Then
Me.Parent.Recordset.FindFirst "Kimlik=" & Me.Kimlik
End If
silme kodu
    DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord
28/10/2019, 21:51

cemre1970

(28/10/2019, 21:37)berduş yazdı: kullandığınız yöntem hatalı bence
sizin yaptığınız şey altformdan çektiğiniz değerleri anaformdaki ilk kayda atamak bu nedenle kaçıncı kaydı seçerseniz seçin o kaydın değeri doğrudan ilk kaydı değiştiriyor
ayrıca anaform her açıldığında boş bir yeni kayıt oluşturuyor. bu nedenle ya anaformun tablo ile bağlantısı kesilmeli sonra altfomdan üst forma öyle aktarılmalı yada açılışta yeni kayıt olarak değil ilk kayda gitmeli.
çift tıklama olayı aşağıdaki gibi düzenlenebilir ama bu durumda da kayıt güncellendikten sonra olayı ile kontrol sağlanmazsa doğrudan her değişiklik kaydedilir
    If MsgBox("DÜZENLEMEK VEYA SİLMEK İÇİN KAYIT ÇAĞIRDINIZ EMİN MİSİNİZ ??", vbQuestion + vbYesNo) = vbYes Then
Me.Parent.Recordset.FindFirst "Kimlik=" & Me.Kimlik
    End If

Haklısınız olmadı, biraz daha çalışayım değişik bir çözüm bulmaya çalışayım.

Tekrar yazarım.

Teşekkürler.
28/10/2019, 21:53

berduş

yukardaki kodlar işe yaramadı mı?
hem silme hem de kayda gitme kodları?
28/10/2019, 22:02

cemre1970

(28/10/2019, 21:53)berduş yazdı: yukardaki kodlar işe yaramadı mı?
hem silme hem de kayda gitme kodları?


Kod:
Private Sub Kimlik_DblClick(Cancel As Integer) 'ALT FORMDA KİMLİK ALANINI ÇİFT TIKLAYINCA
    If MsgBox("DÜZENLEMEK VEYA SİLMEK İÇİN KAYIT ÇAĞIRDINIZ EMİN MİSİNİZ ??", vbQuestion + vbYesNo) = vbYes Then
    Me.Parent.Recordset.FindFirst "Kimlik=" & Me.Kimlik
End If
   
End Sub

Altformun kimlik alanın çift tıklanma olay yordamı yukardaki gibi,
çalışmadı
28/10/2019, 22:07

berduş

ben denediğimde 2si de çalışmıştı! eki inceler misiniz? [attachment=30793]
1 2 3