EXCEL VBA - ACCESS VERİTABANINA KAYIT
HTML-код
- Опубликовано: 18 сен 2024
- Excelden Access veritabanına kayıt
Excel VBA Access'e kayıt
Excel verilerinin Accesse yazmak
Daha güvenli bir veritabanı ortamı olarak verileri formları vs. Access veritabanına kaydedebilirsiniz.
kodlar:
Option Explicit
Sub accesseyaz()
Dim Conn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim ConnString As String
Dim DosyaYolu As String
Dim satir As Long
Dim SAYFA As Worksheet
DosyaYolu = "C:\VERIKLASORU\MUSTERIDB2.accdb"
'Microsoft Active X Data Object 2.8 Library eklenecek
' excel ve access'in versiyonuna göre farklı olabilir!!
ConnString = "Provider=Microsoft.ace.OLEDB.12.0; Data Source=" _
& DosyaYolu & ";"
Set Conn = New ADODB.Connection
Conn.Open ConnectionString:=ConnString
Set Rs = New ADODB.Recordset
Rs.Open "TBLMUSTERI", Conn, adOpenKeyset, adLockOptimistic, adCmdTable
satir = 2 ' the start row in the worksheet
Set SAYFA = Worksheets("Sayfa1")
SAYFA.Activate
' yaz
Do While Not IsEmpty(SAYFA.Range("A" & satir))
With Rs
.AddNew ' create a new record
.Fields("MKODU") = SAYFA.Range("A" & satir).Value
' .Fields("MKODU") = SAYFA.cells(satir,1).Value
.Fields("MUNVANI") = SAYFA.Range("B" & satir).Value
.Fields("FATURALIMITI") = SAYFA.Range("C" & satir).Value
.Update
End With
satir = satir + 1
Loop
Rs.Close
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
End Sub
Sub accessdenoku()
Dim Conn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim ConnString As String
Dim DosyaYolu As String
Dim satir As Long
Dim SAYFA As Worksheet
DosyaYolu = "C:\VERIKLASORU\MUSTERIDB2.accdb"
ConnString = "Provider=Microsoft.ace.OLEDB.12.0; Data Source=" _
& DosyaYolu & ";"
Set Conn = New ADODB.Connection
Conn.Open ConnectionString:=ConnString
Set Rs = New ADODB.Recordset
Rs.Open "TBLMUSTERI", Conn, adOpenKeyset, adLockOptimistic, adCmdTable
satir = 2 ' the start row in the worksheet
Set SAYFA = Worksheets("Sayfa2")
SAYFA.Activate
Do While Not Rs.EOF
SAYFA.Range("A" & satir).Value = Rs!MKODU
SAYFA.Range("B" & satir).Value = Rs!MUNVANI
SAYFA.Range("C" & satir).Value = Rs!FATURALIMITI
Rs.MoveNext
satir = satir + 1
Loop
Rs.Close
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
End Sub
Vba:
• Excel VBA
• EXCEL VBA KOMPLE EĞİTİ...
Faruk Çubukçu - Bilgi Teknolojileri Danışmanlık
www.farukcubukcu.com www.excelakademi.com
Hocam çok teşekkür ederim o kadar işime yaradı ki, yeni öğrenenler için biraz daha detaylı anlatım yaparsanız daha bilgilendirici olabilir. Ayrıca SQL için de bu tip bir örnek yapabilir misiniz ?
Merhaba, ADO bağlantı cümleleri geliştirmek gerekir. Yazmak için, okumak için.
SQL için de benzeri.
ConnString = "Provider=SQLOLEDB;Data Source=INSTANCE\SQLEXPRESS;" & _
"Initial Catalog=MusteriDB;" & _
"Integrated Security=SSPI;
Tüm işlemler için VBA konusuna da hakim olmak gerekir öncelikle.
Vba:
ruclips.net/p/PL3dc_-B83C8B1Dn8mAdLByM8whbXKbaob
vba eğitim:
ruclips.net/p/PL3dc_-B83C8Dr4YobYrfaQ0b6Tz6SQ4dt
Teşekkürler hocam Allah razı olsun
Emeğinize sağlık
Teşekkür ederim. İyi çalışmalar,
Kod eksik. Accesse ve Excele çiftte kayıt yapıyor. Kayıt yenilenmeli
Bu Access veritabanına kayıt yapıyor. Excel'deki tablodan.
Access tablosunda Birincil anahtar denen bir şey var. Ona dikkat edin. Örnekte Ürün kodu birinci anahtar (primary key) yapılıyor. Bu nedenle iki kere giriş (çift kayıt) mümkün olmaz.