Elinize sağlık berduş hocam çok güzel açıklamışsınız.Alicimri hocamızın çalışmasını denerken merak sarmıştım o form olarak yapmıştı değişik olarak.
Her neyse konuyu çok güzel anlatmışsınız.Ben sorgu siharbazıyla yapmıştım.Birde kodddaki Formlar! Yerine Forms! Olursa daha iyi oluyormuş çünkü bilirsiniz Türkçe harici dilde hata verirmiş.
Bu çaprazsorgunun exceldeki adı özet tablo ingilizcesi pivot table biliyorum.
Ve çok hızlı ve çok pratik ve harika birşey.
Accesstede olmasına sevindim.
 
 (16/02/2020, 12:48)feraz yazdı:  Formlar! Yerine Forms! Olursa daha iyi oluyormuş çünkü bilirsiniz Türkçe harici dilde hata verirmiş.
 o konuda haklısınız ama uzun uzun yazmak yerine olay ifade oluşturma yöntemiyle aldığım için Türkçelerde otomatik olarak formlar yazıyor bazan forms diye düzeltsem bile bir bakıyorum 
Access formlara çeviriyor o nedenle bıraktım olduğu gibi
 
 
 (16/02/2020, 13:23)alicimri yazdı:  Daha önce oluşturulmuş "NewQuery" adındaki sorgunun metin kutularından veri alınarak  sqlString i değiştirmek.
Kod:
Private Sub Komut7_Click()
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim SQL As String
SQL = "TRANSFORM sum(say) AS ToplamSay SELECT adı FROM Tablo1 WHERE tarih >= " & CDbl(Metin1.Value) & " And tarih <= " & CDbl(Metin3.Value) & " GROUP BY ad? PIVOT tarih"
Set qdf = CurrentDb.QueryDefs("NewQuery")
qdf.SQL = SQL
End Sub
Sağolunuz denedim çalıştı.
Kolay gelsin.
 
 
Dosyadaki adı alanını ad olarak değiştirdim malum Türkçe karakter olayından dolayı.
Ve bazı değişiklikler yaptım.
Son hali ektedir.Biri sayın @
berduş hocamızın diğeride sayın @
alicimri  hocamızın kodlarına göre yaptım.
Her ikinizede ayrı ayrı teşekkürler Allah razı olsun ikinizdende.
Tabii konu taşınmış galiba dosya eklemedim kodları ekleyeyim.
Çapraz Tablo adını Pivot Tablo olarak değiştirdim ve adı alanınıda ad olarak değiştirdim.
Kod1
Kod:
Private Sub Komut0_Click()
    Dim CaprazSrg As String
    
    If IsNull(Metin1.Value) Or Metin1.Value = "" Then
        MsgBox "Baslangic Tarih Bos Olamaaz....", vbCritical, "Hata"
        Metin1.SetFocus
        Exit Sub
    End If
    
    If IsNull(Metin3.Value) Or Metin3.Value = "" Then
        MsgBox "Bitis Tarih Bos Olamaaz....", vbCritical, "Hata"
        Metin3.SetFocus
        Exit Sub
    End If
    
    
    
    CaprazSrg = " TRANSFORM Sum(Tablo1.say) AS Toplasay " & _
                  " SELECT Tablo1.ad  " & _
                  " FROM Tablo1 " & _
                  " where (Tablo1.tarih) between (" & CLng(Me.Metin1.Value) & ") and (" & CLng(Me.Metin3.Value) & ")" & _
                  " GROUP BY Tablo1.ad " & _
                  " ORDER BY Tablo1.ad, Tablo1.tarih " & _
                  " PIVOT Tablo1.tarih"
    
    CurrentDb.QueryDefs("Pivot Tablo").SQL = CaprazSrg
    DoCmd.OpenQuery "Pivot Tablo"
End Sub
 
Kod2
Kod:
Private Sub Komut0_Click()
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim SQL As String
If IsNull(Metin1.Value) Or Metin1.Value = "" Then
    MsgBox "Baslangic Tarih Bos Olamaaz....", vbCritical, "Hata"
    Metin1.SetFocus
    Exit Sub
End If
If IsNull(Metin3.Value) Or Metin3.Value = "" Then
    MsgBox "Bitis Tarih Bos Olamaaz....", vbCritical, "Hata"
    Metin3.SetFocus
    Exit Sub
End If
SQL = "TRANSFORM sum(say) AS ToplamSay SELECT ad FROM Tablo1 WHERE tarih >= " & CDbl(Metin1.Value) & " And tarih <= " & CDbl(Metin3.Value) & " GROUP BY ad PIVOT tarih"
CurrentDb.QueryDefs("Pivot Tablo").SQL = SQL
DoCmd.OpenQuery "Pivot Tablo"
End Sub
 
 
Birde şunu sorayım videodaki pivot tablo olayı menünün neresinde.