Belli Koşullara Göre Access'den Excel'e Pivot Table

Katılım
12 Eylül 2008
Mesajlar
38
Excel Vers. ve Dili
2003
Merhablar,

Makro ile Access'deki bir sorguda belli koşullara uyan verileri alıp Excel'e pivot table olarak aktarmak istiyorum ancak bir türlü bunu başaramadım. Yardımcı olabilirseniz sevinirim. Örnek dosyalar ektedir. Excel dosyasının içerisine kısa bir açıklama yaptım.

Teşekkürler
 
Katılım
12 Eylül 2008
Mesajlar
38
Excel Vers. ve Dili
2003
Takrar Meraba,

Aşağıdaki kodu makro kaydederek yarattım az çok istediğim oldu.Ancak şimidi yapmak istediğim Tarih alanı tar1 ve tar2 değişkenlerine göre değer getirsin. Makro kaydederken benim manuel yazdığım değerlere göre değil. Burdaki uzman arkadaşlarım için çok zor olmayan bir şey yardımcı olursanız sevinirim.

Teşekkürler

Kod:
Dim tar1 As Date
Dim tar2 As Date
tar1 = "21.09.2008"
tar2 = "22.09.2008"


    With ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal)
        .Connection = Array(Array( _
        "ODBC;DSN=MS Access Database;DBQ=c:\Database\Veri_Giriş_Sorgular" _
        ), Array( _
        ".mdb;DefaultDir= C:\Database;DriverId=25;FIL=MS Access;MaxB" _
        ), Array("ufferSize=2048;PageTimeout=5;;UID=admin;PWD=11;"))
        .CommandType = xlCmdSql
        .CommandText = Array( _
        "SELECT MakineNoyaGöreHataOranı.Tarih, MakineNoyaGöreHataOranı.Makina, MakineNoyaGöreHataOranı.MakineNo, MakineNoyaGöreHataOranı.Vardiya, MakineNoyaGöreHataOranı.DurusTanımı, MakineNoyaGöreHataOranı.An" _
        , _
        "aGurup, MakineNoyaGöreHataOranı.ToplaDurusZamanı, MakineNoyaGöreHataOranı.HataOranı FROM MakineNoyaGöreHataOranı MakineNoyaGöreHataOranı WHERE (MakineNoyaGöreHataOranı.Tarih>={ts '2008-09-20 00:00:0" _
        , "0'} And MakineNoyaG&#246;reHataOran&#305;.Tarih<={ts '2008-09-25 00:00:00'})")
        .CreatePivotTable TableDestination:= _
        "'[Emag Grafikler.xls]EmagDuru&#351;lar'!R3C1", TableName:="bbbb", _
        DefaultVersion:=xlPivotTableVersion10
    End With
    ActiveWorkbook.ShowPivotTableFieldList = True
    With ActiveSheet.PivotTables("bbbb").PivotFields("Tarih")
        .Orientation = xlRowField
        .Position = 1
    End With
    ActiveSheet.PivotTables("bbbb").AddDataField ActiveSheet.PivotTables( _
        "bbbb").PivotFields("ToplaDurusZaman&#305;"), "Toplam ToplaDurusZaman&#305;", _
        xlSum
End Sub
 
Son düzenleme:
Katılım
12 Eylül 2008
Mesajlar
38
Excel Vers. ve Dili
2003
Aşağıdaki tar1 ve tar2 değişkeninin koddaki tarihlerin yerine nasıl eklenebileceği konusunda yardımcı olabilecek kimse yokmu?

tar1
tar2

.....WHERE (MakineNoyaGöreHataOranı.Tarih>={ts '2008-09-20 00:00:0" _
, "0'
} And MakineNoyaGöreHataOranı.Tarih<={ts '2008-09-25 00:00:00'})")
 
Katılım
12 Eylül 2008
Mesajlar
38
Excel Vers. ve Dili
2003
Aşağıdaki tar1 ve tar2 değişkeninin koddaki tarihlerin yerine nasıl eklenebileceği konusunda yardımcı olabilecek kimse yokmu?

tar1
tar2

.....WHERE (MakineNoyaGöreHataOranı.Tarih>={ts '2008-09-20 00:00:0" _
, "0'
} And MakineNoyaGöreHataOranı.Tarih<={ts '2008-09-25 00:00:00'})")
en sonunda çözdüm ama yaklaşık 6 saatime mal oldu. Eğer pivot table ile veri tabanına bağlanıyorsanız. Makro ile kaydettiğiniz alana şağıdaki gibi değişken atayabilirsiniz. Değişken String olunca sorun yok ancak date olunca format sorunu yaşanıyor. (En ağzında acces'te yaşanıyor)
Mesela

tar2 = "25.06.2008" şeklinde değer atadığımda tarih formatının 2008-06-25 00:00:00 şeklinde değişkene atanmasını nasıl sağlarım. Çünkü access'den bu formatta geliyor ve hata veriyor.

.....WHERE (MakineNoyaGöreHataOranı.Tarih>= ' " & tar1 & " ' And MakineNoyaGöreHataOranı.Tarih<= ' " & tar2 & " ')")
 
Katılım
12 Eylül 2008
Mesajlar
38
Excel Vers. ve Dili
2003
Merhabalar,

A&#351;a&#287;&#305;daki konu hakk&#305;nda acil deste&#287;e ihtiyac&#305;m var. Yard&#305;mc&#305; olabilecek biri olursa &#231;ok sevinirim.

tar2 = "25.06.2008" &#351;eklinde de&#287;er atad&#305;&#287;&#305;mda tarih format&#305;n&#305;n 2008-06-25 00:00:00 &#351;eklinde de&#287;i&#351;kene atanmas&#305;n&#305; nas&#305;l sa&#287;lar&#305;m. &#199;&#252;nk&#252; access'den bu formatta geliyor ve hata veriyor. Yada access'de tarih alan&#305;n&#305;n format&#305;n&#305; dd-mm-yyyy &#351;eklinde nas&#305;l ayarlayabilirim. Asl&#305;nda giri&#351;ler bu &#351;ekilde yap&#305;l&#305;yor ama verileri excel'e verirken d&#246;n&#252;&#351;t&#252;r&#252;yor.
 
Üst