Access Hata

1 2 3
09/01/2020, 16:47

feraz

(09/01/2020, 09:40)ozanakkaya yazdı: Merhaba, 2. call ac kodunu sil. yerine listekutusu.requery kodu ekle.

Maliesef olmadı 2. yi silip dediğinizi ekleyince.
09/01/2020, 16:51

feraz

Dediğim hatalar gifteki gibi.






Merhaba.

Kodları alttaki gibi yapınca olay düzeldi.
Set cn = CurrentProject.Connection
Olay yukarıdaki kodu ekleyince hata vermedi.Yukarıdaki kod galiba Bu Access dosyası için bağlantı kuruyor galiba.Acaba başka bir kapalı Access dosyasına bağlanmak için yukarıdaki koda nasıl ekleme yapılmalı?
Yukarıdaki kodu ekleyince ikince bir Call Ac koduna gerek kalmadan eklemeleri Listboxtta gösteriyor
Kod:
With cn
      .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & CurrentProject.FullName
    End With
Kodu yukarıdaki  yerine üstteki (with ile başlayan) gibi gibi yapınca neden hayya veriri garip.


Option Compare Database

Dim Rs As New ADODB.Recordset
Dim cn As New ADODB.Connection


Sub Ac()

    With cn
        If .State = adStateOpen Then
            .Close
            Set cn = Nothing
        End If
    End With
   
    Set cn = CurrentProject.Connection
   
   
    With Rs
        If .State = adStateOpen Then .Close
        .CursorType = adOpenDynamic
        .CursorLocation = 3
        .LockType = adLockOptimistic
        .Open "Select * From Tablo1 ", cn, , , 1
    End With
   
    Lstbox.ColumnCount = 3
    Lstbox.ColumnHeads = True
    Set Lstbox.Recordset = Rs

End Sub


Private Sub Form_Unload(Cancel As Integer)
    With cn
        If .State = adStateOpen Then
            .Close
            Set cn = Nothing
        End If
    End With
   
     With Rs
        If .State = adStateOpen Then .Close
    End With
   
   
End Sub

Private Sub Komut11_Click() 'Kaydet

    If IsNull(Me.txtAd.Value) Or IsNull(Me.txtSoyad.Value) Or IsNull(Me.txtYas.Value) Then GoTo son
        Rs.AddNew
            Rs(0) = txtAd.Value
            Rs(1) = txtSoyad.Value
            Rs(2) = txtYas.Value
            Rs.Update
        Call Ac
    Exit Sub
son:
    MsgBox "Veriler Bos Birakilamaz!!!!", vbCritical, "Hata"
   
End Sub

Private Sub Komut6_Click() 'Listele
  Call Ac
End Sub

Private Sub Lstbox_Click()
     txtAd.Value = Lstbox.Value
     txtSoyad.Value = Lstbox.Column(1, Lstbox.ListIndex + 1)
     txtYas.Value = Lstbox.Column(2, Lstbox.ListIndex + 1)
End Sub
1 2 3