web-dev-qa-db-fra.com

Suppression du premier caractère d'une chaîne s'il correspond à quelque chose

Je pratique VBA pour Access 2010.

J'ai lu tous les articles suggérés concernant mon article mais je n'ai rien trouvé de spécifique ... Je sais comment déplacer des caractères spécifiques dans une chaîne, mais ce que je ne sais pas, c'est comment je peux supprimer un caractère spécifique qui équivaut à quelque chose.

Je veux déplacer le caractère 1 ou 1- des numéros de téléphone s'il y en a un.

Exemple: 17188888888 à 7188888888 ou 1-7188888888 à 7188888888

J'essaie d'utiliser une instruction if en commençant par supprimer simplement le 1.

Le numéro de téléphone est entré sous forme de chaîne et non de nombre.

C’est ce que j’ai commencé: un message d’erreur me dit que RemoveFirstChar est ambigu.

Public Function RemoveFirstChar(RemFstChar As String) As String
If Left(RemFstChar, 1) = "1" Then
  RemFstChar = Replace(RemFstChar, "1", "")
End If
RemoveFirstChar = RemFstChar
End Function
12
Asynchronous

J'ai testé votre fonction dans Access 2010 et tout fonctionnait bien. Vous pouvez également utiliser ce code:

Public Function RemoveFirstChar(RemFstChar As String) As String
Dim TempString As String
TempString = RemFstChar
If Left(RemFstChar, 1) = "1" Then
    If Len(RemFstChar) > 1 Then
        TempString = Right(RemFstChar, Len(RemFstChar) - 1)
    End If
End If
RemoveFirstChar = TempString
End Function
20
Karel

Il n'y a rien de particulièrement faux avec votre code, le message d'erreur "ambigu" dans ce contexte est très probablement dû au fait que vous avez une autre sous-fonction ou fonction dans un module différent portant le même nom. Rechercher pour trouver le nom en double.

Si vous placez la fonction dans le module appartenant à un formulaire ou à un rapport, il vaut probablement mieux ignorer "Public". Si vous souhaitez que la fonction soit utilisée par plusieurs formulaires, créez un nouveau module qui n'est pas attaché à un formulaire et insérez les fonctions destinées à tous les formulaires et états correspondants.

Il est presque toujours bon de fournir le message d'erreur complet et son numéro d'erreur.

1
Fionnuala