Excelden veri alma..

Katılım
28 Eylül 2005
Mesajlar
176
Excel Vers. ve Dili
Microsoft Office Excel 2010 Ingilizce
Merhaba arkadaslar,

Uzun zamandir cozemedigim bir konu hakkinda yardima ihtiyacim var. Bir buton vasitasiyla excelden nasil veri alabilirim. Ekteki, deneme.xls de bulunan id kolonunu accessdeki personel adli tablonun personel id kolonuna, name kolonunu adi kolonuna nasil aktarabilirim?

Yardimlariniz ve paylasimciliginiz icin tesekkurler...
 

Ekli dosyalar

Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Merhaba

Excel'den Access'e veri almanın en kolay yolu aşağıdaki kodlarla standart veri aktarımıdır.

Dim Klasor As String
Klasor = CurrentProject.Path & "\ExcelDosyası Adı.xls"
DoCmd.TransferSpreadsheet acImport, 8, "EklenecekTabloadı", Klasor, True, "b1:d10"

Buradaki kodlar access'e dosyayı kendisi oluşturulur. Hızlı, pratik ve hatasızdır. Sadece excel dosyasının adını doğru yazın. Bu örnekte access dosyası ile aynı klasörde olduğu varsayılmıştır. Ayrıca excelden alınacak alan b1 ile d10 arasıdır.Siz kendi alanınızı giriniz.


Ama daha kapsamlı birşey düşünürseniz o zaman ADO kodlarıyla yapılabilir. Örnek olarak aşağıda onları da veriyorum. Karar sizin.

Sub RecordIntoDB()
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adUseClient = 3

Set cnn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
Dim refFile

Filename = ActiveWorkbook.FullName
ActiveWorkbook.Save
ActiveWorkbook.Close

Set refFile = GetObject("winMgmts:CIM_DataFile.Name='" & Filename & "'")

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\vt1.mdb;"

rs.Open "SELECT * FROM DTS", cnn, adOpenStatic, adLockOptimistic

Set mStream = CreateObject("ADODB.Stream")
mStream.Type = 1
mStream.Open
mStream.LoadFromFile Filename
rs.AddNew
rs.Fields("REFERANS").Value = Filename
rs.Fields("DOSYA").Value = mStream.Read
rs.Fields("BOYUT").Value = refFile.FileSize
rs.Update
MsgBox Filename & " is saved into Database"
rs.Close
cnn.Close
End Sub


Kolay gelsin
 
Katılım
24 Ocak 2009
Mesajlar
1
Excel Vers. ve Dili
ileri seviye
peki bu kodları nereya yapıştıracaz
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Kodları sizdeki verilere uygun hale getirmelisiniz. Ondan sonra istediğiniz bir olay yordamına ekleyin. Mesela bu, bir formun açılışı da olabilir, bir butonun basılması da... Tamamen size kalmış. Burada sizin sormanızı beklediğim şey, bu kodları nasıl projenize uygulayacağınız olmalıydı. Bu kodları nerde çalıştıracağınız o kadar da önemli değil.
 
Üst