• DİKKAT

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

Run-time error '-214721 hatası

Katılım
28 Şubat 2011
Mesajlar
605
Excel Vers. ve Dili
2010 - Türkçe - Win10 x64
Hayırlı günler.
Aşağıda görülen resimde ki hatayı nasıl giderebilirim
Kodun bu satırında hata veriyor.
Kod:
rs.Open sorgu, con, 1, 3

nLGQ7l.png
 
Sayın mutic77 bu bahsettiğiniz konulara baktım. ama anlamadığım bir şekilde hata veriyor. Bazı sitelerde çift tırnaktan önce tek tırnak yazarak deneyin filan diyorlar. Denedim maalesef olmadı. Yardımlarınızı bekliyorum.

Kod:
Private Sub CommandButton2_Click()
Set con = CreateObject("adodb.connection")
    Set rs = CreateObject("adodb.recordset")
    Set fso = CreateObject("Scripting.FileSystemObject")
    yol = ThisWorkbook.Path & "\ARAÇLAR"
    Range("A2:M65536").Clear
    For Each dosya In fso.getfolder(yol).Files
        If dosya.Name <> ThisWorkbook.Name And Mid(dosya.Name, 2, 1) <> "$" Then
           con.Open "provider=microsoft.ace.oledb.12.0;data source=" & dosya & ";extended properties=""Excel 12.0; hdr=yes"""
           sorgu = "SELECT PLAKA, DEPARTMAN,[ÇIKIŞ TARİHİ],[DÖNÜŞ TARİHİ],[KATEDİLEN KM] FROM [Sayfa1$]"
           rs.Open sorgu, con, 1, 3
           Range("A65536").End(3)(2, 1).CopyFromRecordset rs
           rs.Close
        End If
    Next dosya
End Sub
 
Yazdığınız kodu olduğu gibi denedim, çalıştı.
Problemin nereden kaynaklandığı bilemiyorum, dosya yapınızla ilgili olabilir.
 
Kaynak dosyalardaki ilgili sütun başlıklarını alt enter ile ayırmayın. sütun başlıkları düz olsun.kod aşağıdadır.:cool:
Kod:
Set con = CreateObject("adodb.connection")
    Set rs = CreateObject("adodb.recordset")
    Set fso = CreateObject("Scripting.FileSystemObject")
    yol = ThisWorkbook.Path & "\ARAÇLAR"
    Range("A2:M65536").Clear
    For Each dosya In fso.getfolder(yol).Files
        If dosya.Name <> ThisWorkbook.Name And Mid(dosya.Name, 2, 1) <> "$" Then
           con.Open "provider=microsoft.ace.oledb.12.0;data source=" & dosya & ";extended properties=""Excel 12.0; hdr=yes"""
           sorgu = "SELECT PLAKA, DEPARTMAN,[ÇIKIŞ TARİHİ],[DÖNÜŞ TARİHİ],[KATEDİLEN KM] FROM [Sayfa1$B3:M" & Rows.Count & "]"
           rs.Open sorgu, con, 1, 3
           Range("A65536").End(3)(2, 1).CopyFromRecordset rs
           rs.Close
        End If
        con.close
    Next dosya
 
Özür dilerim ama bir mallık var bende sanırım.
o kodları modüle ekledim olmadı command butona ekledim yine olmadı yine aynı hatayı alıyorum.
Kod:
rs.Open sorgu, con, 1, 3
satırı sarıya boyanıyor. Delircem yemin ederim.
 
Kaynak dosyalardaki ilgili sütun başlıklarını alt enter ile ayırmayın. sütun başlıkları düz olsun.

Özür dilerim ama bir mallık var bende sanırım.
o kodları modüle ekledim olmadı command butona ekledim yine olmadı yine aynı hatayı alıyorum.
Kod:
rs.Open sorgu, con, 1, 3
satırı sarıya boyanıyor. Delircem yemin ederim.

yukarıda bahsettim.Sanırım okumamışsınız!:cool:
 
Sayın Orion1 bütün birleştirilmiş hücreleri çözdüm. alt enter ile ayrılanları eski haline döndürdüm. yine aynı hata yine aynı hata. bence bir eklenti aktif edilecek ama hangisi?
 
Sayın Orion1
Bu kodlar şöyle değiştirebilir miyiz?
Sadece sayı ile başlayan dosyalardan bilgi alsa..
Çünkü aynı klasörde başka dosyalar da var.
 
Sayın Orion1
Bu kodlar şöyle değiştirebilir miyiz?
Sadece sayı ile başlayan dosyalardan bilgi alsa..
Çünkü aynı klasörde başka dosyalar da var.

İlgili satırı aşağıdaki kod ile değiştirip deneyiniz.:cool:
Kod:
 If dosya.Name <> ThisWorkbook.Name And Mid(dosya.Name, 2, 1) <> "$" _
                And IsNumeric(Left(dosya.Name, 1)) Then
 
Üstad ilgin için teşekkür ederim. Bunu deneyeceğim bir sıkıntı daha oluştu..
Ayıp olmazsa ona da yardım edebilirmisin?
ilgili kodda nasıl bir değişiklik yapmamız gerekiyor ki "C:\Users\ocop0909\Desktop\araçlar" klasöründen veri alsın? aynı klasör içindeki /araçlar klasöründe bir sıkıntı yok yalnız ben bunu ağda kullanacağım. Dosya yolu ile ilgili kodu düzenleyemedim.
 
Üstad ilgin için teşekkür ederim. Bunu deneyeceğim bir sıkıntı daha oluştu..
Ayıp olmazsa ona da yardım edebilirmisin?
ilgili kodda nasıl bir değişiklik yapmamız gerekiyor ki "C:\Users\ocop0909\Desktop\araçlar" klasöründen veri alsın? aynı klasör içindeki /araçlar klasöründe bir sıkıntı yok yalnız ben bunu ağda kullanacağım. Dosya yolu ile ilgili kodu düzenleyemedim.

İlgili kodu değiştirin.:cool:
Kod:
yol = "C:\Users\ocop0909\Desktop\araçlar"
 
Geri
Üst