0
votes

Syntaxe correcte pour le filtre URN

pouvez-vous m'aider à rédiger une demande correcte pour MAPI / SQL dans VBA / VBS?

J'ai besoin de rechercher un e-mail de l'expéditeur avec un astérisque, c'est-à-dire Joseph.The.First@hismail.com -> used filter *The*@hismail.com

J'ai été inspiré par le code de ce que j'ai trouvé sur Microsoft ou ici sur Stackflow

strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:from LIKE" & " = *The*"

Cet exemple ci-dessus fonctionne pour les e-mails dont le sujet contient un croquis. Ensuite, j'ai modifié le schéma URN en -> urn:schemas:httpmail:sentitems

Et le code final est

strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:subject" & Chr(34) & " like '%sketch%'"

Ne fonctionne pas, rien trouvé dans le dossier de boîte aux lettres actuel.


0 commentaires

3 Réponses :


0
votes

Il s'agit d'une requête non valide: il vous manque des guillemets simples autour de la valeur et vous utilisez également LIKE et = en même temps. Essayer

@SQL="urn:schemas:httpmail:from" LIKE '*The*' 


0 commentaires

0
votes

Merci. La requête SQL fonctionne généralement en VBA, mais quelque chose ne va pas uniquement dans la syntaxe "from". Remarque. J'ai testé des e-mails avec l'objet et l'expéditeur (de) dans des dossiers de messagerie. Donc, la syntaxe correcte devrait trouver.

1) Comme exemple de travail , je l'utilise pour la recherche par sujet de l'e-mail

strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:sender" & Chr(34) & " like '*The*'"

2) Comme exemple non fonctionnel , j'utilise ceci pour rechercher par expéditeur d'e-mail Cette syntaxe VBA acceptée mais trouve 0 e-mails.

strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:from" & Chr(34) & " like '*The*'"

ou

strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:from" & Chr(34) & " like '%The%'"

ou

strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:subject" & Chr(34) & " like '%TestSubject%'"


0 commentaires

0
votes

Essaye ça...

Filter = "@SQL=urn:schemas:httpmail:fromemail Like '%joe%'"

Alternativement ...

Filter = "@SQL=urn:schemas:httpmail:fromemail Like '%joe@someaddr.com%'"

Cela a fonctionné pour moi.


0 commentaires