• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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

  • Konbuyu başlatan Konbuyu başlatan mars2
  • Başlangıç tarihi Başlangıç tarihi

mars2

Altın Üye
Katılım
2 Eylül 2004
Mesajlar
606
Excel Vers. ve Dili
2016 - Türkçe
2019 - Türkçe
İ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

  • hata.jpg
    hata.jpg
    32.7 KB · Görüntüleme: 5
Merhaba,
Dosyayı görmeden bu soruya yanıt vermek zor.
 
Örnek dosya ektedir
 

Ekli dosyalar

İyi Akşamlar;
Konu güncelliğini korumakta olup konu hakkında görüş ve önerileriniz beklenmektedir.
 
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
 
Sayın Necdet;

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