Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 15/08/2011, 19h52   #1
Futur Membre du Club
 
Pierre Bernier
Inscription : mai 2010
Messages : 41
Détails du profil
Informations personnelles :
Nom : Pierre Bernier

Informations forums :
Inscription : mai 2010
Messages : 41
Points : 19
Points : 19
Par défaut commande AddNew (ADODB.Recordset)

Bonjour, j'ai la "table1" suivante dans Access :

Champ1 - Champ2 - Champ3
--- 2 ------- 8 ------ 3
--- 4 ------- 9 ------ 2
--- 0 ------- 2 ------ 9

Je voudrais pouvoir modifier le chiffre 9 de la table1 à l'aide d'une macro Excel, mais j'ai une erreur que je ne réussi pas à résoudre lors l'exécution de la ligne 17. Merci de m'aider.

Voici mon code :
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
Sub test1()
     Dim dbfullname As String
     dbfullname = "C:\Users\hbc87\Desktop\testimportexcel.mdb"
     Dim cn As ADODB.Connection, rs As ADODB.Recordset, intColIndex As Integer
    Set cn = New ADODB.Connection
    cn.Open "Provider=Microsoft.jet.OLEDB.4.0; Data Source=" & _
        dbfullname & ";"
 
    Set rs = New ADODB.Recordset
 
    With rs
        rs.Open "SELECT Champ2 FROM Table1 ", cn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
        MsgBox rs.Fields("Champ2")
        rs.Move (1)
        MsgBox rs.Fields("Champ2")
        rs.Fields("Champ2") = "nouvelle_valeur"
        'rs.AddNew "Champ2", "nouvelle_valeur"
        rs.Update
    End With
    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing
End Sub
hbc87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 16h52   #2
Membre éclairé
 
Homme Michel
Développeur informatique
Inscription : février 2008
Messages : 261
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : février 2008
Messages : 261
Points : 304
Points : 304
Par défaut Proposition (ACCES 2003)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub Test()
Dim rs As Recordset
Dim StrSql As String
 
    Set rs = New ADODB.Recordset
    StrSql = "SELECT * FROM Table1"
    rs.Open StrSql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    If Not rs.EOF Then
        With rs
            Do While Not .EOF
                If !Champ1 = "9" Then !Champ1 = "Nouvelle valeur"
                If !Champ2 = "9" Then !Champ2 = "Nouvelle valeur"
                If !Champ3 = "9" Then !Champ3 = "Nouvelle valeur"
                .Update
                .MoveNext
            Loop
        End With
        rs.Close
    End If
    Set rs = Nothing
End Sub
Cordialement,
Michel
Orion34080 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 09h10.


 
 
 
 
Partenaires

Hébergement Web