• DİKKAT

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

Alternatif bir başka çözüm? TRUNCATE/INSERT

Katılım
2 Ağustos 2017
Mesajlar
14
Excel Vers. ve Dili
2007
Merhablar,
ben excel'den SQL'e veri aktarımı yapıp hemen öncesinde de tabloyu boşaltmak istiyordum.
Pek tabi vba de yeni olduğum için biraz zor oldu :)
2 modul ile hallettim işimi.

module1'e TRUNCATE işlemi yaptrıdım.
stsql = "TRUNCATE TABLE " & tableName & " "

module2'de insert yaptırdım ve içerisinde call.module1 ile truncate işlemini çalışıtırdım ve istediğim sonucu elde etmiş oldum.
stsql = "insert into " & tableName & " (alan1) Values ('" & V1 & "')"
Devamında;
excel'e bir buton ekleyerek module2'yi çalıştırmam yeterli oldu ihtiyaç duyulan sonucu almak için.

AMA alternatif bir başka yolu için fikir alabilirmiyim?
 
Selamlar,
çözümü buldum :) paylaşmak güzel olur bir başkası benzer bir durum yaşarsa diye;

s = "TRUNCATE TABLE " & tableName & " "
sonsatir = Cells(Rows.Count, "A").End(3).Row
For i = 2 To sonsatir
s = s & vbLf & "insert into " & tableName & " (alan1) Values ('" & V1 & "'')"
next i

önemli nokta ise truncate işlemi for döngüsünün içinde olmamalı.
Ama execute ederken tek değişkene hem trucate hemde insert sorgusunun değerlerini eklemesi gerekitği.Böylece performansı daha iyi olacaktır.
 
Geri
Üst