DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
veri eklediğimizde güncelleştirme nasıl yapacağız.
Sub Test()
'Haluk 10/10/2022
'sa4truss@gmail.com
'
Dim myDB As String, adoCN As Object, strSql As String, RS As Object
Const adOpenDynamic = 1
Const adLockOptimistic = 3
myDB = ThisWorkbook.FullName
Sheets("Sayfa2").Cells.Clear
Sheets("Sayfa2").Range("A1:C1") = Array("ADI", "MİKTAR", "ÜRÜN")
Set adoCon = CreateObject("ADODB.Connection")
Set RS = CreateObject("ADODB.RecordSet")
adoCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
myDB & ";Extended Properties=""Excel 12.0;HDR=Yes"""
strSql = "Select [ADI], [ÜRÜN], Sum([MİKTAR (TON)]) From [Sayfa1$] Group By [ADI], [ÜRÜN]"
RS.Open Source:=strSql, ActiveConnection:=adoCon, CursorType:=adOpenDynamic, LockType:=adLockOptimistic
Sheets("Sayfa2").Range("A2").CopyFromRecordset RS
RS.Close
Set RS = Nothing
Set adoCon = Nothing
End Sub
teşekkür ederim. emeğinize sağlıkSonuçlar "Sayfa2" de gösterilmek üzere VBA ile alternatif;
C#:Sub Test() 'Haluk 10/10/2022 'sa4truss@gmail.com ' Dim myDB As String, adoCN As Object, strSql As String, RS As Object Const adOpenDynamic = 1 Const adLockOptimistic = 3 myDB = ThisWorkbook.FullName Sheets("Sayfa2").Cells.Clear Sheets("Sayfa2").Range("A1:C1") = Array("ADI", "MİKTAR", "ÜRÜN") Set adoCon = CreateObject("ADODB.Connection") Set RS = CreateObject("ADODB.RecordSet") adoCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _ myDB & ";Extended Properties=""Excel 12.0;HDR=Yes""" strSql = "Select [ADI], [ÜRÜN], Sum([MİKTAR (TON)]) From [Sayfa1$] Group By [ADI], [ÜRÜN]" RS.Open Source:=strSql, ActiveConnection:=adoCon, CursorType:=adOpenDynamic, LockType:=adLockOptimistic Sheets("Sayfa2").Range("A2").CopyFromRecordset RS RS.Close Set RS = Nothing Set adoCon = Nothing End Sub
teşekkür ederim. emeğinize sağlık. haluk beyin VBA kodu daha kullanışlı gibi.Tabloda herhangi bir hücreyi seçtiğiniz zaman PivotTable Analiz sekmesi aktif olur. Burada Yenile ya da Tümünü Yenile komutlarını kullanarak tabloyu güncelleyebilirsiniz.
Makro ile güncellemek için isesatırını kullanabilirsiniz.Kod:ActiveWorkbook.RefreshAll
Haluk Bey makroyu çalıştırınca diğer hücrelerdeki veri ve formüller siliniyor. makroyu sadece a,b ve c sütunları için çalıştıramaz mıyız.Sonuçlar "Sayfa2" de gösterilmek üzere VBA ile alternatif;
C#:Sub Test() 'Haluk 10/10/2022 'sa4truss@gmail.com ' Dim myDB As String, adoCN As Object, strSql As String, RS As Object Const adOpenDynamic = 1 Const adLockOptimistic = 3 myDB = ThisWorkbook.FullName Sheets("Sayfa2").Cells.Clear Sheets("Sayfa2").Range("A1:C1") = Array("ADI", "MİKTAR", "ÜRÜN") Set adoCon = CreateObject("ADODB.Connection") Set RS = CreateObject("ADODB.RecordSet") adoCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _ myDB & ";Extended Properties=""Excel 12.0;HDR=Yes""" strSql = "Select [ADI], [ÜRÜN], Sum([MİKTAR (TON)]) From [Sayfa1$] Group By [ADI], [ÜRÜN]" RS.Open Source:=strSql, ActiveConnection:=adoCon, CursorType:=adOpenDynamic, LockType:=adLockOptimistic Sheets("Sayfa2").Range("A2").CopyFromRecordset RS RS.Close Set RS = Nothing Set adoCon = Nothing End Sub
Sonuçlar "Sayfa2" de gösterilmek üzere VBA ile alternatif;
C#:Sub Test() 'Haluk 10/10/2022 'sa4truss@gmail.com ' Dim myDB As String, adoCN As Object, strSql As String, RS As Object Const adOpenDynamic = 1 Const adLockOptimistic = 3 myDB = ThisWorkbook.FullName Sheets("Sayfa2").Cells.Clear Sheets("Sayfa2").Range("A1:C1") = Array("ADI", "MİKTAR", "ÜRÜN") [COLOR=rgb(184, 49, 47)][B] Set adoCon = CreateObject("ADODB.Connection")[/B][/COLOR] Haluk hocam Set RS = CreateObject("ADODB.RecordSet") adoCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _ myDB & ";Extended Properties=""Excel 12.0;HDR=Yes""" strSql = "Select [ADI], [ÜRÜN], Sum([MİKTAR (TON)]) From [Sayfa1$] Group By [ADI], [ÜRÜN]" RS.Open Source:=strSql, ActiveConnection:=adoCon, CursorType:=adOpenDynamic, LockType:=adLockOptimistic Sheets("Sayfa2").Range("A2").CopyFromRecordset RS RS.Close Set RS = Nothing Set adoCon = Nothing End Sub
Resimdeki hata normal şartlarda değişken tanımlanmadığı zaman olur ama, görüldüğü gibi sözkonusu "adoCon" değişkeni kodun başında "Object" olarak deklare edilmiş durumda.
Bu durumda, sadece tahmin yürütebilirim...... VBA penceresinde menülerde Tools > References bölümünü inceleyin. Eğer orada kullanılan referanslardan bazılarında "Missing" ifadesi varsa, o referansları kaldırın, dosyayı kaydedip tekrar deneyin....
.
Değişken tanımlamada küçük bir harf hatası var gibi.
Çok teşekkür ederim.Merhaba,
Değişken tanımlamada küçük bir harf hatası var gibi.
Hata veren satırdaki adoCon ifadesini adoCN olarak değiştirip dener misiniz?