AccessTr.neT

Tam Versiyon: Çapraz Sorgu Tasarım Moduna Control Ekleme
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3 4
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
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
(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.

Sayfalar: 1 2 3 4