Programı inceliyorum. Eğer sizin için sakıncası yoksa tek tek gidebilir miyiz? Çünkü Access bilgim bu kadar yoğunluğu kaldıramaz.
"1- Listeye clicklediğimizde liste kutusu geçici olarak kayboluyor.
liste kutusu güncellendiği sırada msgbox açıldığı için veriler kayboluyor."
Önce buradan başlayalım. Sanırım aşağıdaki kod bu güncelleme işini yapıyor.
Kod:
Private Sub kaynakliste_AfterUpdate()
On Error GoTo hata:
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[Kimlik] = " & Str(Nz(Me![kaynakliste], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
hata: Exit Sub
End Sub
1- Genelde bu tür kodları kullanırken "option compare database" in altında
"Public rstkayit As ADODB.Recordset
Public intCount As Integer
Dim strSQL As String"
benzeri tanımları yapılıyordu. Yapmayınca hata alıyordum. Siz "rs" kullanmanıza rağmen hata vermiyor neden?
2-"dim rs as object" ile nasıl bir veri türü tanımı yapıyoruz?
3-"Set rs = Me.Recordset.Clone" satırı o recordset'in bir kopyasını mı alıyor?
4-" Str(Nz(Me![kaynakliste], 0))" ifadesiyle kaynakliste sayısal değerini kontrol ediyoruz.Nz ile boş ise 0 olsun diyoruz. Ama sonuçta str ile karakter değere çeviriyoruz. Sonra "kimlik" adındaki otomatik sayı değeriye karşılaştırıyoruz. Neden sayı ile karakter değişkenleri karşılaştırıldığında burada tür hatası vermiyor?
5-" If Not rs.EOF Then Me.Bookmark = rs.Bookmark" burada dosya sonu değilse "me.bookmark=rs.bookmark" la ne demek istiyoruz?
6- me.metin2 ile metin2 arasında ne fark vardır?Neden "me" kullanılır?
7-listenin geçici kaybolmaması için yukarıdaki kodu işlevini yitirmeyecek şekilde başka hangi yordama yazabiliriz?
Allah kolaylık versin. Umarım sorularımla size bıkkınlık vermemişimdir.
Saygılarımla...