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

VBA Access Discussion :

Modifier un enregistrement d'une table


Sujet :

VBA Access

  1. #1
    Mou
    Mou est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 69
    Points : 42
    Points
    42
    Par défaut Modifier un enregistrement d'une table
    bonjour,

    Toujours dans le cadre de mon developpement Excel Access.... J'aimerai savoir comment modifier un enregistrement precis dans une table...

    La procedure que j'utilise pour enregister un nouvel enregistrement j'utilise un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .addnew
    .fields("Nom du champs")= Valeur du champs
    .update
    Y a til un moyen de faire pareil pour modifier ?

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    A la place de Addnew utilise Edit. Et va faire un petit tour avec ce tuto pour DAO.

    Starec

  3. #3
    Mou
    Mou est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 69
    Points : 42
    Points
    42
    Par défaut
    Merci Starec.. J ai bien regarder le tutoriel et je pense avoir compris comment on utilise la fonction Edit... Par contre je ne veux modifier qu'un seul enregistrement. Comment selectionner donc dans la table, l'enregistrement à modifier sachant que ma base n'est pas numerotée?

    Merci encore pour votre aide !

    Mou

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Dans ta procédure actuel tu dois ouvrir ton recordset avec OpenRecordset et dedans tu as dut mettre ta table.
    A la place de ta table tu mets une chaine SQL avec une clause Where pour déterminer ton enregistrement.

    Starec

  5. #5
    Mou
    Mou est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 69
    Points : 42
    Points
    42
    Par défaut
    En fait Starec j'ai utilisé un code que tu as proposé dans une autre discussion (recylcage d'idée... mon coté écolo lol).

    Donc voici mon code
    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
     
    Set cn = New ADOB.Recordset
    cn.open "Provider=Microsoft.jet.oledb.4.0;" & "Q;\base\base.mdb"
     
    Set rs = New ADOB.Recordset
    Rs.Open "Portefeuille", cn, adOpenKeyset, adlockOptimistic, adCmdTable
     
    Do Until Rs.EOF
         If RS.Fields("NomCLO")=PositionChoisi then
                With Rs
                      .Edit
                      .Fields("NomCLO")=PositionChoisi
                      .Fields("Prix")= Modification.textbox1
                      .Update
               End with
         End if
        Rs.MoveNext
    Loop
    Moralité... Je pense que je ne sais toujours pas utiliser le Edit lol

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Mou
    En fait Starec j'ai utilisé un code que tu as proposé dans une autre discussion (recylcage d'idée... mon coté écolo lol).
    Tu es sûr que c'est moi, je ne travail quasiment en ADO, mais en DAO.

    Plusieurs points :

    1 - Il s'agit dans ton code de ADO et non de DAO, la méthode Edit n'éxiste pas, il me semble qu'il faut juste enlever la ligne, le update suffit.

    2 - La chaine SQL est à mettre à la place de "Portefeuille".

    Va revoir la technologie sur DAO.

    Starec

  7. #7
    Mou
    Mou est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 69
    Points : 42
    Points
    42
    Par défaut
    Merci Starec ! Ca fonctionne en enlevant simplement le Edit...

    (Quand je parlais du recylcage d'idée je parlais pour la boucle et l'utilisation de RS.EO )


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

Discussions similaires

  1. [MySQL] Mysql - modifier un enregistrement d'une table par un formulaire
    Par stark57 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 11/02/2011, 15h58
  2. [AC-2003] Modifier les enregistrements d'une table avec recordset?
    Par buzz73 dans le forum IHM
    Réponses: 4
    Dernier message: 29/06/2009, 09h54
  3. Comment modifier un enregistrement dans une table ?
    Par pimst37 dans le forum VBA Access
    Réponses: 3
    Dernier message: 21/02/2008, 20h41
  4. [MySQL] modifier les enregistrement d'une table mysql par un formulaire
    Par belakhdarbts10 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/05/2007, 11h09
  5. Réponses: 6
    Dernier message: 05/08/2006, 10h54

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