böylede oluyormuş
Public Function sayLen(GVeri As String, Optional Ayrac As String = ",") As Integer
On Error Resume Next
sayLen = Len(GVeri) - Len(Replace(GVeri, Ayrac, "")) + 1
End Function
Public Function splitVeri(GVeri As String, GSayi As Integer, Optional Ayrac As String = ",") As String
On Error Resume Next
splitVeri = Split(GVeri, Ayrac)(GSayi)
End Function
(28/03/2020, 23:25)berduş yazdı: aslında dikkat ederseniz sorgulara da gerek yok
Modüldeki kodlar
Public Function SplitStnSay(GVeri As String, Optional Ayrac As String = ",") As Integer
On Error Resume Next
Dim var As Variant
Dim GAyrac As String
GAyrac = Ayrac
var = Split(GVeri, Ayrac)
SplitStnSay = UBound(var) + 1
End Function
Public Function SplitVeriBul(GVeri As String, GSayi, Optional Ayrac As String = ",") As Variant
On Error Resume Next
Dim var As Variant
Dim GAyrac As String
GAyrac = Ayrac
var = Split(GVeri, GAyrac)
SplitVeriBul = var(GSayi)
End Function
butonun kodu
Private Sub BtnSay_Click()
Dim sql, SqlStn As String
Dim xStnSay, x As Integer
Dim ADO_RS As Object
Set ADO_RS = CreateObject("adodb.recordset")
Sql = "SELECT max(SplitStnSay([Alan1])) AS [HstStn] FROM Tablo1"
ADO_RS.Open sql, CurrentProject.Connection, 3, 1
xStnSay = ADO_RS(0)
ADO_RS.Close
Set ADO_RS = Nothing
'hy Sorguyu s?tunlara b?l
SqlStn = ""
For x = 1 To xStnSay
SqlStn = SqlStn & ", SplitVeriBul([Alan1]," & x - 1 & ") AS [HstStn" & CStr(x) & "]"
Next x
Sql = "SELECT Alan1, " & Mid(SqlStn, 2) & " FROM Tablo1;"
Me.LstStn.ColumnCount = xStnSay
Me.LstStn.RowSource = sql
'hy Union____________________________
SqlStn = ""
For x = 1 To xStnSay
SqlStn = SqlStn & " union all SELECT Nz(SplitVeriBul([Alan1]," & x - 1 & "),'') AS [HstStn] from tablo1 " & _
" where Nz(SplitVeriBul([Alan1]," & x - 1 & "),'')<>''" & vbCrLf
Next x
Sql = Mid(SqlStn, 11)
Sql = " SELECT [HstStn], count([HstStn]) AS ToplamSayi FROM (" & Sql & ") as Bileske GROUP BY [HstStn] order by count([HstStn]) "
Me.LstSay.RowSource = sql
End Sub
Kontrol kodunu eklemeyi yine unutmuşum)
Evet sorgulara gerek yok.Ben extra sorgu için yaptım çünkü kullanmayı bilmiyordum.Dün modüldeki kodları forumda görünce hoşuma gitmişti geliştireyim istemiştim.
Güzel dosyalar oluştu sonuçta.Benim işime yarayacağını sanmıyorum lakin öğrenmiş olduk.Belki işine yarayacak olanlar çıkar.
Cevaplanmışlara taşıyalım mı?
(28/03/2020, 23:53)berduş yazdı: Cevaplanmışlara taşıyalım mı?
Evet,herşey için siz ve accessman hocamıza teşekkürler.
ben bir şey yapmadım ama sizin ellerinize sağlık
hazır başlamışken çapraz sorgu da yapılsa güzel olur
resimdeki gibi her ay için kaçar tane eleman olduğunu bulabilir miyiz
Resim ekleyemedim maalesef
(29/03/2020, 00:19)accessman yazdı: ben bir şey yapmadım ama sizin ellerinize sağlık
hazır başlamışken çapraz sorgu da yapılsa güzel olur
resimdeki gibi her ay için kaçar tane eleman olduğunu bulabilir miyiz
Resim ekleyemedim maalesef
Bende onu yazacaktım berduş hocamızın son dosyayı inceledim süper olmuş.
Bence sizin şu kronik hastalar konusu için kodu uyarlayabilirse daha pratik olur gibi.
Tabii isterse.
Sıralama olayı bile var kodda