Ado 'le Kayit Runtime 3001 Hatasi

1 2
16/03/2020, 21:18

Oğuz Türkyılmaz

Merhaba
Otomatik sayi olan ID alaninda ADO ile kaydet tiklandığında hata aliyorum. Çözümü konusunda bilgi vermenizi rica ederim.

b-

c-

d-


Dim rstkayit As ADODB.Recordset
Dim strSQL As String

strSQL = "SELECT * FROM T_GelenEvrak "
    Set rstkayit = New ADODB.Recordset
    rstkayit.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        With rstkayit
       
           .Find "[ID]=" & " & Me![ID_TXT] & "
          
            If Not rstkayit.EOF Then
               
                .Fields("EvrakTarihi") = Me.EvrakTarihi_TXT
                .Fields("EvrakNo") = Me.EvrakNo_TXT
                .Fields("KayitTarihi") = Me.KayitTarihi_TXT
                .Fields("GonderenKurum") = Me.GonderenKurum_TXT
                .Fields("GonderenKisi") = Me.GonderenKisi_TXT
                .Fields("Kategori") = Me.Kategori_CBO.Column(0)
                .Fields("Konusu") = Me.Konusu_TXT
                .Fields("Durumu") = Me.Durumu_CBO.Column(0)
                .Fields("EkBelge") = Me.EkBelge_TXT
                .Update
               
               Else
              
                .AddNew
                .Fields("EvrakTarihi") = Me.EvrakTarihi_TXT
                .Fields("EvrakNo") = Me.EvrakNo_TXT
                .Fields("KayitTarihi") = Me.KayitTarihi_TXT
                .Fields("GonderenKurum") = Me.GonderenKurum_TXT
                .Fields("GonderenKisi") = Me.GonderenKisi_TXT
                .Fields("Kategori") = Me.Kategori_CBO.Column(0)
                .Fields("Konusu") = Me.Konusu_TXT
                .Fields("Durumu") = Me.Durumu_CBO.Column(0)
                .Fields("EkBelge") = Me.EkBelge_TXT
                .Update
               
            End If
        End With
End If

End Sub
16/03/2020, 21:31

berduş

           .Find "[ID]=" & Me![ID_TXT]
find komutunu yukardaki gibi düzenleyip dener misiniz?
Me![ID_TXT] kodundan önce ve sonra neden çift tırnak ( " ) eklemişsiniz?
16/03/2020, 21:47

Oğuz Türkyılmaz

(16/03/2020, 21:31)berduş yazdı:
           .Find "[ID]=" & Me![ID_TXT]
find komutunu yukardaki gibi düzenleyip dener misiniz?
Me![ID_TXT] kodundan önce ve sonra neden çift tırnak  ( " ) eklemişsiniz?

asagida metin tipinde alan için " ' " seklinde idi ID alani Sayi oldugu icin cift tirnak icinde yazdim.

strSQL = "SELECT * FROM T_Uye order by uyeno"
    Set rstkayit = New ADODB.Recordset
    rstkayit.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        With rstkayit
            .Find "[TcNo]=" & "'" & Me![TcNo_TXT] & "'"
            If Not rstkayit.EOF Then
16/03/2020, 21:52

Oğuz Türkyılmaz



Ayni hatayi verdi. Sn@berduş
16/03/2020, 21:58

berduş

1. gönderdiğiniz örnekte öyle değildi çift tırnak içinde tek tırnak yoktu sadece önüne ve sonuna birer tane çift tırnak eklenmişti
2. is ID alanı metin değil ki uzun tamsayı yani tırnak kullanılmaz
3. yine denedim bende hata vermedi
ID girdiğiniz metin kutusu gizli ve boş
görünür yapıp sayıyı ben girdim sorunsuz düzenleme yaptı
16/03/2020, 22:15

feraz

.Find "[TcNo]=" & TcNo_TXT.value

Kodlara bakarak yazdım deneyemedim.
1 2