|
| asp og access.. hvad er der galt Fra : Duno | Vist : 594 gange 100 point Dato : 15-02-03 20:46 |
|
jeg er ved at lave en database hvor jeg man søge på fornavn og udfra denne søgning finde alle dem der eks hedder ann .. men hvis jeg søger i databasen finder den mariann og susanne altså alle som indenholder ann.. hvis jeg kun vil finde dem der starter med ann, hvad gør jeg så, jeg ville syntes at det var helt fint hvis man eks kunne vælge alle der hedder noget med eks ann(louise) og vil gerne vide hvordan man gør det.. men jeg skal også bruge navnet og kun navnet.. kun det ene navn...
min kode er her...
soeg = Request.QueryString("soeg")
If soeg = "" Then
soegestreng = "'%'"
Else
soegestreng = "'%" & soeg & "%'"
End If
Set indlaeg = Server.CreateObject ("ADODB.Recordset")
indlaeg.Open "SELECT * FROM navne WHERE navn LIKE " & soegestreng & " OR indlaeg LIKE " & soegestreng & " ORDER BY navn " , database
%>
hvis mit spørgsmål virker helt uforståligt.. så skriv en besked.. og jeg skal prøve at forklare mig bedre...
på forhånd tak
| |
| Kommentar Fra : gandalf |
Dato : 15-02-03 20:49 |
|
Så skriver du
soegestreng = soeg & "%"
Gandalf
| |
| Kommentar Fra : Duno |
Dato : 15-02-03 21:02 |
|
ja det har jeg også prøvet men.. så får jeg følgende fejl...
Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntax error in query expression 'navn LIKE ann% OR indlaeg LIKE ann%'.
/navnesoegdreng.asp, line 25
det er denne her linie..
indlaeg.Open "SELECT * FROM navne WHERE navn LIKE " & soegestreng & " OR indlaeg LIKE " & soegestreng & " ORDER BY navn " , database
jeg kan ikke se problemet..
| |
| Kommentar Fra : gandalf |
Dato : 15-02-03 21:12 |
|
Når nu er jeg med, den er også gal med din query, den skal se således ud.
indlaeg.Open "SELECT * FROM navne WHERE navn LIKE '" & soegestreng & "' OR indlaeg LIKE '" & soegestreng & "' ORDER BY navn " , database
Du mangler pling (') foran og efter dine strenge.
Gandalf
| |
| Kommentar Fra : Duno |
Dato : 15-02-03 21:20 |
|
det skal lige siges at den virkede før... den kunne bare ikke alle ting.... den sorterede efter hvorvidt de bogstaver jeg skrev var med i ordet.. det må bare kun værte i starten af ordet... altså .. annmaria.. ikke mariann
og nix... ny fejl .. med samme udseende.. :)
Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntax error (missing operator) in query expression 'navn LIKE 'ann%'' OR indlaeg LIKE 'ann%'''.
/navnesoegdreng.asp, line 25
| |
| Kommentar Fra : gandalf |
Dato : 15-02-03 22:44 |
|
ud fra dette har du også lavet en fejl, for den skriver
Kode Syntax error (missing operator) in query expression 'navn LIKE 'ann%'' OR indlaeg LIKE 'ann%'''
-----------------------------------------------------------------^ |
Dette skulle have været ' og ikke "
Gandalf
| |
| Kommentar Fra : Duno |
Dato : 16-02-03 11:58 |
|
ok vi laver kravene mindre.. jeg vil bare kunne søge på et navn .. og findes det i databasen.. skal det vises findes det ikke skal de give fejlbesked.. eks navnet findes ikke.. søger jeg på ann.. vil jeg ikke have alle de navne der indeholder ann.. men kun ann... jeg bruger iøjeblikket "LIKE" men jeg er ikke sikker på at det er den rigtige kommando...
| |
| Kommentar Fra : gandalf |
Dato : 16-02-03 12:12 |
|
Hej Duno
Jeg forstår ikke rigtig problemet, for dette burde virke, copy denne linie og paste den ind i stedet for din linie. Det skal virke.
indlaeg.Open "SELECT * FROM navne WHERE (navn LIKE 'ann%') OR (indlaeg LIKE 'ann%') ORDER BY navn" , database
Prøv dette bare for at se om det virker.
Gandalf
| |
| Accepteret svar Fra : smorch | Modtaget 100 point Dato : 16-02-03 12:46 |
|
Else
soegestreng = "'" & soeg & "%'"
End If
burde være nok - søgningen vil da kun "wildcarde" hvad der efterfølger soeg.
% soeg % = alt hvad der indeholder soeg
% soeg = alt hvad der ender på soeg
soeg % = alt hvad der starter på soeg
mvh
sMorch
| |
| Kommentar Fra : grstad |
Dato : 10-04-05 22:14 |
|
du bør ikke ha %-greiene i scriptet, men tronker med (bruk som wildcard) % når du skriver i din form eller der du søker fra!
| |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|