Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/08/2006, 10h45   #1
Futur Membre du Club
 
Inscription : août 2006
Messages : 46
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 46
Points : 17
Points : 17
Par défaut [Débutant] Mettre a jour une base access depuis Word

Bonjour,

Je souhaite depuis un courrier Word, ouvrir ma base Access, y ajouter un enregistrement et mette à jour ce dernier avec des variables saisies par un utlisateur dans un courrier Word (pour info, je ne peux changer la procédure ci-dessus qui est imposée par un traitement non modifiable).

Est-ce possible et si oui comment faire ?

Je n'ai pas trouvé la réponse dans les FAQs, mais dans la mesure où je viens juste de découvrir ce site, peut-être rien d'étonnant.

Merci de votre aide
pat04 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2006, 22h22   #2
Rédacteur
 
Homme michel Tanguy
Inscription : août 2005
Messages : 3 317
Détails du profil
Informations personnelles :
Nom : Homme michel Tanguy
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : août 2005
Messages : 3 317
Points : 10 706
Points : 10 706
bonsoir

tu pourrais utiliser une procedure de ce type :


Code :
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
26
27
28
29
30
31
Sub exportDonnees_Word_Vers_Access()
    'ajoute un enregistrement dans une table Access
    'necessite d'activer la reference
    'Microsoft ActiveX Data Objects x.x Library
    Dim Conn As ADODB.Connection
    Dim rsT As ADODB.Recordset
    Dim maTable As String
 
    Set Conn = New ADODB.Connection
    Set rsT = New ADODB.Recordset
 
    maTable = "Table1"
 
    With Conn
        .Provider = "Microsoft.JET.OLEDB.4.0"
        .Open "C:\MaBase_V01.mdb"
    End With
 
    With rsT
        .ActiveConnection = Conn
        .Open maTable, LockType:=adLockOptimistic
        .AddNew
        .Fields("Nom").Value = "Nom10"
        .Fields("PrixUnit").Value = 666
        .Fields("Matricule").Value = 12345
        .Update
    End With
 
    rsT.Close
    Conn.Close
End Sub

reste à comment l'utilisateur saisie les données afin d'adapter ces 3 lignes:


Code :
1
2
3
        .Fields("Nom").Value = "Nom10"
        .Fields("PrixUnit").Value = 666
        .Fields("Matricule").Value = 12345


bonne soiree
michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2006, 09h44   #3
Futur Membre du Club
 
Inscription : août 2006
Messages : 46
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 46
Points : 17
Points : 17
Citation:
Envoyé par SilkyRoad
bonsoir

tu pourrais utiliser une procedure de ce type :


Code :
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
26
27
28
29
30
31
Sub exportDonnees_Word_Vers_Access()
    'ajoute un enregistrement dans une table Access
    'necessite d'activer la reference
    'Microsoft ActiveX Data Objects x.x Library
    Dim Conn As ADODB.Connection
    Dim rsT As ADODB.Recordset
    Dim maTable As String
 
    Set Conn = New ADODB.Connection
    Set rsT = New ADODB.Recordset
 
    maTable = "Table1"
 
    With Conn
        .Provider = "Microsoft.JET.OLEDB.4.0"
        .Open "C:\MaBase_V01.mdb"
    End With
 
    With rsT
        .ActiveConnection = Conn
        .Open maTable, LockType:=adLockOptimistic
        .AddNew
        .Fields("Nom").Value = "Nom10"
        .Fields("PrixUnit").Value = 666
        .Fields("Matricule").Value = 12345
        .Update
    End With
 
    rsT.Close
    Conn.Close
End Sub

reste à comment l'utilisateur saisie les données afin d'adapter ces 3 lignes:


Code :
1
2
3
        .Fields("Nom").Value = "Nom10"
        .Fields("PrixUnit").Value = 666
        .Fields("Matricule").Value = 12345


bonne soiree
michel
bonjour,

je te remercie pour le code communiqué, j'ai mis en pratique, ça marche nickel et en plus c'est totalement transparent pour les utilisateurs.

Merci encore

Patrick
pat04 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h21.


 
 
 
 
Partenaires

Hébergement Web