Excel Dosyasındaki bir sayfayı Accese AKtarmak

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
946
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
Excelde bir butonla verileri access dosyasına Tablo1'e kaydediyorum.

Bu verilerin yedeği sayılır.Daha sonra excelden UserForm üzerinden buton yardımı ile ilgili verileri yani accesstekileri, excel sayfamdaki kütük adlı sayfaya geri yüklemek istiyorum.Geri yüklemeye ait makro kodu önerebilirmisiniz.Access bulunduğu klasör C:\dosya\veri.mdb

Teşekkürler
 
Son düzenleme:

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
946
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
Bu makro kodu lazım arkadaşlar bana:???:
 
Katılım
24 Temmuz 2007
Mesajlar
726
Excel Vers. ve Dili
Excel 2010 tr
selam

DoCmd.TransferSpreadsheet komutunu incelermisiniz işinizi görmesi lazım
aşağıda örnek bir kullanımı var;

DoCmd.TransferSpreadsheet acExport, 5, _
"Riskalim", "C:\Documents and Settings\bm\Desktop\Risk.xls", True, "A1:G12"
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
946
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
anlayamadım ..
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
946
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
Konuya cevap yokmu
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,115
Excel Vers. ve Dili
Microsoft Office 2019 English
Kod önemli degil ama herşeyi kodla çözmek dogru bir çözüm degildir.
Sizin yeriniz de olsam daha kısa işlem olarak;

Sırasıyla Excel Menu

Data/Import External Data/New Database Query/New Data Source Seçili iken

OK dügmesine basın.

Baglantı Adını yazınız Bölümüne istediginiz bir isim veriniz. Yazdıktan sonra hemen altında açılan bölümden

Driver to Mdb yi seçiniz

CONNECT dügmesine basınız

Select dügmesinden ilgili dosyayı seçiniz.

OK diyin.

Tekrar OK diyiniz

Select a defautl table bölümünden ilgili tabloyu seçiniz.

OK diyiniz

Tekrar OK diyiniz

Ve Tablodaki bütün alanlar karşımızda.

İstedigimiz alanları sag tarafa aktaralım.İstersek tümünü aktarabiliriz.

NEXT NExt diyerek ilerleyiniz.Finish diyin ve son bölüm ilgili sayfada hangi kolondan başlayacak ise o kolonu seçiniz ve OK diyerek işlemi sonlandırın.

Bitti bukadar. Verileriniz artık sheet içerisindedir. Siz MDB dosyasına nezaman verileri update ederseniz bu sayfa da Sag tuşlayarak refresh data derseniz verileriniz güncellenecektir.

MDB den veri çekme ile ilgili forum da yüzlerce kod var zaten.Arama yapınız
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
946
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
İlginiz için teşekkür.Okullar için gerekli bir program hazırladım sizin dediklerinizi bırakın yapacak, hücreye = giremeyenler var..Neyse teşekkür
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,115
Excel Vers. ve Dili
Microsoft Office 2019 English
Günaydın;

Neyseki sizler yapabiliyorsunuz = işaretini.

Kolay gelsin
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Aldığınız ilk öneri aslında amacınıza uygun.. merakli_72 bunu Access üzerinden kullanacağınız varsayarak önermiş.. Eğer bu böyle ise form üzerindeki bir butona uygulayabilirsiniz. Değişkenlere girdiğiniz tanımlamaların doğruluğuna göre komut çalışacaktır..

İşlemi excel dosyanız üzerinden yapmak istiyorsanız konuyu ilgili bölüme taşıyınız.. Veya benzer konuda bir çok çözüm içerisinden kod tecrübenize göre faydalanabilirsiniz..

Selamlar..
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
946
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
Teşekkür fakat o komutu hiç kullanmadım hoş...hiç duymadım oysa ben Access'te bulunan Tablo1 verilerini excele aktarmak istiyorum.Excelde UserForm üzerinde bir butona basarak..Makro ile
Herkes arama yapın diyor bir tane sağlıklı kod bulamadım hep excelden Accese veri aktar var, Accessten Excele veri aktarımı ile ilgili bir tek sağlam kod veya konu yok..
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,115
Excel Vers. ve Dili
Microsoft Office 2019 English
Sayın htsumer,
İnanın forum da binlerce kez aynı şey işlenilmiş. Varsayalım ki işlenilmedi.

Buyrun tek tek yazdım kodları size. Ve Ek dosyaya örnegi de ekliyorum.

Sanırım bu konu da örnek yok diyecek kimse çıkmaz

