Arkadaşlar merhaba.
Aşağıdaki kod ile Sql üzerinden sorgu yapan bir makro kaydettim. Ancak makroyu her çalıştırdığımda excelde yeni bir sayfa açılıyor ve verileri o yeni sayfaya alıyor. yani; ilk sorgu yaptığımda veriler Sayfa2'ye geliyor, 2.nci sorguda Sayfa3'e 3.sorguda Sayfa4'e.... Ancak ben bunun olmasını istemiyorum, benim istediğim; sorgulanan verileri her zaman aynı sayfaya yollaması ve ardından yapılan sorguda bir önceki sorgunun verilerini temizleyip, yeni sorgunun verilerini üzerine yazması. yani sorguyu yaptığımda sorgu verileri Sayfa3'ün A1:Z20000 aralığına yazdırılsın, ardından yapılan sorguda Sayfa3 A1:Z20000 içeriği silinip üzerine yeni sorgunun verileri yazılsın.
Kod aşağıdaki gibidir.
Saygılar.
Aşağıdaki kod ile Sql üzerinden sorgu yapan bir makro kaydettim. Ancak makroyu her çalıştırdığımda excelde yeni bir sayfa açılıyor ve verileri o yeni sayfaya alıyor. yani; ilk sorgu yaptığımda veriler Sayfa2'ye geliyor, 2.nci sorguda Sayfa3'e 3.sorguda Sayfa4'e.... Ancak ben bunun olmasını istemiyorum, benim istediğim; sorgulanan verileri her zaman aynı sayfaya yollaması ve ardından yapılan sorguda bir önceki sorgunun verilerini temizleyip, yeni sorgunun verilerini üzerine yazması. yani sorguyu yaptığımda sorgu verileri Sayfa3'ün A1:Z20000 aralığına yazdırılsın, ardından yapılan sorguda Sayfa3 A1:Z20000 içeriği silinip üzerine yeni sorgunun verileri yazılsın.
Kod aşağıdaki gibidir.
Saygılar.
Kod:
Sub SORGU()
'
' SORGU Makro
' Makro MURAT tarafından 08.01.2011 tarihinde kaydedildi.
'
'
ActiveWorkbook.Worksheets.Add
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=OTOSRV;Description=OTOSRV;UID=sa;;APP=Microsoft Office 2003;WSID=MURAT-PC;DATABASE=TRIGONDATAMERKEZ;Network=DBMSSOCN" _
, Destination:=Range("A1"))
.CommandText = Array( _
"SELECT Cari.Miktari, Cari.Satis, Cari.ay, Cari.yil, Cari.BolgeId" & Chr(13) & "" & Chr(10) & "FROM TRIGONDATAMERKEZ.dbo.Cari Cari" & Chr(13) & "" & Chr(10) & "WHERE (Cari.ay=" & Sheets("Sayfa1").Range("M2").Value & ") AND (Cari.yil=" & Sheets("Sayfa1").Range("L2").Value & ") AND (Cari.BolgeId=" & Sheets("Sayfa1").Range("n2").Value & " )" _
)
.Name = "OTOSRV kaynağından sorgula"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
MsgBox "Tamamdır", vbInformation, "M U R A T H."
End With
End Sub