Deze post is NIET bedoeld als late kick, maar als aanvulling op de zoekfunctie op het forum.
MS Acces is bij vergelijkingen met het '='-teken niet hoofdlettergevoelig. Ik illustreer dat met het volgende voorbeeld.
Je kunt bijvoorbeeld vanuit een ASP-pagina een waarde uit het invulveld vergelijken met een waarde die je vanuit een formulier hebt gepost met de volgende query:
code:
1
2
3
| SELECT GebruikersNaam
FROM tblGebruikers
WHERE GebruikersWachtwoord=@ZoekGebruikersWachtwoord); |
Wat doet deze query? Deze query vergelijkt de vanuit de ASP-pagina verstuurde waarde @ZoekGebruikersWachtwoord met een waarde in de database. Wordt er een zelfde waarde gevonden. dan is het resultaat van de query de betreffende gebruikersnaam. Dit is een eenvoudige query, die prima werkt.
Maar......
Deze query is niet hoofdletter gevoelig. In het geval van een gebruikersnaam is dit niet zo heel erg, maar in geval van bijvoorbeeld een wachtwoord wél! Je kunt dan waarden beter vergelijken met
StrComp. Het voorbeeld ziet er zo als volgt uit:
code:
1
2
3
| SELECT GebruikersNaam
FROM tblGebruikers
WHERE StrComp(GebruikersWachtwoord,[@ZoekLogin],0))=0; |
Deze query is wél hoofdletter gevoeling, omdat er vergeleken wordt op de binaire waarde (de eerste '0' in de query van de waarden in de vergelijking. Als het resultaat van de vergelijking '0' is (de tweede '0' in de query), dan is de vergelijking juist.
Voor meer informatie over strComp kun je kijken in de
MSDN Library.