Access 2016. Controle op invoer ongeldige leestekens in formulier.

Status
Niet open voor verdere reacties.
Code:
Public Function DiakritischeTekensVerwijderen(strRegel As String)
    DiakritischeTekensVerwijderen = StrConv(StrConv(strRegel, vbFromUnicode, 1032), vbUnicode)    '1032 is de LCID voor grieks
End Function

converteert
"ŠŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðñòóôõöùúûüýÿ"
naar
"SZszYAAAAAACEEEEIIIIDNOOOOOUUUUYaaaaaaceeeeiiiidnooooouuuuyy"

Je hoeft nu alleen nog maar iets te verzinnen voor ongewenste leestekens.
 
Ik weet niet of dat nou zoveel gaat helpen; TS geeft nergens aan dat diakrieten niet mogen. Hij heeft het over specifieke tekens die moeten worden verijdeld.
 
Ik heb, omdat diakrieten best lastig zijn, de code een beetje aangepast zodat nu ook de uitgebreide ASCII set wordt gecontroleerd. Dan krijg je deze functie:
Code:
Function CheckTekst(lttr As String) As Boolean
    Select Case Asc(lttr)
        Case 48 To 57, 65 To 90, 97 To 122
            CheckTekst = True
        Case 32, 40, 41, 45, 46, 95
            CheckTekst = True
        Case 138, 142, 154, 158, 159
            CheckTekst = True
        Case 192 To 197
            CheckTekst = True
        Case 199 To 214
            CheckTekst = True
        Case 217 To 221
            CheckTekst = True
        Case 224 To 229
            CheckTekst = True
        Case 231 To 246
            CheckTekst = True
        Case 249 To 253
            CheckTekst = True
        Case Else
            CheckTekst = False
    End Select
End Function
Die pakt dus ook alle tekens mee uit de voorbeeldstring van Alphamax.
 
Helaas lukt het niet om het voorbeeldbestand toe te voegen. De site geeft een foutmelding dat het een ongeldig bestand is. Ik heb het bestand ook ingepakt (ZIP) doch met dezelfde foutmelding. Ik gebruik u maar, hoe mooi je code ook is, de versie van JohanRVT. Deze had ik al getest en geïnstalleerd. Nogmaals bedankt voor je hulp en inzet.
Het voorbeeldbestand slaat trouwens de ingevoerde tekst en de ongeldige tekens in de tabel op. Er wordt geen foutmelding gegeven maar ook geen afwijzing van de ongeldige tekens.
 
Het voorbeeldbestand slaat trouwens de ingevoerde tekst en de ongeldige tekens in de tabel op. Er wordt geen foutmelding gegeven maar ook geen afwijzing van de ongeldige tekens.
En dat is ook de bedoeling? Want dan lijkt het mij een overbodige actie...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan