Avatar billede vels Nybegynder
03. februar 2002 - 14:52 Der er 8 kommentarer og
1 løsning

Søg med VB

Hej

Jeg har sådan en knap her:
Private Sub cmdsog_Click()

Dim soegetitel As String

soegetitel = InputBox("Søg efter titel")

Data1.Recordset.MoveFirst
Do While Data1.Recordset.EOF = False
    If Data1.Recordset("titel") = soegetitel Then
    Exit Sub
    End If
Data1.Recordset.MoveNext
Loop
MsgBox ("Titel findes ikke i databasen")
End Sub

Den søger og finder også titel fint hvis man skriver det titlen korekt... men hvis jeg f.eks. søger på titlen Jalla finder den ikke Jalla Jalla... hvordan får jeg den til sådan det søger på ord og ikke hele feltet...?
Avatar billede rune_c Nybegynder
03. februar 2002 - 14:54 #1
Du skriver:

If Data1.Recordset("titel") = soegetitel Then

oversat:

If "Jalla Jalla" = "Jalla" Then

/Rune
Avatar billede vels Nybegynder
03. februar 2002 - 14:55 #2
Jamen det er jo hvad jeg skriver....
Avatar billede vels Nybegynder
03. februar 2002 - 14:57 #3
I databsen er titlen Jalla Jalla
Hvis jeg søger bare på Jalla finder den, den ikke...

jeg efterlyser et generelt udtryk... og ikke bare en Jalla jalla løsning... *HUH*
Avatar billede hy Nybegynder
03. februar 2002 - 15:00 #4
Du kan også bruge :
Dim Kriterium As String
  Kriterium = "titel LIKE '*" & soegetitel & "*'"
  Data1.Recordset.FindFirst Kriterium
  If Data1.Recordset.NoMatch Then
    MsgBox "Findes ikke"
  Else
    MsgBox "Findes i database"
  End If

hyde
Avatar billede Slettet bruger
03. februar 2002 - 15:00 #5
If InStr(1, Data1.Recordset("titel"), soegetitel, vbTextCompare) Then
Avatar billede vels Nybegynder
03. februar 2002 - 15:03 #6
et andet problem....
Hvis titlen er Jalla Jalla i databasen... hvis jeg så søger på jalla jalla så finder den ikke... Hvordan får man den til ikkre at tage hensyn til store og små bogstaver....?
Avatar billede hy Nybegynder
03. februar 2002 - 15:03 #7
Sådan ser din færdige kode ud:

Private Sub cmdsog_Click()

Dim soegetitel As String
Dim Kriterium As String

soegetitel = InputBox("Søg efter titel")

Data1.Recordset.MoveFirst

  Kriterium = "titel LIKE '*" & soegetitel & "*'"
  Data1.Recordset.FindFirst Kriterium
  If Data1.Recordset.NoMatch Then
    MsgBox "Findes ikke"
  Else
    MsgBox "Findes i database"
  End If

End Sub
Avatar billede vels Nybegynder
03. februar 2002 - 15:04 #8
PROFF :-) det virker
også det med store og små
Avatar billede Slettet bruger
03. februar 2002 - 15:06 #9
takker :)
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