[Access] Fonction de module VBA dans requete

Bonjour,
J'ai 2 tables contenant des numeros de téléphone que je voudrais comparer. Dans les 2 tables il s'agit de champ de type texte. Mais dans l'une les numéros sont de la forme " 00 00 00 00 00 " et dans l'autre "00000000".
J'ai crée une fonction SupprEspace dans un module VBA. Comment l'appeler dans ma requete pour que je puisse comparer ces champs?
Je suis evidemment ouvert à d'autres procédés si ils sont plus simples ou fonctionnent.

Merci.

a+
dje-dje

Il y a 10 types de personne dans le monde,
ceux qui comprennent le binaire et les autres 

7 réponses

  1. Salut,

    Soit en utilisant le generateur d'expression ou en tapant directement le nom de la fonction dans ta requete SQL :
    SELECT supprEspacePerso([Numeros]![NUMERO]) AS Expr1
    FROM Numeros;

    DaNot
    un Libre ouvert à la source ...
    1. Modérateur
      Merci de ton aide.
      Maintenant je n'ai plus d'erreur qd j'appelle ma fonction dans ma requete.
      MAIS! Helas, il y a un "mais"...

      J'ai procédé ainsi:
      Dans ma requete j'ai rajoute un champ:
      Tel_Conv = SupprEspace ( [MaTable].[MonTel] )

      Mais quand j'execute ma requete, il n'y a pas de changement.
      J'ai modifié le code de ma fonction SupprEspace de cette facon:

      Function SupprEspace ( S As String )
      SupprEspace = 2
      End Function

      A l'execution, mes numéros de tel sont inchangés alors qu'ils devraient tous etre à "2". Ou alors, il y a un truc que je ne pige pas...

      Merci

      a+
      dje-dje

      Il y a 10 types de personne dans le monde,
      ceux qui comprennent le binaire et les autres 
      1. Il faut utiliser plutot :
        SELECT ..., SupprEspace ( [MaTable].[MonTel] )  as Tel_Conv, ...
        FROM ...;

        Access aurait du planter et afficher un msg d'erreur non?

        DaNot
        un Libre ouvert à la source ...
        1. Modérateur
          Merci de ton aide.
          J'ai eudeux-trois trucs à faire ces derniers jours et je n'ai pas pu revenir.
          Mais j'ai avancé de mon côté.

          Donc je me suis fait une table de test avec 2 fonctions de test.
          1 qui Supprime les espaces, l'autre qui renvoit "A".
          Les 2 fonctionnent (ont l'effet souhaité)dans un formulaire.
          Seule celles qui renvoit "A" fonctionne dans une requete...
          Là, j'en perd mon latin...

          Encore merci de ton aide.

          a+
          dje-dje

          Il y a 10 types de personne dans le monde,
          ceux qui comprennent le binaire et les autres 
          1. Modérateur
            Pour info, si je renomme ma fonction en "Toto ", ca fonctionne...
            Pourquoi, si j'utilise un mot réservé, le compilateur ne me l'indique pas?

            a+
            dje-dje

            Il y a 10 types de personne dans le monde,
            ceux qui comprennent le binaire et les autres 
            1. salut dje dje je realise un porojet un peu du mm style que toi et je suis perdu pourrais tu m'aider ??
              g aussi 2 tables que je veux comparer un peu dans ton style tu es d'accord pour me rendre service??

              merci
              1. Modérateur
                J'ai rien contre mais je n'ai pas retouché a Access depuis l'epoque du sujet (Ca va faire donc 2 ans). Rien ne t'empeche de creer un nouveau poste et de mettre un lien vers ce nouveau post dans celui-ci

                a+
                dje-dje