Split Ve Çapraz Sorgu

1 2 3 4 5 6 7
29/03/2020, 19:04

alicimri

Nasıl doğru vermiyor. Sorun nedir.
29/03/2020, 19:12

alicimri

Alan1'e 3 karakterden fazla bilgi girince sorun oluyor, yeni kodlar aşağıda.
Kod:
Private Sub Komut0_Click()
Dim dbs As DAO.Database
  Dim rst As DAO.Recordset
   Dim rst2 As DAO.Recordset
    Set dbs = CurrentDb
   sql1 = "SELECT* FROM Tablo1"
   dbs.Execute ("DELETE * FROM Tablo2")
     Set rst = dbs.OpenRecordset(sql1)
    Do While Not rst.EOF
    alan = alan & "," & "#" & rst("aylar") & "," & rst("alan1")
    rst.MoveNext
  Loop
alan = Mid(alan, 2)
alan = Split(alan, ",")
For i = 0 To UBound(alan)
If Left(alan(i), 1) = "#" Then
ay = Mid(alan(i), 2)
Else
dbs.Execute ("INSERT INTO Tablo2 ( aylar, Alan1, Alan2 ) VALUES('" & ay & "', '" & alan(i) & "', " & 1 & ")")
End If
Next
DoCmd.OpenQuery "sor", acViewNormal, acEdit

End Sub
29/03/2020, 20:53

accessman

evet şimdi doğru sonuç veriyor sn. @alicimri
çok güzel olmuş ellerinize sağlık bunu insert ile tablo oluşturmadan yapmak mümkün mü

TRANSFORM Count(Tablo2.Alan2) AS SayAlan2
SELECT Tablo2.aylar
FROM Tablo2
GROUP BY Tablo2.aylar
PIVOT Tablo2.Alan1;

sorgusunu direkt listboxa aktarmak mümkün mü
29/03/2020, 21:03

feraz

Transform ile yani pivot ile yapmak için en az 3 alan olmalı galiba.Dün çapraz sorgu ekleyim istemiştim öyle mesaj vermişti Access programı.Exceli alternatif olsun diye eklemiştim sadece kim bilir lazım olur belki.
29/03/2020, 23:30

alicimri

(29/03/2020, 20:53)accessman yazdı: evet şimdi doğru sonuç veriyor sn. @alicimri
çok güzel olmuş ellerinize sağlık bunu insert ile tablo oluşturmadan yapmak mümkün mü
Pek mümkün görmüyorum ancak Tablo1 den verileri aldıktan sonra ikinci tabloya aktarmak yerine oluşturulan listbox veya listview çapraz tablo şeklinde düzenlene bilinir ama bir sürü döngü ve dizi yapmak gerekir.
30/03/2020, 00:00

berduş

Aslında sorguda da mümkün bence, sabah bir ara oldu ama sonrasında elime bilgisayar geçmedi bir türlü
1 2 3 4 5 6 7