[vb6 sp6] problemen met LIKE operator

Pagina: 1
Acties:

  • DPLuS
  • Registratie: April 2000
  • Niet online
Ik heb het volgende stukje code om te controleren of strCell_Name ongeldige karakters bevat:

Visual Basic:
1
2
3
ElseIf strCell_Name Like "*[!0-9A-Za-z._-&+/#*() ]*" Then
                Call ErrorInName("Ongeldige karakters gedetecteerd in de naam! Alleen 0-9 A-Z a-z . _ - & + / # * ( ) toegestaan!", strCell_Name, strCell_Tel, strCell_VK)
                Exit Sub


Dus mijn programma kijkt of er andere karakters in staan dan:
0 t/m 9, A t/m Z, a t/m z,
punt, underscore, koppelteken, ampersand, plus-teken, slash, hekje, asterisk en haakjes.
Zo ja, dan volgt een foutmelding.

Maar deze code werkt niet, ik krijg de volgende melding:

Fatal Error: 93 - Invalid Pattern String

Volgens mij ligt het aan dit stukje:
"*[!0-9A-Za-z._-&+/#*() ]*"

Want als ik alleen dit doe lukt het wel:
"*[!0-9A-Za-z._ ]*"

Wat gaat er mis?

Verwijderd

Wat voor een database gebruik je? Gebruik je Access dan moet je meen ik geen * maar % of ? gebruiken.

  • DPLuS
  • Registratie: April 2000
  • Niet online
Verwijderd schreef op 01 juli 2004 @ 15:44:
Wat voor een database gebruik je? Gebruik je Access dan moet je meen ik geen * maar % of ? gebruiken.
De Like-operator is gewoon iets van VB, geen SQL.

Maarreh, ik heb nu de volgende code:

code:
1
2
3
ElseIf strCell_Name Like "*[!0-9A-Za-z._&+/()' -][!#][!*]*" Then
                Call ErrorInName("Ongeldige karakters gedetecteerd in de naam! Alleen 0-9 A-Z a-z . _ - & + / # * ( ) toegestaan!", strCell_Name, strCell_Tel, strCell_VK)
                Exit Sub


En in principe werkt het nu, want dit levert FALSE op:
fd._&+/() -#*

Maar dit levert TRUE op en dat moet niet:
fd._&+/() -#*#*

Dus dat hekje en asterisk geval mogen gewoon meerdere malen voorkomen...

Wat kan ik nog doen?

  • DPLuS
  • Registratie: April 2000
  • Niet online
Nou ja, ik heb het al gevonden, deze constructie mag schijnbaar gewoon:

code:
1
ElseIf strCell_Name Like "*[![#][*]0-9A-Za-z._&+/()' -]*" Then