Kod:
Dim cnn As New ADODB.Connection '   CNN olan Access dosyasına baglantı saglayacaktır
Dim rst As New ADODB.Recordset ' RST olan tanımlama ise kayıtları okumaya,yazmaya,silmeye düzeltmeye yarayacaktır.



Sub Baglan()
' Hadi Accesse Baglanalım.
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Data\Maas.mdb;User Id=admin;Password=;"

'_____________________________________________________________________________
' Baglantımızı gerçekleştirdik.Sıra Kayıtları okumaya geldi!

rst.Open " select * from Personel", cnn, adOpenForwardOnly, adLockReadOnly
' Şimdi bu cümle de dedik ki ; Ey RST adlı arkadaş sen PERSONEL adlı tablodaki bütün tüm alanları
' Bize Bulmalısın... Bu getirme işlemini ne ile sagladık ? * işareti ile

'_____________________________________________________________________________
' Verileri listelemeden önce tüm sayfayı temizleyelimki eski veriler kalmasın.
Cells.Select
Selection.ClearContents
'_____________________________________________________________________________

 ' Şimdi ne yapıyoruz ilgili sayfada başlıklarımızı atıyoruz.
Range("A1").Value = "Adı"
Range("B1").Value = "Soyadı"
Range("C1").Value = "Görevi"
Range("D1").Value = "Bölümü"
'_____________________________________________________________________________
' Ve geldik show kısmına hadi verileri listeleyelim hücrelere

i = 2 ' İ adlı bir değer atamasına 2 rakamı ile başlamasını emrediyoruz.Neden?
      ' Çünkü 1.sırada başlıklarımız var.
      
Do Until rst.EOF = True ' Buradaki amaç nedir?  Eğer Kayıtlar varsa listele yoksa listeleme
Range("A" & i).Value = rst!adi ' Personel Adlı tablodan git Adı adlı alandaki verileri listele
Range("B" & i).Value = rst!soyadi 'Personel Adlı tablodan git soyadı adlı alandaki verileri listele
Range("C" & i).Value = rst!Gorevi  ' ""
Range("D" & i).Value = rst!Bolumu  ' ""
i = i + 1  ' Burada bir sonraki hücreye geç diyoruz
rst.MoveNext ' Burada bir sonraki kayıda geç diyoruz
Loop ' Kayıtlara devam ediyoruz
rst.Close ' Artık Kayıtlarımızla işlemlerimiz bitti. RST adlı arkadaşa veda ediyoruz
cnn.Close ' E Kayıtlarla işlerimiz bittigine göre Baglantıyıda sonlandırabiliriz.
End Sub
 

Ekli dosyalar

Son düzenleme:

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
946
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
Sayın htsumer,
İnanın forum da binlerce kez aynı şey işlenilmiş. Varsayalım ki işlenilmedi.

Buyrun tek tek yazdım kodları size. Ve Ek dosyaya örnegi de ekliyorum.

Sanırım bu konu da örnek yok diyecek kimse çıkmaz
Sayın Trilenium,

Nazik davranışınız ve sabrınız için teşekkür ederim.Eskisi gibi kodlara adapte olamıyorum, gönderdiğiniz dosyadaki aşağıdaki kodu kendime uyarladım,
Tablo1 içindeki sütunları adi,soyadi,gorevi,bolumu olarak düzenledim.
Fakat aşağıdaki satırda hata verdi.Referanslardan bu Microsoft.Jet.OLEDB.4.0;Data referansını aradım bulamadım.
Kod:
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\execute_kayit;"
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,115
Excel Vers. ve Dili
Microsoft Office 2019 English
Benim yazdıgım kod bu degil...

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Camera\Maas.mdb;User Id=admin;Password=;"

bu
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
946
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
elbette değil dosya yolunu kendime uyarladım..
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
946
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
pardon

.mdb unutmuşum
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
946
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
Sayın Trilenium
Bu topic hit yapacak :)

Çok çok teşekkür ederim eninde sonunda hallettim sayenizde..Oh rahatladım..Kolay gelsin :)
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,115
Excel Vers. ve Dili
Microsoft Office 2019 English
Ellerinize saglık.Başarılar dilerim.
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
946
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
Sayın

Kodları kendime göre derleedim.Aşağıdaki gibi yaptım.
Kod:
Dim cnn As New ADODB.Connection '   CNN olan Access dosyasına baglantı saglayacaktır
Dim rst As New ADODB.Recordset ' RST olan tanımlama ise kayıtları okumaya,yazmaya,silmeye düzeltmeye yarayacaktır.
 
