• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Ado ile veri çekiyorum hata veriyor.

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

link_mr

Yeni Üye
Katılım
24 Eyl 2021
Mesajlar
35
Aldığı beğeni
2
Excel V
Office 2019 TR
Konu Sahibi
Merhabalar, ado ile veriyi getiriyorum.fakat hata mesajı veriyor. arka planda dosya açık kalıyor. yardımcı olabilir misiniz?

kodlar şu şekildedir.
hata veren kod
'Worksheets("Ödenen").Range("A" & Worksheets("Ödenen").Range("A" & Rows.Count).End(3).Row + 1).CopyFromRecordset MyRs

Sub irsaliyebilgileri2()
Dim ifade As String, MyCn As Object, MyRs As Object
Dim Yol As String, Dosya As String, Sayfa As String, Aranan As String

'sonradan eklediğim
Dim rng As Range
Dim r As Range

Yol = ThisWorkbook.Path & "\" 'Ağdan almak istenirse ' Yol = "\\10.17.0.2\Muhasebe\HAM MADDE\HMK\Excel-Atık Kağıt\2021\"
Dosya = "dveri.xlsx"
Sayfa = "KDS-DÖKME"
Aranan = Range("F2")
Set rng = Sayfa2.Range("E4:E" & Sayfa2.Cells(Rows.Count, 5).End(xlUp).Row)
For Each r In rng
If r.Value = Aranan Then
MsgBox "Bu kayıt daha önce getirilmiş.", vbInformation + vbOKOnly, "İrsaliye"
Exit Sub
End If
Next r
Set MyCn = CreateObject("ADODB.Connection")
Set MyRs = CreateObject("ADODB.recordset")
MyCn.Provider = "Microsoft.ACE.OLEDB.12.0"
MyCn.Properties("Data Source") = Yol & Dosya
MyCn.Properties("Extended Properties") = "Excel 12.0 XML; HDR=Yes"
MyCn.Open

ifade = "Select * from [" & Sayfa & "$] Where [İRSALİYE NUMARASI] ='" & Aranan & "'"
MyRs.Open ifade, MyCn, 1, 1
If MyRs.RecordCount > 0 Then
Range("A" & Range("A" & Rows.Count).End(3).Row + 1).CopyFromRecordset MyRs
Worksheets("Ödenen").Range("A" & Worksheets("Ödenen").Range("A" & Rows.Count).End(3).Row + 1).CopyFromRecordset MyRs
End If
MyRs.Close
MyCn.Close
Set MyCn = Nothing: Set MyRs = Nothing

End Sub
 
Çözüm
eklediğiniz örneğe göre yorumlarsam hatanın sebebi:
veriler ilk satırdan başlıyor oysa başlıklarınız 3. satırda
ADO işlemlere veri gördüğü ilk satırdan başlar hatta bazen ilk satıra yazılan veri silinmiş olsa da ADO orayı NULL veri olarak görüp tabloya dahil eder.
sizin çalışmanızdaki ilk satırda H1 ve I1 hücrelerinde hesaplama
A2 de ise -HAKEDİŞ TABLOSU - tablo Adı var
başlıklar ise yani sizin kriterde kullandığınız [İRSALİYE NUMARASI] ise 3. satırda
bu durumda:
ya
aşağıdaki kodda gösterildiği gibi HDR=No ve [İRSALİYE NUMARASI] ise [F5] olacak
Not: [İRSALİYE NUMARASI] başığı 5. sütunda olduğundan [F5] yazıldı , hata yapmış olabilirim ilgili sütun no yazılacak...
Ayrıntılı olarak inceleme imkanım olmadı ama eğer veri alınacak dosyanızın yapısı eklediğiniz dosya ile aynıysa kodun hata vermesi normal
Verileriniz 3. satırdan başlıyor olsa da ado ilk satırda veri olduğu için 1. satırı başlık satırı olarak görüyor.
[İRSALİYE NUMARASI] başlığı 1. satırda olmadığından kod başlığı bulamıyor hata bu yüzden oluyor olabilir.
Not: 1 dosya yek eklemişsiniz oysa 2 farklı dosya gerekiyordu.
 
