Kapalı Dosya Veri Listeleme Hatasını Çözme

Cevapla
1903emre
Mesajlar: 2
Kayıt: Pzr Haz 25, 2023 5:50 pm
Meslek: İç Denetçi (Özel Sektör)
Adınız: EMRE
Soyadınız: HIZARCI

Kapalı Dosya Veri Listeleme Hatasını Çözme

Mesaj gönderen 1903emre »

Merhaba

Ekte yüklediğim DENETİM isimli dosyaya AMORTİSMAN_MÜNFERİT dosyasından veri aldırıyorum. Ancak Sub A_MUNFERİT_AKTAR() makrosunda hata veriyor. Bu hatayı vermesine sebep olacak her şeyi kontrol ettiğim halde maalesef sonuca ulaşamadım. ..
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
SNNAY
Mesajlar: 45
Kayıt: Prş Mar 21, 2024 11:31 am
Lokasyon: istanbul
Meslek: Oto Yedek Parça Satış Elemanı
Adınız: Sinan
Soyadınız: Aykaç

Re: Kapalı Dosya Veri Listeleme Hatasını Çözme

Mesaj gönderen SNNAY »

Sütun başlıkları uyuşmadığı için hata verdi. Başlıkları 1 2 3 olarak ayarladığımda çalışıyor.

Kod: Tümünü seç

Sub A_MUNFERİT_AKTAR()
    Dim Dosya As String, Baglanti As Object, Sorgu As String
    Dim Kayit_Seti As Object, Sayfa As Worksheet, Zaman As Double
    Dim Hedef_Sayfalar As Variant, Kaynak_Sayfalar As Variant, x As Byte
    
    Zaman = Timer
    
    Set Baglanti = CreateObject("ADODB.Connection")
    
    Dosya = ThisWorkbook.Path & Application.PathSeparator & "amortisman.xlsm"
    
    Baglanti.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
    Dosya & ";Extended Properties=""Excel 12.0;HDR=YES"""
    
    Hedef_Sayfalar = Array("A_MÜNFERİT")
    Kaynak_Sayfalar = Array("MAHSUP")
    
    For x = 0 To UBound(Hedef_Sayfalar)
        Set Sayfa = Sheets(CStr(Hedef_Sayfalar(x)))
        Sayfa.Range("A2:Y" & Rows.Count).ClearContents
        
        ' İlk birkaç sütun ile başlayalım
        Sorgu = "SELECT [1], [2], [3] FROM [" & Kaynak_Sayfalar(x) & "$]"
        
        On Error Resume Next
        Set Kayit_Seti = Baglanti.Execute(Sorgu)
        If Err.Number <> 0 Then
            MsgBox "Hata: " & Err.Description, vbCritical
            Err.Clear
        Else
            Sayfa.Range("A2").CopyFromRecordset Kayit_Seti
            Kayit_Seti.Close
        End If
        On Error GoTo 0
    Next
    
    Baglanti.Close
    
    Set Kayit_Seti = Nothing
    Set Baglanti = Nothing
    
    MsgBox "Veri aktarımı tamamlanmıştır." & Chr(10) & Chr(10) & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub


Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Cevapla
  • Benzer Konular
    Cevaplar
    Görüntüleme
    Son mesaj