Sub Baglan()
' Hadi Accesse Baglanalım.
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\devamsizlik takip\execute_kayit.mdb;"
'cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\execute_kayit.mdb;"
'_____________________________________________________________________________
' Baglantımızı gerçekleştirdik.Sıra Kayıtları okumaya geldi!
' Şimdi bu cümle de dedik ki ; Ey RST adlı arkadaş sen MAAS adlı tablodaki bütün verileri
' Bize Bulmalısın... Bu getirme işlemini ne ile sagladık ? * işareti ile
rst.Open " select * from Tablo1", cnn, adOpenForwardOnly, adLockReadOnly
'_____________________________________________________________________________
' Verileri listelemeden önce tüm sayfayı temizleyelimki eski veriler kalmasın.
Cells.Select
Selection.ClearContents
'_____________________________________________________________________________
 ' Şimdi ne yapıyoruz ilgili sayfada başlıklarımızı atıyoruz.
'kütük
Range("A1").Value = "TC KİMLİK"
Range("B1").Value = "OKUL NO"
Range("C1").Value = "ÖĞRENCİNİN ADI SOYADI"
Range("D1").Value = "BABA ADI"
Range("E1").Value = "DOĞUM YERİ"
Range("F1").Value = "DOĞUM TARİHİ"
Range("G1").Value = "SINIFI"
Range("H1").Value = "VELİ TC KİMLİK"
Range("I1").Value = "DEVAMSIZLIK BAŞLANGIÇ TARİHİ"
Range("J1").Value = "DEVAMSIZLIK BİTİŞ TARİHİ"
Range("K1").Value = "OKUL ADI"
Range("L1").Value = "EV ADRESİ"
Range("M1").Value = "EV TELEFON"
Range("N1").Value = "DEVAMSIZLIK GÜNÜ"
Range("O1").Value = "E-MAİL"
Range("P1").Value = "KIZ/ERKEK"
Range("R1").Value = "KÖY/MERKEZ"
'_____________________________________________________________________________
' Ve geldik show kısmına hadi verileri listeleyelim hücrelere
i = 2 ' İ adlı bir değer atamasına 2 rakamı ile başlamasını emrediyoruz.Neden?
      ' Çünkü 1.sırada başlıklarımız var.
 
Do Until rst.EOF = True ' Buradaki amaç nedir?  Eğer Kayıtlar varsa listele yoksa listeleme
Range("A" & i).Value = rst!tckimlik ' Maas Adlı tablodan git Adı adlı alandaki verileri listele
Range("B" & i).Value = rst!okulno 'Maas Adlı tablodan git soyadı adlı alandaki verileri listele
Range("C" & i).Value = rst!ogrencininadisoyadi  ' ""
Range("D" & i).Value = rst!babaadi  ' ""
Range("E" & i).Value = rst!dogumyeri
Range("F" & i).Value = rst!dogumtarihi
Range("G" & i).Value = rst!sinifi
Range("H" & i).Value = rst!velitckimlik
Range("I" & i).Value = rst!devamsizlikbaslangictarihi
Range("J" & i).Value = rst!devamsizlikbitistarihi
Range("K" & i).Value = rst!okuladi
Range("L" & i).Value = rst!evadresi
Range("M" & i).Value = rst!evtelefon
Range("N" & i).Value = rst!devamsizlikgunu
Range("O" & i).Value = rst!Email
Range("P" & i).Value = rst!kizerkek
Range("R" & i).Value = rst!koymerkez
 
i = i + 1  ' Burada bir sonraki hücreye geç diyoruz
rst.MoveNext ' Burada bir sonraki kayıda geç diyoruz
Loop ' Kayıtlara devam ediyoruz
rst.Close ' Artık Kayıtlarımızla işlemlerimiz bitti. RST adlı arkadaşa veda ediyoruz
cnn.Close ' E Kayıtlarla işlerimiz bittigine göre Baglantıyıda sonlandırabiliriz.
MsgBox " Veri Tabanındaki Tüm Veriler Excel Sayfasına Geri Yüklenmiştir."
End Sub
Private Sub CommandButton1_Click()
Baglan
End Sub
Yukarıdaki
Kod:
Range("A" & i).Value = rst!tckimlik
satırını Excele aktarıken metin olarak atıyor.Excelin ilgili sayfasında DÜŞEYARA ile bu numarayı sorgulayamıyorum.
Sayı olarak algılaması için ne yapmalıyım.(Range("A" & i).Text = rst!tckimlik ) yaptım olmadı.
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,115
Excel Vers. ve Dili
Microsoft Office 2019 English
Range("A" & i).Value =CDBL(rst!tckimlik)

Kolay gelsin
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
946
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
çok teşekkür ederim oldu şimdi..
 
Üst