Skip to main content

AccessTr.neT


Kelime Tekrar Tespiti

access acemisi
access acemisi
13
3664

Kelime Tekrar Tespiti

Çözüldü #1
Değerli arkadaşlar

Vaaz tablosunda ,anahtar_kelime alanında girilen kelimelerin sayısını, oluşturulacak yeni bir sorguda bulmak istiyorum. Örneğin oluşturduğum sorguda , Bayrak kelimesi 1. Ve 2. Satırda, girildiği görülüyor. Toplamda 2 rakamını aşağıdaki şekilde görmek istiyorum Saygılarımla

[Resim: do.php?img=8880]
.rar kelime tekrar tespit.rar (Dosya Boyutu: 20,19 KB | İndirme Sayısı: 4)
Cevapla
#2
yeni bir tablo ekleyip kelimeleri ve sayılarını ona tanımladım
dilerim işinize yarar.
.rar index_hy.rar (Dosya Boyutu: 43,04 KB | İndirme Sayısı: 5)
Cevapla
#3
Merhaba, ekli örnekteki srg_veriler isimli sorgu, 3 kelimeye kadar verileri parçalayıp alt alta yazdırır, srg_kelimesayilari isimli sorgu ise bu kelimeleri sayar.
.zip kelime tekrar tespit_sld.zip (Dosya Boyutu: 24,48 KB | İndirme Sayısı: 8)
Cevapla
#4
(25/02/2019, 12:24)ozanakkaya yazdı: srg_kelimesayilari isimli sorgu ise bu kelimeleri sayar
Sn ozanakkaya Çalışmanızı tekrar inceliyorum. 3  nolu cevabınızda ,en son gönderdiğiniz dosyada ,ramazan kelimesi 3 defa yazılı gözüktüğü halde 2 saymış.Ben tekrar bir ramazan kelimesi daha ilave ettiğim halde saymadı nedendir acaba.Bir kez daha inceleyebilir misiniz.Saygılar
Cevapla
#5
index oluşturma butonunun kodunu aşağıdaki ile değiştirip dener misiniz?
Private Sub BtnEndxSay_Click()
Dim KelimeSay As New ADODB.Recordset
Dim TxtIndex, TxtIndex2, SqlKelime, txtKelimeSay, saygec As String
Dim IndexDizi() As String
TxtIndex = ""
TxtIndex2 = ""
SqlKelime = "SELECT [anahtar_kelime]  FROM vaaz ;"

KelimeSay.Open SqlKelime, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    If KelimeSay.RecordCount <= 0 Then GoTo 10
    KelimeSay.MoveLast
    KelimeSay.MoveFirst
        Do Until KelimeSay.EOF
             TxtIndex = TxtIndex & KelimeSay.Fields(0) & " "
             KelimeSay.MoveNext
        Loop

IndexDizi = Split(Trim(TxtIndex))
TxtIndex = " " & IndexDizi(0) & " "
TxtIndex2 = " " & IndexDizi(0) & " "
    For X = LBound(IndexDizi) + 1 To UBound(IndexDizi)
        
        TxtIndex = IIf(InStr(TxtIndex, " " & IndexDizi(X) & " ") = 0, TxtIndex & IndexDizi(X) & " ", TxtIndex)
        TxtIndex2 = TxtIndex2 & IndexDizi(X) & " " 'bu satır tek değişti TxtIndex2 yerine TxtIndex yazılmış yanlışlıkla
    Next

    IndexDizi = Split(Trim(TxtIndex))
    '________Sırala__________________
     For X = LBound(IndexDizi) To UBound(IndexDizi)
    For y = X To UBound(IndexDizi)
      If UCase(IndexDizi(y)) < UCase(IndexDizi(X)) Then
        TempTxt1 = IndexDizi(X)
        TempTxt2 = IndexDizi(y)
        IndexDizi(X) = TempTxt2
        IndexDizi(y) = TempTxt1
      End If
     Next y
  Next X
  '___________sırala son
    
    CurrentDb.Execute " DELETE * FROM [TblEndx];"
    For X = LBound(IndexDizi) To UBound(IndexDizi)
    saygec = Trim(TxtIndex2)
    txtKelimeSay = UBound(Split(saygec, IndexDizi(X)))
   
    CurrentDb.Execute " INSERT INTO [TblEndx]([EndxKelime], [EndxSay])" & _
                         " VALUES (' " & IndexDizi(X) & "', '" & txtKelimeSay & "');"

    Next
10
KelimeSay.Close
Set KelimeSay = Nothing
DoCmd.OpenQuery "sorgu"
End Sub
Cevapla
#6
Sn haliliyas böle bir hata verdi
[Resim: do.php?imgf=74e04de634c71.png]
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task