run tıme error "-2147467259 (80004005) geçersiz boş kullanımı hatası

Katılım
30 Ağustos 2010
Mesajlar
59
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
05-02-2021
Merhaba arkadaşlar.
Aşağıdaki kodlarda "run tıme error "-2147467259 (80004005) geçersiz boş kullanımı hatası alıyorum. sebebi ne olabilir.

Private Sub CommandButton1_Click()
Dim con As Object, rs As Object, s As String
Dim yol As String, bas As Date, son As Date
Dim bugun As Date, formul As Variant, i As Long
Set con = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
yol = "P:\FIRAT\ORTAK\KADRO.xlsx"
bugun = CDate(Date)
Range("b5:ı90").ClearContents
Range("k5:r90").ClearContents
deneme = (bugun - 60) + 5
formul = Split(Range("h2").Value, "-")
bas = formul(0): son = formul(1)
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & yol & ";extended properties=""excel 12.0;hdr=yes"""
rs.Open "select [SİCİL NO],[ADI-SOYADI],[FİRMA],[ŞUBE],[İŞ BAŞI],[İL],CDATE([İŞ BAŞI])+60 from [eleman$] where clng(cdate([İŞ BAŞI]))<=" & CLng(CDate(deneme)), con, 1, 1
If rs.RecordCount > 0 Then
Range("l5").CopyFromRecordset rs
End If
For i = 5 To Range("m65536").End(3).Row
Cells(i, "k").Value = i - 4
Next i
rs.Close
rs.Open "select [SİCİL NO],[ADI-SOYADI],[FİRMA],[ŞUBE],[İŞ BAŞI],[İL] from [eleman$] where clng(cdate([İŞ BAŞI])) between " & CLng(CDate(bas)) & " and " & CLng(CDate(son)), con, 1, 1
If rs.RecordCount > 0 Then
Range("c5").CopyFromRecordset rs
End If
For i = 5 To Range("c65536").End(3).Row
Cells(i, "b").Value = i - 4
Next i
Set rs = Nothing
Set con = Nothing
yol = vbNullString: deneme = Empty: Erase formul
bas = Empty: son = Empty: bugun = Empty: i = Empty
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,859
Excel Vers. ve Dili
2019 Türkçe
Hangi satırda hata alıyorsunuz
 
Katılım
30 Ağustos 2010
Mesajlar
59
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
05-02-2021
Aşağıdaki satırda hata alıyorum

Range("l5").CopyFromRecordset rs
 
Katılım
30 Ağustos 2010
Mesajlar
59
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
05-02-2021
Arkadaşlar yardım edebilecek kimse yok mudur?
 

ozyasli77

Altın Üye
Katılım
31 Mart 2009
Mesajlar
27
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
24-08-2024
aynı hata bende de var yardım edecek biri yok mu acaba
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,578
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Dosyalarınızı paylaşırsanız test etme şansımız olabilir.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
2,971
Excel Vers. ve Dili
Office 2013 İngilizce
Dosyalarınızı paylaşırsanız test etme şansımız olabilir.
Merhaba,
Ekli dosyada aldığım;
"geçersiz boş kullanımı hatası"
neden kaynaklanıyor olabilir?

Veri = RS.getRows

satırında veriyor bu hatayı

desteğiniz için şimdiden teşekkürler,


Kod:
Sub SorguSaat(tarih As Double, saat1 As Double, saat2 As Double)
    Dim RS As Object
    Dim Veri() As Variant
    Dim i As Long, ub As Long
    
      sorgu = "Select * From [Data$] Where Cdbl(CDate([Tarih])) = " & tarih & _
                " And Cdbl(CDate([Saat])) >= " & Replace(saat1, ",", ".") & _
                 " And Cdbl(CDate([Saat])) <= " & Replace(saat2, ",", ".")
    
    Set RS = CreateObject("ADODB.Recordset")
    RS.CursorType = 1
    
    RS.Open sorgu, Con

    Veri = RS.getRows
    
    ub = UBound(Veri, 2)
RS.Close
Set RS = Nothing

End Sub
 

Ekli dosyalar

Katılım
2 Temmuz 2014
Mesajlar
78
Excel Vers. ve Dili
2021 Türkçe, 64bit
Recordset boş ise getrows hata verir. Recordsetin boş olup olmadığı kontrol edilmeli.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,323
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Verdiği hata mesajı özetle; getRows fonksiyonunu parametresiz kullandığınızı söylüyor.....

.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,578
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
@tamer42,

Dosyanızı incelediğimde Data sayfasında 271 satır veri var. Fakat boyutu çok yüksek. Sonra Data sayfasında CTRL+END yaptığımda cursor 1048576. satıra konumlandı.

Null değerler sorguda sorun çıkarıyor.

2. alternatifiniz var...

1- Boş bir sayfa ekleyip Data sayfasındaki 271 satırı bu sayfaya kopyalayabilirsiniz. Eski sayfayı silip yeni eklediğiniz sayfanın adını Data olarak ayarlayabilirsiniz. (Bu sayede dosyanızın boyutuda epey küçülecektir.)

2- Sorgu satırınızı aşağıdaki gibi düzenleyebilirsiniz.

C++:
sorgu = "Select * From [Data$] Where Cdbl(CDate([Tarih])) = " & tarih & _
        " And Cdbl(CDate([Saat])) >= " & Replace(saat1, ",", ".") & _
        " And Cdbl(CDate([Saat])) <= " & Replace(saat2, ",", ".") & " And Not IsNull([Saat])"
 

yusuf1284

Altın Üye
Katılım
17 Ocak 2015
Mesajlar
218
Excel Vers. ve Dili
Office Pro 2016 TR
Altın Üyelik Bitiş Tarihi
09-02-2028
Hocam ben de benzer hata alıyorum hata şu şekilde oluyor tablonun altından verileri siliyorum hata alıyorum satırları seçip komple sildiğimde hata almıyorum

Kodlarım şu şekilde
C++:
kisitc = CStr(kisitc)
sql = "SELECT [STOK NU], [MALZEME ADI], [SERİ NU], [MIKTARI] FROM [" & aralik & "] " & _
          "WHERE  [TC KİMLİK NO] = '" & kisitc & "'" & " And Not IsNull([STOK NU])"


SELECT [STOK NU], [MALZEME ADI], [SERİ NU], [MIKTARI] FROM [DagitimYapilan$Q16:AB] WHERE  [TC KİMLİK NO] = '1111111' And Not IsNull([STOK NU])
 

yusuf1284

Altın Üye
Katılım
17 Ocak 2015
Mesajlar
218
Excel Vers. ve Dili
Office Pro 2016 TR
Altın Üyelik Bitiş Tarihi
09-02-2028
Çözümü yok sanırım
 
Üst