IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

filtrer des contacts Outlook


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de yochima
    Profil pro
    Inscrit en
    Août 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 93
    Par défaut filtrer des contacts Outlook
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Private Sub SuppressionUtilisateur2(ByVal myDataTable As DataTable)
            dossierContacts = myDefaultFolder.Folders("Gedo")
     
            'On créé un filtre qui contient tout les ID_CONTACT à supprimer
            sFilter = ""
            For i As Integer = 0 To myDataTable.Rows.Count - 1
                If (i = 0) Then
                    sFilter += "Not([CustomerID] = '" + myDataTable.Rows(i).Item("ID_CONTACT").ToString + "')"
                Else
                    sFilter += " And Not([CustomerID] = '" + myDataTable.Rows(i).Item("ID_CONTACT").ToString + "')"
                End If
            Next
            'On supprime les contacts trouvés
            myListOfContact = dossierContacts.Items
            myNewContact = myListOfContact.Find(sFilter)
            While Not (myNewContact Is Nothing)
                'les contact sans id sont des contact créé a la main
                'Donc on les garde
                If (TypeName(myNewContact.CustomerID) <> "Nothing") Then
                    myNewContact.Delete()
                End If
                myNewContact = myListOfContact.FindNext()
            End While
        End Sub
    sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     myNewContact = myListOfContact.Find(sFilter)
    j'ai l"erreur :
    Condition non valide.
    ça fait un moment que je tourne autour, il doit presque rien manquer.
    Merci de votre aide

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Par défaut
    Ca m'a l'air tiré par les cheveux ton truc...

    Je suis pas persuadé que la fonction Find soit approprié pour faire ton filtre (Y a pas un truc du genre "Sort".

    Peut être plus simple avec une collection (tableau, liste, etc) contenant les références à traiter (Que tu remplis avec Linq ou autres méthodes selon tes compétance). Puis tu parcours cette collection pour effectuer le traitement (la suppression dans ton cas)

    Enfin quoi qu'il en soit ton erreur provient surement d'une erreur d'interprétation de la string "sFilter". Il faut donc analyser la valeur de cette variable lors de l'erreur pour résoudre ton problème.

  3. #3
    Membre confirmé Avatar de yochima
    Profil pro
    Inscrit en
    Août 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 93
    Par défaut
    Bonjour Sinople,

    Si j'utilise la méthode Find c'est parce que sur les objets ContactItem de Outlook elle est très conseillée ^^

    par exemple,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sFilter = "[CustomerID] = '" + id_contact + "'"
    me retourne une liste de contact ayant pour "customerID" ma variable.

    J'ai vu qu'on pouvait utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Not([CustomerID] = '" + id_contact + "'")
    (qui retourne ma liste de contact qui n'ont pas le CustomerID de mon choix)
    et des conditions Il me semble qu'on ne peut pas faire plus optimiser quand au choix de la méthode

    je n'arrete pas de regarder le contenu de mon sfilter pour voir le probleme mais le soucis c'est que je connais mal cette syntaxte du
    Not
    j'espérais que quelqu'un du forum la connaissant me corrige la syntaxe

    Cordialement
    Yochima

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Par défaut
    Peux-être que la syntaxe des filtres pour cette objet est particulière.

    Mais poster un exemple de ton filtre qui marche pas simplifierait ta demande.

  5. #5
    Membre confirmé Avatar de yochima
    Profil pro
    Inscrit en
    Août 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 93
    Par défaut
    Excuse moi, tu as tout à fait raison.

    voici a quoi ressemble mon sfilter une fois plein :

    Not([CustomerID] = '1') And Not([CustomerID] = '2') And Not([CustomerID] = '5') And Not([CustomerID] = '6')

    je vais continuer de chercher et vous mettrais au courant
    a+

  6. #6
    Membre confirmé Avatar de yochima
    Profil pro
    Inscrit en
    Août 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 93
    Par défaut
    Alors j'ai une explication à mon problème -_-

    le sfilter est limité à 600 caractères !!!

    j'ai fait des test. il bloquait sur un ID = 23. du coup j'ai coupé mon sfilter a l'id 22 et ça marche !
    j'en est fait un autre a partir du 23 et ça marche !

    ça fait vraiment sâle
    je vais chercher un moyen de ne faire qu'un seul sfilter.

    a+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Importer des contacts Outlook à partir d'une requête
    Par pbeaubien dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 14/06/2010, 20h56
  2. [Requête][07] Requête ajout dans la table liée des contacts outlook
    Par vianneyfournel dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 22/12/2008, 09h34
  3. Importation des Contacts Outlook filtrés par Catégorie.
    Par tAKAmAkA dans le forum VBA Access
    Réponses: 0
    Dernier message: 15/05/2008, 02h01
  4. supprimer la mise en cache des contacts outlook 2000
    Par valoche51_2 dans le forum Outlook
    Réponses: 1
    Dernier message: 27/03/2008, 17h02
  5. Réponses: 8
    Dernier message: 23/01/2007, 21h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo