Tüm Versiyonu Göster : excel tabloyu access'e gönderme
Merhaba arkadaşlar,
access'de olan excelde çözümle olayı,
excelde varmı acaba, yoksa nasıl yapabiliriz.
excelde aluşturduğum, 75 sutun ve 50 satırlık bir tablom var bunu
olduğu gibi access'e nasıl gönderebilirim.
Yardımcı olacak arkadaşlara şimdiden çok teşekkürlerimi sunarım...
ahmetyurtkan
06-06-2006, 14:25
accessdan dosya/veri al/dış veri al dan yapabilirsin
SELAM ahmetyurtkan,
alan isimlerini tanımladıktan sonramı ?
sandalet
23-06-2006, 12:10
arkadaşlar bu konu çok sorulmasına ragmen kimsenin tam bir bilgisi yok resimli açıklama yapacak bir babyigit yokmu :yardim:
atkbursa
23-06-2006, 15:22
dosyayı alacağın access i aç dosya menüsünden dış veri al/al/dosya türünü excel seç dosyanı işaretle ve ekrandaki seçenekleri seçerek işlemini tamamla access excel dosyasını veri tabanına ekleyecektir.
(kusura bakmayın verdiğim cevap daha önce verilmiş dikkatsizlikten görememişim)
sandalet
23-06-2006, 18:08
sayın atkbursa dediginizi harfiyen yapmama ragmen exceldeki tüm sütünları tek bir sütün olarak alt alta atıyor bunu düzeltmenin çaresi varmı acaba
şimdiden teşekkürler :dua:
[vb:1:6175245c63]Sub ExcelSayfaAccesseKopyala()
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 = "E:\Baho.xls" 'Buraya Dosyanızın Olduğunu Yolu Yazınız.
Hedef_Dosya = "E:\Baho.mdb" ' Buraya da Access Dosyanızın Yolunu.
Baglan.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Kaynak_Dosya & ";" _
& "Extended Properties=""Excel 8.0;HDR=Yes"""
Komut = "SELECT * INTO [;DATABASE=" & Hedef_Dosya & "].[YeniTablo1] FROM [Veriler$]" 'Bu Sayfa verilerinizin kayıtlı Olduğu Sayfa Adı
Baglan.Execute Komut
End Sub[/vb:1:6175245c63]
Son mesajınızı okuyunca açıklama yapayım dedim:
Bu kodu Access e kopyalamak istediğiniz çalışmanızın içine ekleyeceğiniz bir module yapıştırın.
Tools / References i seçip.
Microsoft ActiveX Data Objects en yüksek numara olan Library seçin.
Makroyu çalıştırdığınızda işlem gerçekleşecek.
Access kapalı olsun.
Umarım işinizi görür..
Çok çok teşekkürler gene kardeş,
cevabınızı yeni gördüm , yarın denerim ,
ilginizden dolayı çok teşekkür ederim.
Ben bir sicil çalışması yapmak istiyorum, istenen kriterler excelde kayıtlı bunları tek tek access işlemek bayaa zoruma gittigi için böyle bir çözüm arıyorum .
teşekkürler...
selami güzel
30-06-2006, 23:24
selam sn.akd
ekte'ki kod lar excel'den access 'e kayıt gönderir.
Önemli:
kodlarda 'ki alan adları ile access tablonda ki alan adları kesinlikle
aynı olmalı.
saygılar.
Private Sub CommandButton4_Click()
' exports data from the active worksheet to a table in an Access database
' this procedure must be edited before use
Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
' connect to the Access database
Dim strAnswer As VbMsgBoxResult
strAnswer = MsgBox("onaylayınız ?", vbQuestion + vbYesNo, " Lütfen Kontrol Ediniz!")
If strAnswer = vbNo Then
Exit Sub
End If
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=D:\klasör adı\dosya adı.mdb;"
' open a recordset
Set rs = New ADODB.Recordset
rs.Open "Genel", cn, adOpenKeyset, adLockOptimistic, adCmdTable
' all records in a table
r = 60 ' the start row in the worksheet
Do While Len(Range("A" & r).Formula) > 0
' repeat until first empty cell in column A
With rs
.AddNew ' create a new record
' add values to each field in the record
.Fields("Adı Soyadı") = Range("A" & r).Value
.Fields("Baba adı") = Range("B" & r).Value
.Fields("Doğum yeri") = Range("C" & r).Value
' istediğiniz kadar kayıt ekleyebilirsiniz...
.Update ' stores the new record
End With
r = r + 1 ' next row
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
'bu bölümde kayıt tan sonra hücrelerdeki verileri silebilirsiniz...
Range("E17:E47,F17").Select
Range("E17:E47,F17").Select
Selection.ClearContents
'kayıt ve hücreler silinditen sonra imlecin gitmesini istediğiniz hücre no...
Range("E17").Select ' kayıtlar access 'e gönderildikten sonra imlecin actif olmasını istidiğiniz hücreye gider.
Application.ScreenUpdating = True
End Sub
Selami Bey iyi açıklamış.
Bu arada nick'im QENE dir, gene değil.. :D
Saygılar
Merhaba arkadalar,
Özür dilerim sayın Qene,
Cevaplarınız için çok çok teşekkür ederim
alan adları ile beraber göndere bilirmiyiz,
ilginiz için çok çok teşekkürler Sayın Qene, Selami Güzel
Alan adları olarak göndermek isterseniz; excel in ilk satırına başlık tanımlarsanız Access te Alan olarak düzenleyecektir. Kolay gelsin..
Slm Qene ,
Kod üzerinde nasıl yapacağımı gösterebilirmisiniz, bir zahmet
Teşekkürler...
Kod üzerinde yapmanız gereken;
Önce,
[vb:1:e6b89e6a33]Kaynak_Dosya = "E:\Baho.xls" 'Buraya Dosyanızın Olduğunu Yolu Yazınız.
Hedef_Dosya = "E:\Baho.mdb" ' Buraya da Access Dosyanızın Yolunu.[/vb:1:e6b89e6a33]
Bu alanları kendinize uyarlamak.
Sonra,
[vb:1:e6b89e6a33]FROM [Veriler$]" 'Bu Sayfa verilerinizin kayıtlı Olduğu Sayfa Adı[/vb:1:e6b89e6a33]
Veriler yazan kısma, sizin sayfa isminizi tanımlamanız olacak.
Excel de ise A1, B1, C1, ..... Hücrelerinde başlıklarınız var ise otomatik olarak alan ismi olarak Access e aktarılacaktır.
Kolay gelsin.
Merhaba sayın Qene kardeş,
Özür dilerim, sizide yoruyorum
ama kodu çalıştıramadım dosyayı ekte gönderiyorum,
bir zahmet bakarsanız çok sevinirim.
kodlar bende kırmızı oldu ve kesinlikle çalışmadı.
Çok teşekkürler, hayırlı çalışmalar
Kandiliniz Mubarek Olsun.
Sitedeki bütün arkadaların kandilini kutlarım...
Olmamasının nedeni olarak gözüme çarpan ":" işareti olabilir. Verideki bilgilerin uzunluğu olabilir. Yakinlar için ayrı bir database kullanmanızı öneririm.
Bir de kullandığınız başlıklarda Türkçe karakterden kaynaklanabilir. Veritabanınızı düzenleyip denerseniz olacaktır. Kolay gelsin..
kodlar bende kırmızı oldu ve kesinlikle çalışmadı.
Bu kodları forumdan alıp VBE sayfanıza yapıştırırken meydana gelen bir olay.
Kod satırlarını sola hizalarsan kırmızılık gidecek, kodlar çalışacaktır.
Sayın Qene, sizi hazırlamış olduğunuz güzel kodlardan dolayı tebrik ederim...
Yüksel Varlı
01-08-2006, 00:07
Sevgili Qene,
Excel dosyasında değişiklik yaptıktan sonra makroyu çalıştırınca eski mdb. tablosunun üzerine kayıt yapmıyor. "Zaten yeni sayfa 1 var." diye bir uyarı veriyor. Acaba var olan tablonun üzerine yazmak mümkün mü?
Selamlar
O uyarıdan sonra Evet i tıklarsanız değişiklik yapmış olacaktır..
Merhaba Sayın qene kardeş,
elinize sağlık sorunumu çözdüm kodları sola yanaştırınca kırmızılık gitti ,
ve kod çalıştı.
çok çok teşekkürler..
Bu kodları forumdan alıp VBE sayfanıza yapıştırırken meydana gelen bir olay.
Kod satırlarını sola hizalarsan kırmızılık gidecek, kodlar çalışacaktır.
Merhaba Sayın qene kardeş,
elinize sağlık sorunumu çözdüm kodları sola yanaştırınca kırmızılık gitti ,
ve kod çalıştı.
çok çok teşekkürler..
Sayın akd, burada teşekkürü hakkeden sadece sayın Qene mi acaba?
Ayrıca sayın Qene'nin verdiği kodları başka forumlarda da gördüm sanki...
Merhaba Sayın TheBest,
Bana bu formda yardımcı olan bütün arkadaşlara çok çok teşekkür ederim,
Sayın qene başka formdan almış bana yönlendirmiş, yapmayada bilirdi,
sitede yüzlerce insan soruyu görüp geçerken, sayın qene ilgilenmiş sizce teşekkür etmemeliyim.?
Selamlar...
Sevgili TheBest..
Derdiniz üzüm yemek değil de bağcıyı dövmekse, eywallah :bravo:
Ama mesajlarımı pembe gözlüklerlee ya da art niyetsiz okursanız, kodları sahiplenmediğimi görmüş olacaksınız. Sadece kodları yapıştırıp, nasıl kullanacağına dair açıklama yaptım. Önemli olan kişilerin sorunlarının çözülmesi değil midir? Yok siz ben ben ben diyecekseniz, buyrun meydan sizin.. :bad: Kodları Sola yanaştırdığınız için ben size teşekkür ederim Sayın akd adına.. He bu arada madem başka bir forumda gördünüz bu kodları, neden arkadaşa yardım etmediniz? Çok istiyorsanız kodları yazanın ismini ve soyismini de yazayım..
Ne dersiniz?
Kalsın derim, sevgili Qene.
Beni kodların asıl sahibinin ne adı ne de soyadı hiç ilgilendirmiyor. Amacım ise polemik hiç değil.
Forumlarda uyulması gereken bazı kuralları vardır.
Şöyle ki başka bir forumdan alıntı yapacaksan, kod sahibini belirtmesen bile alıntı olduğunu belirtmek uygun düşer. Bu gibi durumlarda www.excel.web.tr kalitesinden hiç bir şey kaybetmez.
Neden ben kodları gördüğüm halde cevap yazıp akdye yardımcı olmadım?
Çünkü iyi bilmediğim konulara bulaşmak istemem, akabinde gelebilecek sorulara cevp vermeme gibi bir durum sözkonusu.
Konunun iyi bilinip bilinmemesi mevzu bahis değil. Halen Alıntı olayına takmış durumda olmanız da, size söyleyecek başka bir sözüm olamayacağını gösterir. Kalite olayı ise ne alaka onu anlayamadım :? Hakkınızı helal edin, bu konuşma sonlansın.
vBulletin v3.7.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.