Excel bilgilerini Access ile uyarlama

Katılım
5 Şubat 2016
Mesajlar
274
Excel Vers. ve Dili
Office 365 Türkçe
Herkese merhabalar.
Benim düzenli veri girdiğim bi dosyam var. Her gün 500-600 satır arası veri giriliyor. Bir müddet sonra excel muazzam şekilde şişecek ve açılmayacak diye düşünüyorum. Bu sebeple Userform vasıtasıyla eklediğim verileri access veri tabanı olarak kullanıp oraya giriş yaptırma şansım var mıdır ?
 
Katılım
5 Şubat 2016
Mesajlar
274
Excel Vers. ve Dili
Office 365 Türkçe
Excelde yüksek kapasiteli userform olan bir sistem kurdum onu access aktarma konusunda kendime güvenemiyorum. Userform ve commandbyyton kodları aynı şekilde accesste de çalışır mı?
 
Katılım
2 Temmuz 2014
Mesajlar
145
Excel Vers. ve Dili
2021 Türkçe, 64bit
excel verileri sayfalardan access isa tablolardan alır, bu nedenle yapıları farklıdır. o nedenle tüm kodlar accesste çalışmaz. en basitinden excelde range kullanılır ve belli bir sayfadaki belli bir bölgeyi temsil eder oysa accesste sayfa olmadığından bunu kullanamazsınız.
asıl istediğinize gelirsek; ağer amacınız userform üserindeki veriyi tek tek access dosyasındaki bir tabloya eklemek ise aşağıdakine benzer bir kod işinize yarayabilir
Kod:
Private Sub CommandButton1_Click()

Dim SQL As String
Dim ADO_CN As Object
Dim ADO_RS As Object

Set ADO_CN = CreateObject("Adodb.Connection")
Set ADO_RS = CreateObject("adodb.recordset")

SQL = "SELECT * FROM [TabloAdi] "

ADO_CN.ConnectionString = "provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=" & ThisWorkbook.Path & "\AccessVT.accdb;" '& _
    "Jet OLEDB:Database Password= 1234" '<==şifre varsa

ADO_CN.Open
With ADO_RS
    .Open SQL, ADO_CN, 1, 3
        .AddNew
        .Fields("Ad Soyad") = Me.AdTxt
        .Fields("Doğum Günü") = Me.DogumTxt
        .Fields("TurByte") = Me.ByteTxt
    .Update
End With
  
    ADO_RS.Close
    ADO_CN.Close
Set ADO_RS = Nothing
Set ADO_CN = Nothing
End Sub
 
Son düzenleme:
Katılım
2 Temmuz 2014
Mesajlar
145
Excel Vers. ve Dili
2021 Türkçe, 64bit
yada recordset oluşturmadan aşağıdaki gibi de olabilir
ama bir önceki mesaj daha pratik alan türü sorun oluşturmuyorken bu yöntem dikkat edilmezse sorun çıkarabiliyor
Kod:
Private Sub CommandButton1_Click()

Dim SQL As String
Dim ADO_CN As Object
Set ADO_CN = CreateObject("Adodb.Connection")

SQL = "SELECT * FROM [CUSTOMERS2] "

ADO_CN.ConnectionString = "provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=" & ThisWorkbook.Path & "\AccessVT.accdb;" '& _
    "Jet OLEDB:Database Password= 1234" '<==şifre varsa

ADO_CN.Open
ADO_CN.Execute "insert into [CUSTOMERS2] ([Ad Soyad],[Doğum Günü],[TurByte]) values ('" & Me.AdTxt & "',#" & Format(Me.DogumTxt, "mm\/dd\/yyyy") & "#," & Me.ByteTxt & ") "
ADO_CN.Close

Set ADO_CN = Nothing
End Sub
 
Katılım
20 Ekim 2021
Mesajlar
104
Excel Vers. ve Dili
TR 2016
Altın Üyelik Bitiş Tarihi
21-10-2022
örnek dosya paylaşırsan yardımcı olurum ancak ben altın üye değilim dosya paylaşım sitelerinden buraya linkini at
 
Üst