Avatar billede jmarkling Nybegynder
27. marts 2002 - 17:39 Der er 14 kommentarer og
2 løsninger

Søgning på forbogstav

Hvordan laver jeg en søgning der kun henter forekomster frem hvor forbogstavet starter med et bestemt forbogstav...????

Altså ligesom her:...
SELECT * FROM et eller andet WHERE forbogstav = a

Kolonnen hedder "navn"
Avatar billede jkrons Professor
27. marts 2002 - 18:21 #1
SELECT * FROM Tabel
WHERE navn Like a*

eller hvis det skal funke med forskelligee forbogstaver:

SELECT * FROM Tabel
WHERE navn Like [Indtast forbogstav]*
Avatar billede cbp Nybegynder
27. marts 2002 - 18:22 #2
Den nemmeste løsning er at bruge LIKE:

SELECT * FROM et eller andet WHERE forbogstav = 'a%'
Avatar billede mugs Novice
27. marts 2002 - 18:24 #3
SELECT TABELNAVN.FELTNAVN
FROM TABELNAVN
WHERE (((TABELNAVN.FELTNAVN) Like "a"));
Avatar billede jkrons Professor
27. marts 2002 - 18:26 #4
Undskyld - den sidste skal selvfølgelig være

SELECT * FROM Tabel
WHERE navn Like [Indtast forbogstav]& "*"
Avatar billede jmarkling Nybegynder
27. marts 2002 - 18:29 #5
Uhha, I har godt nok svaret tæt på hinanden...
Jeg tester lige "det bliver sent i aften, og så giver jeg points til den tætteste på det der virker"
Takker for de mange svar

EKSPERTEN er guld
Avatar billede mugs Novice
27. marts 2002 - 18:38 #6
Når jeg nu læser dit spørgsmål, er det jo kun 1. bogstav du vil søge på, og så skal det se således ud:

SELECT TABELNAVN.FELTNAVN
FROM TABELNAVN
WHERE (((TABELNAVN.FELTNAVN) Like "a*"));

Idet min første kode kun finder de poster der indeholder bogstavet "a", og ikke noget efterfølgende.
Avatar billede jmarkling Nybegynder
27. marts 2002 - 18:50 #7
Syntaks mæssigt er der nok nogle ændringer, da det er via. ASP jeg har tilgang til DB'en...
-Jeg vil hive alle rækkerne frem med et kald
<%SQLsaetning = SELECT * FROM Brugere WHERE navn LIKE 'a*'%>
Virker den tror I?
Avatar billede cbp Nybegynder
27. marts 2002 - 18:53 #8
SELECT * FROM Brugere WHERE navn LIKE 'a%'

vil virke.
Avatar billede jmarkling Nybegynder
27. marts 2002 - 18:56 #9
OK...
Jeg tester først meget senere i aften, så vi lige kan få afgjort om det er % eller * der virker...
Avatar billede cbp Nybegynder
27. marts 2002 - 19:02 #10
Det er ikke umuligt at * også virker, men den korrekt SQL-syntaks som virker på alle databaser er %.
Avatar billede jkrons Professor
27. marts 2002 - 19:26 #11
I ASP er det %
* Virker i native sql

Men du glemte lige at nævnte at det var asp i første omgang
Avatar billede mugs Novice
27. marts 2002 - 19:28 #12
Mit svar er udelukkende givet ud fra den betragtning, at det drejer sig om kategorien Access.
27. marts 2002 - 19:42 #13
Jeg vil til ethvert tidspunkt foretrække:

SELECT * FROM [Tabel] WHERE Left([Navn],1) = a

Denne metode er hurtigere, da Like er en meget langsom operator. (og derved slipper du for at spekulere over om det er %, ?, * eller hvad det måtte være)

/Thomas
Avatar billede jmarkling Nybegynder
27. marts 2002 - 23:23 #14
Jeg fik desværre ikke tid til at teste om det var * eller %, men jeg testet først thomasjepsen's forslag, og som han skrev var det ekstremt hurtigt... Den står der med det samme ud af en tabel med 400 records, men om man kan mærke forskel kan jeg ikke sige linjen kom til at se sådanne ud:

<%sql = "SELECT Navn FROM Vare WHERE LEFT(Navn,1)= '"+bogstav+"'";%>

Jeg har osse givet jkrons points for at være hutigst, jeg har desværre ikke råd til at give jer alle... selvom I skal have mange tak for hjælpen...
--->thomasjepsen, kan man også indføre en "og" operator så man kunne både finde store og små bogstaver?
Avatar billede jmarkling Nybegynder
28. marts 2002 - 00:32 #15
Bare overse den med "og" operatoren, Acess er åbenbart ikke caseSentativ i det tilfælde....
Avatar billede jmarkling Nybegynder
01. april 2002 - 14:24 #16
I mine mange andre søgfunktioner har jeg kun brugt % og ikke *, da jeg kun kunne få % stjerne til at virke...
Men SELECT * FROM [Tabel] WHERE Left([Navn],1) = a, har jeg brugt, når det drejer som index søgninger...
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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