28/03/2020, 17:17
feraz
Merhaba,resimde işaretlediğim yerde en çok virgül var yani 8 adet.Benim sorum şu tablodaki hangi satırda enfazla varsa onun adedi versin sonuç olarak 8 çıkacak çünkü 8 tane virgül var.Başka satırda 10 adet olsaydı 10 olacaktı sonuç.
Amacım sorguda virgülleri ayırmak.Daha sonra birleştirme işlemine el atacağım.
Adet bulma döngüsüz olması gerekmektedir.Garip bir soru lakin belki vardır bir hal çaresi.
Private Sub Komut0_Click() örnek olsun diye bu şekilde yaptım adet bulunursa döngüye sokacağım.
Amacım sorguda virgülleri ayırmak.Daha sonra birleştirme işlemine el atacağım.
Adet bulma döngüsüz olması gerekmektedir.Garip bir soru lakin belki vardır bir hal çaresi.
Private Sub Komut0_Click() örnek olsun diye bu şekilde yaptım adet bulunursa döngüye sokacağım.
Private Sub Komut0_Click()
Dim Sql As String
Sql = "SELECT Alan1, SplitVeriBul([Alan1],0) AS [Ayir 1]," & _
"SplitVeriBul([Alan1],1) AS [Ayir 2]," & _
"SplitVeriBul([Alan1],2) AS [Ayir 3]," & _
"SplitVeriBul([Alan1],3) AS [Ayir 4]," & _
"SplitVeriBul([Alan1],4) AS [Ayir 5] FROM Tablo1;"
CurrentDb.QueryDefs("Sorgu1").sql = sql
DoCmd.OpenQuery "Sorgu1"
End Sub
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