• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Ado ile Datagrid içindeki satırı silmek

  • Konbuyu başlatan Konbuyu başlatan k0081
  • Başlangıç tarihi Başlangıç tarihi
Katılım
17 Haziran 2008
Mesajlar
1,874
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Merhaba arkadaşlar;

Datagrid içindeki verilerden mouse ile seçim yapıyorum. Seçili olanı command buton kullanarak nasıl silebilirim ?

yardımcı arkadaşa şimdiden teşekkürler.
 
Grid'e listeyi hangi yöntem ile yüklediğinize bağlı bir durumdur.

.
 
Grid'e listeyi hangi yöntem ile yüklediğinize bağlı bir durumdur.

.

Ado ile yüklüyorum . Kayıt eklemede sıkıntı yok. Kayıt bulmada da sıkıntı yok.

Silme : bununla ilgili daha önce yazdığım bi kod mevcut. Ama ondada şöyle bir hata varmış; tek olarak silmiyor. Aynı isimde başka veri varsa onlarıda siliyor...
 
bu hatayı alıyorum...

Kod:
Private Sub cmdlt_Click()
confirm = MsgBox("Kayıt silinecek ?", vbYesNo + vbExclamation, "Kayıt sil")
If confirm = vbYes Then
Adogrid.Recordset.Delete
MsgBox "Kayıt silindi", vbInformation, "Kayıt"
Else
MsgBox "Kayıt silinemedi.", vbInformation, "Kayıt sil"
End If
End Sub

214585
 
#3 nolu mesajdan ve hata iletisinden anladığım kadarıyla tablonuzda Primary Key alanı mevcut değil. Tablonuza tekil (unique) değerler içeren bir alan yani kayıtları birbirinden ayıran Primary Key alanı eklediğinizde, aynı zamanda Grid'e de eklediğinizde problemin düzeleceğini tahmin ediyorum.

Kolay gelsin...

.
 
#3 nolu mesajdan ve hata iletisinden anladığım kadarıyla tablonuzda Primary Key alanı mevcut değil. Tablonuza tekil (unique) değerler içeren bir alan yani kayıtları birbirinden ayıran Primary Key alanı eklediğinizde, aynı zamanda Grid'e de eklediğinizde problemin düzeleceğini tahmin ediyorum.

Kolay gelsin...

.

Hocam ; bende aynı fikirdeyim de, yalnız bunu nasıl düzenleyeceğim ? Yani primary key. Dosyayı birazdan eklerim
 
Ekli veritabanı, kullandığınız yönteme göre kötü bir tasarım... Tekil bir alana ihtiyacı olduğu belli.

MS Access yüklü ise tablo üzerinde sağ tuş menüsü ile "tasarım" modunda açarak "satır ekle" ve "otomatik artan" seçerek "birincil anahtar" alanı olarak belirleyin.

MS Access yüklü değilse veya mdb çok eski olduğundan (Access 2000) açamıyorsanız/düzenleyemiyorsanız, aşağıdaki örnek komutları "otomatik artan sayı" olarak "birincil anahtar" olarak belirleyebilirsiniz. Bu alan ile kayıtlarınız birbirlerinden ayrılmış olacak.

PHP:
Set cn = CreateObject("ADODB.Connection")

cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\pc\Desktop\Arsiv.mdb"

cn.Execute "alter table [WebCad] add column [row_id] Long;"
cn.Execute "alter table [WebCad] add primary key([row_id]);"

cn.Close

.
 
Zeki bey ;

Acces üzerinden yapamadım. versiğiniz kod ile yaptım. webcad içinde "row_id" isminde field oluştu.

* bunu diğer tablolarda da uygulayacak mıyım ?


Teşekkürler.
 

Ekli dosyalar

  • row_id.png
    row_id.png
    3.4 KB · Görüntüleme: 4
Veri tabanının mantığı budur, her kayıtın birbirinden ayırt edilebilir bir özelliği olması gerekir ki; yapılan sorgulamalar sonucunda istenilen veriler alınabilsin. Bunu da, verilerin "tekil" özelliğini sağlamak amacıyla "ID" ile yapabilirsiniz.

Bu, tıpkı sınıftaki öğrencilerin okul numarası, günlük hayatta insanların TC No'su, faturaların Seri No'su gibi bir şeydir.

Kullanın veya kullanmayın, her tabloya bunu uygulayın.... alışkanlık edinin.

.
 
Haluk;

Anladım hocam. Teşekkürler.
 
Geri
Üst