Avatar billede scifo Nybegynder
02. marts 2011 - 13:08 Der er 14 kommentarer og
1 løsning

Form filter som ikke er case sensitive

Hej Eksperter.

Jeg arbejder på en form, hvor jeg skal kunne sortere / sætte filtre på en liste over kunder.

Jeg har lagt følgende kode ind på OnKeyUp:
<CODE>
If Me.Kombinationsboks4.ListIndex = -1 Then Exit Sub

Dim sTekst, sFelt As String

sTekst = Me.Soegetekst.Text
sFelt = Me.Kombinationsboks4.Value

[Forms]![Søg kunde]![Søg kunde - liste].Form.Filter = sFelt & " like '" & "%" & sTekst & "%" & "'"
[Forms]![Søg kunde]![Søg kunde - liste].Form.FilterOn = True

sTekst = ""
sFelt = ""
</CODE>

Ovenstående er kun test, så tag jer ikke af konventionerne.

Koden virker efter hensigten, men Form.Filter er case-sensitive, og det giver nogle problemer.

Er der en anden måde at gøre det på? Eller kan man ændre det så den ikke er case-sensitive?

Tak for hjælpen

//Scifo
Avatar billede terry Ekspert
02. marts 2011 - 13:33 #1
The filter shouldnt be case sensitive by default.
Avatar billede scifo Nybegynder
02. marts 2011 - 13:43 #2
Well, when trying the above-mentioned code, I get results typing "Bir" but not when typing "bir" (For the name Birgit). So for some reason, it's case sensitive here.
I use the 2007 version, is there a difference from the previous versions?
Avatar billede terry Ekspert
02. marts 2011 - 13:44 #3
I'm using 2010
Avatar billede neoman Novice
02. marts 2011 - 13:47 #4
Hvilken Option er der øverst i dit kodemodul for fomularen: Option Compare <hvad>?

Og du kører mod en Access-backend?
Avatar billede scifo Nybegynder
02. marts 2011 - 15:29 #5
neoman->
Der står: Option Compare Database

Nej, data der søges i, er en kæde til en oracle DB (read-only).
Avatar billede neoman Novice
02. marts 2011 - 15:39 #6
" I always use pass-through queries and clauses like e.g.
WHERE UPPER(FieldName) LIKE '%XYZ%'  "

fra : http://bytes.com/topic/access/answers/190826-case-insensitive-filter-ms-access-front-end
Avatar billede scifo Nybegynder
02. marts 2011 - 15:48 #7
Det er jeg godt stødt på, men mit problem er, at jeg bruger "filter" muligheden.
Jeg har altså ikke mulighed for at sætte en WHERE betingelse her :/

Jeg kunne selvfølgelig lave en ny forespørgsel, men da jeg har en dropdown-boks, hvor man vælger feltet man vil søge i, kan jeg ikke sætte en WHERE betingelse et bestemt sted?
Avatar billede neoman Novice
02. marts 2011 - 15:59 #8
Why not ?

Du kan fx. danne hele SQL'en i koden, afh af dropdown boxen

Du kan fx. ændre WHERE kriteriet (i koden) for en bestående query (altså hvis den eksisterer som et gemt objekt).

http://msdn.microsoft.com/en-us/library/bb208681%28v=office.12%29.aspx
Avatar billede neoman Novice
02. marts 2011 - 16:01 #9
Jeg ville selvfølgeligt lige lege lidt med en kopi af din query i query designeren, og se om dette tiltag med UPPER har den ønskede virkning
Avatar billede terry Ekspert
02. marts 2011 - 16:10 #10
I agree with neoomann, use passthrough queries if possible it'll also help with performance.
Avatar billede terry Ekspert
02. marts 2011 - 16:16 #11
you could try

Me.Filter = "UCase(FieldName) LIKE '%" & UCase("bir") & "%'"
Avatar billede scifo Nybegynder
02. marts 2011 - 16:38 #12
Hmm... det har i nok ret i, jeg vil lige prøve det i morgen, og så vender jeg tilbage.
Avatar billede scifo Nybegynder
17. marts 2011 - 10:33 #13
Jeg beklager det sene svar, men der var ikke tid til at implementere noget af ovenstående i første omgang desværre.

Jeg vil dog i step 2 forsøge mig med passthrough queries.

Men tak for jeres hjælp, og læg et svar begge to :)
Avatar billede terry Ekspert
17. marts 2011 - 18:05 #14
svar
Avatar billede terry Ekspert
02. april 2011 - 10:29 #15
tak
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

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