- Katılım
- 6 Temmuz 2008
- Mesajlar
- 1,875
- Excel Vers. ve Dili
- OFFİCE 2010- TÜRKÇE
Hayırlı akşamlar,
Aşağıdakş kodlardan da anlaşılacağı üzre access veri tabanına verileri varsa güncelliyorum yoksa ekleme yaptırıyorum .
Fakat veriler fazla olduğunda işlem çok yavaşlayacak diye düşünüyorum?
Altenatif kodlar çözüm önerisi olanlarla fikir alışverişi yapmak istiyorum.
Aşağıdakş kodlardan da anlaşılacağı üzre access veri tabanına verileri varsa güncelliyorum yoksa ekleme yaptırıyorum .
Fakat veriler fazla olduğunda işlem çok yavaşlayacak diye düşünüyorum?
Altenatif kodlar çözüm önerisi olanlarla fikir alışverişi yapmak istiyorum.
Kod:
Sub ekle_güncelle()
Application.ScreenUpdating = False
Set egt = Sheets("EĞİTİM")
Set Con = CreateObject("Adodb.Connection")
Set rs = CreateObject("Adodb.RecordSet")
For a = 3 To egt.Cells(Rows.Count, "A").End(3).Row
Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & "\" & "EğitimFaturaVeriTabanı.mdb" & ""
sorgu = "SELECT * FROM [EğitimFaturaVeriTabanı] WHERE Evrakno = '" & egt.Cells(a, "B").Value & "' "
rs.Open sorgu, Con, 1, 3
If rs.RecordCount <> 0 Then
rs(0).Value = Format(egt.Cells(a, "A"), "dd,mm,yyyy")
rs(1).Value = egt.Cells(a, "B").Value
rs(2).Value = egt.Cells(a, "C").Value
rs(3).Value = egt.Cells(a, "D").Value
rs(4).Value = egt.Cells(a, "E").Value
rs.Update
Con.Close
Else
rs.addnew
rs(0).Value = Format(egt.Cells(a, "A"), "dd,mm,yyyy")
rs(1).Value = egt.Cells(a, "B").Value
rs(2).Value = egt.Cells(a, "C").Value
rs(3).Value = egt.Cells(a, "D").Value
rs(4).Value = egt.Cells(a, "E").Value
rs.Update
Con.Close
End If
Next
Set Con = Nothing: Set rs = Nothing: sorgu = ""
Application.ScreenUpdating = True
End Sub