Konu Sahibi
2 dosyamıda ekliyorum.verileri aldığım dosyanın şifresi 200707
 
Dener misiniz...
 
Konu Sahibi
Teşekkür ederim.Elinize sağlık.

eğer ki aramış olduğum kayıt yoksa bunun için uyarı kodu yazabilir misiniz?
ayrıca veri dosyamı arka planda açılıp otamatik kapanmasını istiyorum.
 
Konu Sahibi
Merhabalar,
dosyayı ağ üzerinden çekmek istiyorum nasıl düzenleme yapmam gerekiyor.hata veriyor.
Yardımcı olabilir misiniz?

ağ yolu : \\10.17.0.2\Muhasebe\HAM MADDE\HMK\Excel-Atık Kağıt\2022
dosya adı: dveri
Şifre:200707
 
Nasıl bir hata aldığınızı bilmiyorum, ağa erişim için herşey uygunsa aşağıdaki gibi tanımlama yeterli...
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Konu Sahibi
kusura bakmayın kodları başka bir dosyamda kullanmak istediğimde
MyRs.Open ifade, MyCn, 1, 1 burada bir hata veriyor. nerede hata yapıyor olabilirim acaba,
 
Hata veriyor cümlesi tek başına bir anlam ifade etmiyor
Nerede hata veriyor?
Ne hatası veriyor?
Kodunuzun son hali ne?
Kodda ne değişiklikler yaptınız?
Bu açıklamalar olmadan hatayı nasil çözebiliriz
Kod yok, açıklama yok, dosyanın son hâli de yok
 
Konu Sahibi
Kusura bakmayın dosyayı ekleyemeyeceğim.
dosya adı:Yerli
Ağ yolu:\\10.17.0.2\Muhasebe\HAM MADDE\HMK\Excel-Atık Kağıt\2022
Şifre:462744


hata.png
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Çalışmanızı bilmediğim için ifade = "Select * from [" & Sayfa & "$] Where [İRSALİYE NUMARASI] ='" & Aranan & "'" söz dizimine göre tahmini yorumluyorum...
1. "yerli.xlsx" dosyasında (Sayfa =) "KDS-DÖKME" sayfası olmayabilir
2. [İRSALİYE NUMARASI] sütunu olmayabilir, bu ihtimal daha yüksek
 
eklediğiniz örneğe göre yorumlarsam hatanın sebebi:
veriler ilk satırdan başlıyor oysa başlıklarınız 3. satırda
ADO işlemlere veri gördüğü ilk satırdan başlar hatta bazen ilk satıra yazılan veri silinmiş olsa da ADO orayı NULL veri olarak görüp tabloya dahil eder.
sizin çalışmanızdaki ilk satırda H1 ve I1 hücrelerinde hesaplama
A2 de ise -HAKEDİŞ TABLOSU - tablo Adı var
başlıklar ise yani sizin kriterde kullandığınız [İRSALİYE NUMARASI] ise 3. satırda
bu durumda:
ya
aşağıdaki kodda gösterildiği gibi HDR=No ve [İRSALİYE NUMARASI] ise [F5] olacak
Not: [İRSALİYE NUMARASI] başığı 5. sütunda olduğundan [F5] yazıldı , hata yapmış olabilirim ilgili sütun no yazılacak
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
yada
[" & Sayfa & "$]
yerine [" & Sayfa & "$A3:AA] kullanarak başlığın olduğu 3. satırdan başlatıp veri hangi sütunlardaysa Sütun aralığını da belirteceksiniz
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Kısaca sorun 4. mesajda belirttiğim durum)
 
Son düzenleme:
Çözüm
Konu Sahibi
Elinize sağlık çok teşekkür ederim.son olarak birşey daha sorabilir miyim?
dosya şifresi hem karakter hem şifre olursa passaword kısmına farklı eklenti yazmam gerekiyor mu?
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst