Access veritabanına bilgi atma...

Katılım
16 Eylül 2006
Mesajlar
14
Excel Vers. ve Dili
excel 2003 Türkçe
Sub access_e_bilgi_gonder()
Dim Baglan As Object
Dim Komut As String
Dim Kaynak_Dosya As String
Dim Hedef_Dosya As String
Set Baglan = CreateObject("ADODB.connection")
Kaynak_Dosya = ThisWorkbook.Path & "\ORDER-ŞABLON.xlt"
Hedef_Dosya = ThisWorkbook.Path & "\CRM.mdb"
Baglan.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Kaynak_Dosya & ";" _
& "Extended Properties=""Excel 8.0;HDR=Yes"""
Komut = "INSERT INTO [ACCESS] IN '" & Hedef_Dosya & "' Select * FROM [ACCESS$]"
Baglan.Execute Komut
End Sub

Yardımcı olabilecek arkadaşlara sorum şu...Yukarıdaki makro ile accesse veri atıyorum.Ancak kaynak dosya Mutlaka ORDER-ŞABLON.xlt olmak zorunda mı? Bu şablonla işim bitince farklı adla dosyayı kaydediyorum.değişikliklerin tekrar accesse gitmesi için makroyu çalıştırdığımda doğal olarak dosya adı yukarıda yazılandan farklı olduğu için hata dönüyor.
1-)Dosya adını verdiğim addan okuyacak bir satır eklemek mümkün mü?
2-)aynı dosya içinde değişiklik yapıldığında ve makro çalıştırıldığında accese yeni bir satır açıyor. Bunun yerine mevcut satırı bulup update etmesi sağlanabilir mi?

Şimdiden yardımcı olabilecek arkadaşlara teşekkürler...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Birinci sorunuza cevap vermeye çalışayım. Eğer açılan dosyanın adını kullanacaksanız koddaki ilgili satırı aşağıdaki gibi değiştirin.

Kod:
Kaynak_Dosya = ThisWorkbook.Path & "\ORDER-ŞABLON.xlt"
Yukarıdaki satır yerine aşağıdaki gibi kullanın.

Kod:
Kaynak_Dosya = ActiveWorkbook.FullName
 
Katılım
16 Eylül 2006
Mesajlar
14
Excel Vers. ve Dili
excel 2003 Türkçe
Çok teşekkürler...1.sorum gayet iyi çözümlendi...İnşallah 2. soruma da bir arkadaşdan yanıt alırım...

tekrar teşekkürler
 
Katılım
16 Eylül 2005
Mesajlar
179
Excel Vers. ve Dili
Excel 2007 12.0
2. sorunuzun açıklaması yeterli gelmedi.
siz mümkünse dosyayı ekleyin
 
Son düzenleme:
Katılım
21 Aralık 2004
Mesajlar
10
Update komutunun 2 nolu soru için çözüm olabilecek bir yazılımı varmı acaba?



Sub access_e_bilgi_gonder()

Komut = "INSERT INTO [ACCESS] IN '" & Hedef_Dosya & "' Select * FROM [ACCESS$]"
Baglan.Execute Komut
End Sub


2-)aynı dosya içinde değişiklik yapıldığında ve makro çalıştırıldığında accese yeni bir satır açıyor. Bunun yerine mevcut satırı bulup update etmesi sağlanabilir mi?

Şimdiden yardımcı olabilecek arkadaşlara teşekkürler...
 
Katılım
16 Eylül 2006
Mesajlar
14
Excel Vers. ve Dili
excel 2003 Türkçe
Yine bunlara ek olarak accese aktarılan excel sayfasındaki satırlardan eğer her satırın ilk hücresi dolu ise o satırı aktar ama boş veya 0 ise aktarmayı durdur denilebilirmi ?

Uyglumadaki sıkıntı şu...Aktarılacak excel sayfasına başka sayfadan özet veriler akıyor. En fazla 32 satır ama her zaman aktarılacak veriler 32 satır olmuyor. Ama veri çeken kısımda formül olduğu için hücreler 0 değerini alıyor. Accesse aktar denildiğinde içeriği 0 olan hücreleri de atıyor.
 
Katılım
16 Eylül 2006
Mesajlar
14
Excel Vers. ve Dili
excel 2003 Türkçe
Accesse veri atacak sayfaya formullerle 32 satırlık veri çekiliyor ve accese gonderılıyor. Ama bu cekılen satır sayısı her zaman 32 olmadığından kalan satırlar excel de 0 olarak gözüküyor.Koşullu biçim ile 0 lı satırların excel de görüntülenmesi engelleniyor ancak Accese gönderildiğinde 0 içeren satırlar da aktarılıyor. Accese veri aktarırken örneğin bir sonraki aktarılacak satırda 0 ile karşılaşır karşılaşmaz aktarmayı durdur diyebilirmiyiz?
 
Üst