Çalışma Zamanı Hatası '-2147217887 (80040E21)

mars2

Altın Üye
Katılım
2 Eylül 2004
Mesajlar
553
Excel Vers. ve Dili
2016 - Türkçe
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
26-03-2026
İyi Akşamlar;

Çalışma kitabının ayrı ayrı sayfalarında aylara (ocak şubat, mart) ait bodro bulunmaktadır.
Diğer çalılşma kitapta ise EFT listesi bulunmaktadır

Bodrunun "B" sutununda isimler, "K" sutunda ise net ödenecek tutar bulunmaktadır.
EFT listesinin bulunduğu sayfada "B" sutunun isimler, "H" sutunda ise net ödenecek tutarlar bulunmaktadır.

Aşağıdaki kodla, EFT sayfasının "B4" hücresinde yazılı aya (örneğin Mayıs) ait bilgileri Bodro çalışma kitabının ait bulunduğu sayfadan (örneğin Mayıs) isimler ve net ödenecek tuatarları almaktayım.

Ancak kodun bağlı bulunduğu butona bastığımda, "Çalışma Zamanı Hatası '-2147217887 (80040E21)" mesajı gelmekte ve "end" düğmesine bastığımda ise veriler gelmektedir.

Hata Sayfa4.Cells(i + 7, "H") = rs.Fields("f10").Value satırında vermekte olup nereden kaynaklanmakta ve nasıl düzeltebilirim.


Sub Düğme1_Tıkla()
Dim baglan, rs As Object
Dim dosyaYolu, sayfAdi As String

Dim Time1 As Double, Time2 As Double
Dim timeElapsed As String

Range("B7:B31").ClearContents
Range("B34:B42").ClearContents

Range("H7:H31").ClearContents
Range("H34:H42").ClearContents


Application.ScreenUpdating = False
Application.DisplayAlerts = False

Time1 = Now

Set baglan = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
sayfAdi = Sayfa4.Range("B4")
dosyaYolu = ThisWorkbook.Path & "\bodro-2023.xls"

baglan.Open "provideR=microsoft.ace.oledb.12.0;data source=" & dosyaYolu & ";extended properties=""excel 12.0;hdr=no;IMEX=1"";"
rs.Open "select f1,f10 from [" & sayfAdi & "$B11:K500]", baglan, 1, 1
rs.MoveFirst
For i = 0 To rs.RecordCount - 1

Sayfa4.Cells(i + 7, "B") = rs.Fields("f1").Value
Sayfa4.Cells(i + 7, "H") = rs.Fields("f10").Value

rs.MoveNext
Next i

'Sayfa4.Range("N3").Rows.CopyFromRecordset
'Sayfa4.Range("N3").CopyFromRecordset rs

rs.Close
baglan.Close
Set rs = Nothing
Set baglan = Nothing
Time2 = Now

timeElapsed = Format(Time2 - Time1, "hh:mm:ss") & " Saniye"

Application.DisplayAlerts = True
Application.ScreenUpdating = True

MsgBox "Aktarma İşlemi Tamamlandı" & Chr(13) & Chr(13) & " İşlem Süresi: " & timeElapsed, vbInformation, "VERİ AKTARMA"

End Sub
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,207
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Dosyayı görmeden bu soruya yanıt vermek zor.
 

mars2

Altın Üye
Katılım
2 Eylül 2004
Mesajlar
553
Excel Vers. ve Dili
2016 - Türkçe
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
26-03-2026
Örnek dosya ektedir
 

Ekli dosyalar

mars2

Altın Üye
Katılım
2 Eylül 2004
Mesajlar
553
Excel Vers. ve Dili
2016 - Türkçe
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
26-03-2026
İyi Akşamlar;
Konu güncelliğini korumakta olup konu hakkında görüş ve önerileriniz beklenmektedir.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,207
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Sorguyu aşağıdaki gibi yapınca hata vermedi.
Kod:
rs.Open "select f1,f10 from [" & sayfAdi & "$B10:K500] where f1 >'' ", baglan, 1, 1
 

mars2

Altın Üye
Katılım
2 Eylül 2004
Mesajlar
553
Excel Vers. ve Dili
2016 - Türkçe
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
26-03-2026
Sayın Necdet;

İlgi ve alakanız için teşekkürker
 
Üst