[Access] Enregistrement dans table liée Outlook !

Enregistrement dans table liée Outlook ! [Access] - SQL/NoSQL - Programmation

Marsh Posté le 19-06-2007 à 10:26:21    

:hello:  
 
Dans mon projet sous access j'ai lié une table de contact partagé qui est à la base dans outlook.
Quand je l'ouvre il y à pas mal de champ dedant et j'ai remarqué que pour que le contact que je veux créer à partir d'un formulaire et enregistrer dans cette table il faut que je remplisse le Champ "Fichier Sous" afin de voir ce champ affiché en en-tête gras sur le contact dans outlook.  
Mais le problème c'est que quand il me crée un contact comme cela à partir de access, dans outlook je le vois bien dans la liste de contact mais c'est un objet Discussion ! et non Contact comme normalement.
 
Quel champ dois-je remplir pour que outlook le considère bien comme un contact et l'affiche en tant que tel svp ?
 
merci :)

Reply

Marsh Posté le 19-06-2007 à 10:26:21   

Reply

Marsh Posté le 19-06-2007 à 14:20:07    

l'enregisterment marche :
 

Code :
  1. Dim myOlApp As New Outlook.Application
  2.    Dim myNameSpace As NameSpace
  3.    Dim myFolder, myFolders, myContactFolder As MAPIFolder
  4.    Dim myNewContact As Outlook.ContactItem
  5.    Set myOlApp = CreateObject("Outlook.Application" )
  6.    Set myNameSpace = myOlApp.GetNamespace("MAPI" )
  7.    Set myFolder = myNameSpace.Folders("Dossiers publics" )
  8.    Set myFolders = myFolder.Folders("Favoris" )
  9.    Set myContactFolder = myFolders.Folders("Contacts logicarch" )
  10.    Set myNewContact = myContactFolder.Items.Add(olContactItem)
  11.    With myNewContact
  12.         .FirstName = Me.sf_contact!CON_PRENOM
  13.         .LastName = Me.sf_contact!CON_NOM
  14.         If Not IsNull(Me.sf_contact!CON_MAIL) Then
  15.             .Email1Address = Me.sf_contact!CON_MAIL
  16.         End If
  17.         .CustomerID = Me.sf_contact!CON_ID
  18.         .BusinessTelephoneNumber = Me.sf_contact!CON_TEL
  19.        
  20.         If Not IsNull(Me.sf_contact!CON_FAX) Then
  21.             .BusinessFaxNumber = Me.sf_contact!CON_FAX
  22.         End If
  23.         If Not IsNull(Me.sf_contact!CON_PORTABLE) Then
  24.             .MobileTelephoneNumber = Me.sf_contact!CON_PORTABLE
  25.         End If
  26.         .CompanyName = Me.SOC_NOM
  27.         If Not (IsNull(Me.sf_contact!CON_ADRESSE1) Or IsNull(Me.sf_contact!CON_ADRESSE2)) Then
  28.              .MailingAddressStreet = Me.sf_contact!CON_ADRESSE1 & " " & Me.sf_contact!CON_ADRESSE2
  29.         End If
  30.         .FileAs = Me.SOC_NOM & "(" & Me.sf_contact!CON_NOM & ", " & Me.sf_contact!CON_PRENOM & " )"
  31.        
  32.         If Not IsNull(Me.sf_contact!CON_VILLE) Then
  33.         .MailingAddressCity = Me.sf_contact!CON_VILLE
  34.         End If
  35.        
  36.         .Save
  37.    End With
  38.     MsgBox "Contact Ajouté"
  39.     Set myOlApp = Nothing

3
 
mais je n'est même pas besoin de lier ma table outlook dans access :)
 
Mais now le problème c'est de ajouter le contact que si il n'y est pas déjà ou sinon le mettre à jour ...  :??:

Reply

Marsh Posté le 19-06-2007 à 16:45:45    

Ca marcheeeee :
Voici mon code si ca peut aider quelqu'un :
Je prend des infos dans un formulaires pour allé chercher le contact à supprimer

Code :
  1. Dim myolApp As New Outlook.Application
  2.    Dim myNameSpace As NameSpace
  3.    Dim myFolder, myFolders, myContactFolder As MAPIFolder
  4.    Dim myNewContact As Outlook.ContactItem
  5.     Dim sFilter As String
  6.     Dim strPrompt As String
  7.    
  8.     sFilter = "[FileAs]= " & Chr(34) & Me.SOC_NOM & "(" & Me.sf_contact!CON_NOM & ", " & Me.sf_contact!CON_PRENOM & " )" & Chr(34)
  9.    Set myolApp = CreateObject("Outlook.Application" )
  10.    Set myNameSpace = myolApp.GetNamespace("MAPI" )
  11.    Set myFolder = myNameSpace.Folders("Dossiers publics" )
  12.    Set myFolders = myFolder.Folders("Favoris" )
  13.    Set myContactFolder = myFolders.Folders("Contacts logicarch" )
  14.    Set myNewContact = myContactFolder.Items.Find(sFilter)
  15.     If Not TypeName(myNewContact) = "Nothing" Then
  16.         strPrompt = "Est-te vous sûre de vouloir supprimer " & Me.sf_contact!CON_CIVILITE & " " & Me.sf_contact!CON_NOM & " " & Me.sf_contact!CON_PRENOM
  17.         If MsgBox(strPrompt, vbYesNo + vbQuestion) = vbYes Then
  18.             myNewContact.Delete
  19.             MsgBox ("Contact Supprimé" )
  20.         End If
  21.     Else
  22.         MsgBox "Le contact doit être créé dans la liste de contact Outlook avant de vouloir le supprimer", vbExclamation
  23.     End If

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed