AccessTr.neT
Ado Pivot Tablo Sütun Başlık Problem - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Ado Pivot Tablo Sütun Başlık Problem (/konu-ado-pivot-tablo-sutun-baslik-problem.html)

Sayfalar: 1 2


Ado Pivot Tablo Sütun Başlık Problem - feraz - 11/11/2020

Merhaba.
Sayfa1 deki sütun başlıklar sonuç sayfasına gelmiyor.
Ado ilepivot olayını ilk defa kullandığım için tecrübem yok.
Çözüm nedir?
Saygılar.

Private Sub CommandButton1_Click()
    Dim Con As Object, Rs As Object, Sorgu As String
    Application.ScreenUpdating = False
    With ThisWorkbook.Sheets("Sonuc")
        .Cells.ClearContents
        son = .Range("A" & Rows.Count).End(3).Row
        Set Con = CreateObject("ADODB.Connection")
        Set Rs = CreateObject("ADODB.RecordSet")
        Con.Open "Provider=Microsoft.Ace.Oledb.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;Hdr=Yes;Imex=1"""
        Sorgu = " TRANSFORM sum([Sayi]) AS 'Sayi' SELECT [Baslik1],[Baslik2],[Baslik3] FROM [Sayfa1$A3:I65536] " & _
                "GROUP BY [Baslik1],[Baslik2],[Baslik3] PIVOT year([TARÝH])"
   
        Rs.Open Sorgu, Con, 3, 1
        .Range("A2").CopyFromRecordset Rs
        Rs.Close: Con.Close
        Sorgu = vbNullString: Set Rs = Nothing: Set Con = Nothing
    End With
    Application.ScreenUpdating = True

End Sub



RE: Ado Pivot Tablo Sütun Başlık Problem - alicimri - 11/11/2020

Aşağıdaki gibi bir dçngü ile alabilirsiniz.
Kod:
Private Sub CommandButton1_Click()
    Dim Con As Object, Rs As Object, Sorgu As String
    Application.ScreenUpdating = False
    With ThisWorkbook.Sheets("Sonuc")
        .Cells.ClearContents
        son = .Range("A" & Rows.Count).End(3).Row
        Set Con = CreateObject("ADODB.Connection")
        Set Rs = CreateObject("ADODB.RecordSet")
        Con.Open "Provider=Microsoft.Ace.Oledb.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;Hdr=Yes;Imex=1"""
        Sorgu = " TRANSFORM sum([Sayi]) AS 'Sayi' SELECT [Baslik1],[Baslik2],[Baslik3] FROM [Sayfa1$A3:I65536] " & _
                "GROUP BY [Baslik1],[Baslik2],[Baslik3] PIVOT year([TARİH])"
   
        Rs.Open Sorgu, Con, 3, 1
        For i = 0 To Rs.fields.Count - 1
        .Cells(1, i + 1).Value = Rs.fields(i).Name
        Next
        .Range("A2").CopyFromRecordset Rs
        Rs.Close: Con.Close
        Sorgu = vbNullString: Set Rs = Nothing: Set Con = Nothing
    End With
    Application.ScreenUpdating = True

End Sub




RE: Ado Pivot Tablo Sütun Başlık Problem - berduş - 11/11/2020

recordsette sadece veriler aktarılır başlık aktarılmaz diye biliyorum


RE: Ado Pivot Tablo Sütun Başlık Problem - feraz - 11/11/2020

(11/11/2020, 10:16)alicimri yazdı: For i = 0 To Rs.fields.Count - 1       
.Cells(1, i + 1).Value = Rs.fields(i).Name
 Next
Elinize sağlık abey.Bu döngüyü aslında biliyordum lakin dosyadaki gibi tarih için 2019,2020,2021 diye yan yana sütunlara getireceğini tahmin etmemiştim.Zayen bu pivotu başka konuda siz yazmıştınız(Açık-Kapalı olan konu) ben değiştirdim verileri.
Orda Böyle bir döngü ile başlık almadan başlıkları otomatik eklemişti.
Tekrar danke abey.

DüzeltmeLoliğer konudada otomatik başlık eklenmiyormuş Img-grin
Neyse sağolunun,konu çözüldü.Sql serverde video izlemiştim oda kod yapısı farklıydı.
Son soru olarak pivot için sadece Transform ilemi kullanılıyor zira Sql videolarında göremedim.

(11/11/2020, 10:28)berduş yazdı: recordsette sadece veriler aktarılır başlık aktarılmaz diye biliyorum
Sağol abey.Pivot olayı olduğu için aktarma olrur diye düşünmüştüm.


RE: Ado Pivot Tablo Sütun Başlık Problem - alicimri - 12/11/2020

Yeni önerimden vaz geçtim, bayağı çetrefilli bir işmiş.


RE: Ado Pivot Tablo Sütun Başlık Problem - feraz - 12/11/2020

Sağol ali abey.
Sanırım power query ile yapılmış kod olayı.
Resimdeki gibi şekillde kalıyor.

[Resim: do.php?img=10592]