[Access] Fonction de module VBA dans requete

dje-dje Messages postés 10417 Date d'inscription   Statut Modérateur Dernière intervention   -  
dje-dje Messages postés 10417 Date d'inscription   Statut Modérateur Dernière intervention   -
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

DaNot Messages postés 221 Date d'inscription   Statut Membre Dernière intervention   163
 
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 ...
0
dje-dje Messages postés 10417 Date d'inscription   Statut Modérateur Dernière intervention   758
 
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 
0
DaNot Messages postés 221 Date d'inscription   Statut Membre Dernière intervention   163
 
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 ...
0
dje-dje Messages postés 10417 Date d'inscription   Statut Modérateur Dernière intervention   758
 
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 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dje-dje Messages postés 10417 Date d'inscription   Statut Modérateur Dernière intervention   758
 
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 
0
aurelie
 
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
0
dje-dje Messages postés 10417 Date d'inscription   Statut Modérateur Dernière intervention   758
 
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
0