• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Excelden Access e veri aktarımı

  • Konbuyu başlatan Konbuyu başlatan walabi
  • Başlangıç tarihi Başlangıç tarihi

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
1,080
Excel Vers. ve Dili
excel 2010

excel 2013
Merhaba,

Excelden access e veri aktarmak istiyorum. Daha önce bu konuyla hiç ilgilenmedim, yeni başladım.
İnternet üzerinde araştırma yaparken, aşağıdaki kodları buldum ve kendi örnek dosyalarıma uygulamaya çalıştım. Ancak şöylesi bir problem yaşıyorum.

veritabani.accdb" satırı benim bilgisayarımdaki oluşturduğum access . Yani uzantısı accdb. Örnek uygulamada mcd . mcd uzantısını accdb olarak değiştirdiğimde Tanınmayan Veri Tabanı biçimi şeklinde bir hata alıyorum. Bunun sebebi sürüm, versiyon farklılığımıdır. Kendi bilgisayarımda accdb uzantılı dosya oluştuğu için , rahat çalışabilmek adına bunu nasıl düzeltebilirim.


Kod:
Private Sub CommandButton1_Click()
Dim cn As Object, rs As Object

'On Error Resume Next
Sheets("veri2").Range("B10:B14").ClearContents
Sheets("veri2").Range("b10").Value = TextBox1.Value
Sheets("veri2").Range("b11").Value = TextBox2.Value
Sheets("veri2").Range("b12").Value = TextBox3.Value
Sheets("veri2").Range("b13").Value = TextBox4.Value * 1
Sheets("veri2").Range("b14").Value = TextBox5.Value * 1
MsgBox "Excele kayıt yapıldı."
'// ADO..
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")


cn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
    ThisWorkbook.Path & "\veritabani.accdb"
    
'''// Yukarıdaki cn.Open bağlantı modeli yerine bir de
'''// aşağıdaki yapıyı deneyin. (Connction)

'cn.Open _
"Driver={Microsoft Access Driver (*.accdb)};DBQ=" & _
    ThisWorkbook.Path & "\veritabani.accdb"
    
With rs
    .Open "liste", cn, 1, 3
    .addNew
    .Fields(1) = TextBox1
    .Fields(2) = TextBox2
    .Fields(3) = TextBox3
    .Fields(4) = TextBox4 * 1
    .Fields(5) = TextBox5 * 1
    .Update
    .Close
End With

cn.Close

Set cn = Nothing
Set rs = Nothing

MsgBox "ADO - kayıt yapıldı"
If Err Then MsgBox Err.Description
End Sub
 
Aşağıdaki linkte 8 No'lu mesajımın ekini incelemnizde yarar var ...


.
 
Aşağıdaki linkte 8 No'lu mesajımın ekini incelemnizde yarar var ...


.


Haluk Bey teşekkürler,

" Office 2007 ve alt surumler icin Provider olarak "Jet.OLEDB.4.0", sonrasi icin "ACE.OLEDB.12.0" kullan... "
 
Evet... ne oldu?

(Kod zaten o kontrolu yapıp, ona göre "Provider" seçiyor.)

.
 
Evet... ne oldu?

(Kod zaten o kontrolu yapıp, ona göre "Provider" seçiyor.)

.

Teşekkürler paylaştığınız bilgi için demek istedim ve sizin ifadenizi aynen alıntı yaparak ekledim, yine benzeri bir durumla karşılaşıp araştırmak isteyen olabilir diye düz metinsel ifade görünsün diye alıntı yaptım. Kısaca kendi adıma problemi anlamış ve çözmüş oldum, tekrardan teşekkürler.
 
Bilgisayarda yüklü sağlayıcı(ları)nın desteklediği veritabanı sürümleri aşağıdaki gibidir:

' JET Version - Database Version
' 3.5 - 1 To 3.X
' 4.0 - 1 To 4.0
' ACE 12 - 1 To ACE
' ACE 14 - 3.X To ACE
' ACE 15 - 4.0/ACE
' ACE 16 - 4.0/ACE
 
Geri
Üst