ADO ile silme ve değiştirme sorunu

1 2
14/05/2013, 19:17

alican60

Formdaki listeden veri seçip sildiğimde veya değiştirme yaptıktan sonra liste kutusuna tıklarsam hata mesajı veriyor,bunu nasıl düzeltebilirim.
14/05/2013, 19:24

iscinar

Liste kutusunu güncellemek yerine Refresh yapmayı deneyin sorun kalmayacaktır.

Private Sub Komut2_Click()
strSQL = "SELECT * FROM GENEL "
Set rstkayit = New ADODB.Recordset
rstkayit.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

With rstkayit
.Find "[SIRA_NO]=" & Me.SIRANO
.Update
.Fields("NO") = Me.NO
.Fields("GRUP_ADI") = Me.ADI
.Delete
End With

Me.Refresh ' Bu bölümü değiştirmeniz yeterli olacaktır.

End Sub
14/05/2013, 19:41

alican60

Allah razı olsun.Silme işleminden hemen sonra metin kutularında '#Silindi' yazısı çıkıyor,bunu yok edebilirmiyiz.
14/05/2013, 20:14

alpeki99

Yüksek miktarda kayıt olan ve ağdan çalışan sistemlerde ikinci bir Sql sorgusu yapmanız performans açısından tavsiye edilmez. Silme işleminden sonra listeden sadece o öğeyi silmeniz iyi olacaktır.

Liste kutusunda seçili öğenin değerini :


seciliOgeDegeri = ListeKutusuAdi.Column(0)

ile alabilir ve aşağıdaki kod ile o satırı silebilirsiniz:

ListeKutusuAdi.RemoveItem ( seciliOgeDegeri )
14/05/2013, 20:20

alican60

Teşekkür ederim.
14/05/2013, 22:26

mehmetdemiral

Size yaptığım diğer ado uygulamasında liste kutusundan verileri form üzerindeki metin kutularına aktarmak yerine liste kutusuna tıklandığında olayına yazılan aşağıdaki kodu kullanarak metin kutularını doldurmuştum. Elinizde çalışan ve hatasız bir örnek varken neden başka bir yöntem kullandınız anlamadım. Kodlar sevgili Alpeki99'un dedikleri gibiydi.

Me.Metin362 = Me.Liste2.Column(0)
Me.Metin360 = Me.Liste2.Column(1)
Me.Metin354 = Me.Liste2.Column(2)
Me.Metin356 = Me.Liste2.Column(3)

Merak ettiğimden soruyorum. Ado kodalrınıo doğru olarak girmiş, ama bu basit Column işleminde hata yapmışsınız. Neden acaba?
1 2