Bonjour à tous,
Je souhaiterais parcourir une base de donnée (Pervasive), trouver un contact particulier dans cette base (par exemple Nom = MARTIN) et créer un contact Outlook en récupérant les informations dans la base.
Pour ce faire j'utilise les classe CDatabase et CRecordset ainsi que le modèle objet de Outlook.
Voici mon code (qui n'est pas encore complet) :
Donc je recherche le contact dont le chef de service est "Bouli", tout marche bien seulement ma table contient 3 contacts, le 2eme contact est celui que je veux créer. Tout fonctionne jusqu'à ce que la ligne en rouge génère une erreur (à l'exécution) lors de l'accès au dernier contact de la table.
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 //On parcourt la table pour trouver le contact que l'on veut créer sous Outlook while (!spRecordSetContact.IsEOF()) { if(strcmp((const char *)spRecordSetContact.m_ChefSv.Trim(), "Bouli") == 0) { CContactItem NewContact; CUserProperties NewContactProperties = NewContact.get_UserProperties(); AfxMessageBox(_T("Création en cours...")); NewContact.put_LastName(CString(spRecordSetContact.m_NomCnt.Trim())); NewContact.put_Email1Address(CString(spRecordSetContact.m_MelCnt.Trim())); //CUserProperty NewField = NewUserProperties.Add(_T("CodTie"), 1, vVariant, vDisplay); //1 = Type Text //NewContact.Save(); //On sauvegarde le nouveau contact //spItem.Add(); } spRecordSetContact.MoveNext(); }
Je ne comprend pas d'où cela peut venir car je parcourt ma table avec le même type de boucle un peu plus haut dans mon programme et cela fonctionne parfaitement.
Si quelqu'un a une idée.
Merci.
Partager