Avatar billede long Nybegynder
17. juni 1999 - 09:39 Der er 7 kommentarer

Hvordan laver man en søgning der sorterer, hvor det søgte forekommer flest gange

Hvordan laver man en søgning der sorterer efter hvor det søgte forekommer flest gange ?

Jeg behøver ikke source kode, men bare et spark i den rette retning.
Avatar billede sone Nybegynder
17. juni 1999 - 09:51 #1
Du skal nok konkretisere dit spørgsmål lidt: Mener du søgning efter ord i en tekst eller søgning på felter i en database ??

/Peter
Avatar billede long Nybegynder
17. juni 1999 - 10:05 #2
Jeg mener søgning efter ord i en tekst streng.

Databasen indeholder f.eks. 200 rækker med 2 felter. En ID og en Tekst.
Min søgning skal så vise de ID'er hvori det søgte ord forekommer. Den skal sortere det således at den række hvori det søgte ord forekommer flest gange står øverst, o.s.v.
Avatar billede boomer Nybegynder
17. juni 1999 - 11:49 #3
Prøv dette:

Set RS = Connect.Execute("SELECT referer, Count(referer) AS AntalReferer FROM tStat GROUP BY referer ORDER BY Count(referer) DESC")

Så skal der være en kolonne i tabellen der hedder "referer", ellers kan du bare udskifte alle "referer" med et andet navn.

Jeg har lavet et lille eksempel der så laver en graf:

<table border="0" cellpadding="0" cellspacing="0" width="500">
<tr>
<td width="300">b>Kolonnenavn</b></td>
<td width="50"><b>Antal</b></td>
<td width="150"><b>Graf</b></td>
</tr>
       
<%   
Do While Not Class.EOF
Bredde = (Class("AntalReferer") * 100) / RS("Ialt")
       
Bredde = Round(Bredde)
           
Referer = Left(Class("Referer"), 40)
%>
<tr>
<td width="300"><%=Referer%></td>
<td width="50"><%=Class("AntalReferer")%></td>
<td width="150"><img src="prik.jpg" width="<%=Bredde%>" height="10"> <%=Bredde%>%</td>
</tr>
   
<%   
Class.MoveNext
Loop
%>
</table>

Prøv det!
Avatar billede long Nybegynder
18. juni 1999 - 01:02 #4
boomer: Den viser hvor mange records der indeholder det samme.

Jeg søger et praj til hvordan jeg laver en liste sorteret efter den record der indeholder flest af de søgte ord.

men eller tak :)
Avatar billede long Nybegynder
21. juni 1999 - 19:26 #5
Er der ingen af jer der kan sende mig i den rette retning ?
Avatar billede powerboy Nybegynder
23. juni 1999 - 14:21 #6
select * from X where tekst like '% dintekst%'

så skal du selv løbe recordsættet igennem ..
SQL kan kun finde en streng med det ord ikke lave en tæller i stregen :/

Avatar billede long Nybegynder
23. juni 1999 - 14:32 #7
Fy skamme !

Jeg arbejder lidt med dette :


The function below will count the times "Fish" occurs in a string.

      Public Function CountString(Source As String, Search As String) As Integer
          Dim vPos As Integer
          Dim vTimes As Integer
         
          vPos = 0
          vTimes = -1
         
          Do
              vPos = InStr(vPos + 1, Source, Search)
              vTimes = vTimes + 1
          Loop Until vPos = 0
         
          CountString = vTimes
      End Function

      Store this function in a module in your Access Database

      Create a query like this :

      Select * from YourTables Where Instr(YourField, 'Fish') > 0 Order By CountString(YourField, 'Fish')

      Run this query, it should give you the results you want.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester