Henning Habor skrev:
> Nu har jeg siddet og knoklet hele natten for at få et pladearkiv
> op at køre, men nu mangler jeg så bare lige at få det sidste ifm.
> søgemaskinen til at fungere.
>
> I en Access database har jeg en tabel der hedder "albums". I
> "albums" har jeg flg. kolonner: "ID", "album_titel",
> "album_kunstner" og "album_indhold".
> Den sidste kolonne er et memo, hvor alle numrene på de enkelte
> albums skal stå.
> Man kan søge på "album_indhold" og det virker til dels.
> Mit problem er at jeg vil have, at på det resultat der bliver
> trukket ud, skal linien hvor søgeordet stemmer overens med det
> der er blevet søgt på stå som en del af resultatet.
> Som det er nu, er resultatet titlen og kunstneren, men for at
> gøre det mere overskueligt, skal selve den linie hvori søgeordet
> er også skrives.
>
> Har du ikke en god ide til hvordan dette skal løses?
> Jeg har søgt og søgt efter en kilde, der indeholdte løsningen
> bare nogenlunde, men desværre uden resultat.
En måde kunne være:
Antag at album_indhold ligger i rs("album_indhold").
Antag at søgeordet ligger i sKeyword
' Opdel i linier, dvs del-strenge adskilt af linieskift
asLines = Split(rs("album_indhold"), vbCrLf)
' Nu er asLines et array med en linie på hver plads
' Vi løber arrayet igennem for at finde
' det der er søgt på
For i = LBound(asLines) To UBound(asLines)
If CBool(InStr(asLines(i), sKeyword)) Then
' asLines(i) indeholder sKeyword
sLine = asLines(i)
Exit For
End If
Next
' sLine indeholder nu den første linie fra rs("album_indhold"),
' der indeholder søgeordet sKeyword
Håber det giver mening (og virker...),
Torben