Skip to main content

AccessTr.neT


Excelden Veri Alma Ve Kaydı Güncelleme

Excelden Veri Alma Ve Kaydı Güncelleme

Çözüldü #1
Arkadaşlar excelden Access formu yardımıyla verileri çekebiliyorum. İstediğim şey var olan verileri güncelleyecek . Yeni eklenen kayıtları ekleyecek. Kod alanını ölçüt olarak kullanacak. Access veritabanında aynı koddan veri varsa güncelleyecek. Yoksa yeni kayıt ekleyecek. Yardımlarını için şimdiden teşekkürler.
.rar verial.rar (Dosya Boyutu: 39,98 KB | İndirme Sayısı: 6)
Cevapla
#2
Dosya ve kodlar son mesajlarda.

Mesaj düzeltildi.
Son Düzenleme: 01/02/2020, 23:51, Düzenleyen: feraz.
Cevapla
#3
Çok teşekkür diyorum . Tam istediğim kod oldu. Harikasınız.
Cevapla
#4
Rica ederim,kolay gelsin.
Cevapla
#5
Exceli hiç açtırmadan dosya ekledim.

Deneyebilirsiniz.

Bence bu dosya daha kullanışlı.

Visual Basic Code
Option Compare Database

  
Private Sub Komut0_Click()
  
    Dim say As Long, say1 As Long
    Dim con As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim sSql As String
    Dim txtDosyaAdres As String
  
    
    txtDosyaAdres = CurrentProject.Path & "\veri.xlsx"
    sSql = "select [KOD],[AD],[YAŞ] from [Sayfa1$B3:E] where [KOD] Is Not Null" '

    
    Set con = New ADODB.Connection
    con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & txtDosyaAdres & ";extended properties=""excel 12.0;hdr=Yes;imex=1"""
    
    Set rs = New ADODB.Recordset
    rs.CursorLocation = adUseClient
    rs.CursorType = adOpenKeyset
    rs.LockType = adLockOptimistic
    rs.Open sSql, con

    Do While Not rs.EOF And Not rs.BOF 'Tablo güncelleme icin(Exceldeki recordseti icine alinan veriler icin döngü)
        If DCount("[kod]", "Tablo1", "[kod] = '" & rs(0) & "'") > 0 Then 'Eger Tablo1 deki kod sütununda excelden alinan recordset icindeki veri mevcutsa

          CurrentDb.Execute _
            "UPDATE Tablo1 SET [kod] = '" & rs(0) & "'," & _
                              "[ad] = '" & rs(1) & "'," & _
                              "[yas] = '" & rs(2) & "' WHERE [kod] = '" & rs(0) & "'"
            
            say = say + 1
            
        ElseIf DCount("[kod]", "Tablo1", "[kod] = '" & rs(0) & "'") = 0 Then 'Eger Tablo1 deki kod sütununda excelden alinan recordset icindeki veri mevcut degilse
            
            CurrentDb.Execute _
                        "INSERT INTO Tablo1" _
                          & " ([kod], [ad], [yas])" _
                          & " VALUES ( '" & rs(0) & "' , '" & rs(1) & "' , " & rs(2) & " );" 'Kayit ekle exceldekinde olup accesste mevcut olmayan veri

            say1 = say1 + 1
        End If

        rs.MoveNext
    Loop


  Form2.Requery
  
  MsgBox "Eklenen kayit sayisi=" & say1, vbInformation, "Bilgi"
  MsgBox "Düzeltilen kayit sayisi=" & say, vbInformation, "Bilgi"
  

    rs.Close
    con.Close
    Set rs = Nothing


End Sub
.rar Excelden Accesse verial(Excel kapaliyken).rar (Dosya Boyutu: 142,66 KB | İndirme Sayısı: 13)
Son Düzenleme: 01/02/2020, 23:53, Düzenleyen: feraz. (Sebep: Kodlar değiştirildi.Ve yeni dosya eklendi.)
Cevapla
#6
Tam da böyle bir şeye ihtiyacım vardı teşekkürler
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da