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 :

UPDATE une table


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Gestionnaire de base de données
    Inscrit en
    Mars 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Gestionnaire de base de données

    Informations forums :
    Inscription : Mars 2018
    Messages : 6
    Points : 3
    Points
    3
    Par défaut UPDATE une table
    Bonjour à tous
    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
    19
    Dim mabase as Database 
    Dim journ as recordset
    dim action as string 
    dim Modif as variant
     
        set mabase =currentdb
        set journ =mabase.Openrecordset("journal")
     
        Modif=Me!DEBUT
        camp=Me!CAMP_ID 
        tete=Me!HEAD
        user=Me!user
        action="UPDATE drill_log set DEBUT ="& Modif &" where CAMP_ID="& camp &" and HEAD='"& tete &"' "
        with journ 
            .addnew
            .fields(2)= action
            .UPDATE
        END with 
    end sub
    mon code après execution affiche l'erreur que la cle primaire ne peut pas être vide merci pour votre lecture

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    En fait, l'instruction AddNew ajoute un nouvel enregistrement au jeu que tu as définit dans ton recordset
    Hors, je pense que tu souhaites mettre à jour une donnée d'un enregistrement existant.
    Ton Code devrait plutôt etre :

    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
    19
    20
    21
    22
    23
    24
    25
    Dim mabase as Database 
    Dim journ as recordset
    dim action as string 
    dim Modif as variant
     
        set mabase =currentdb
        set journ =mabase.Openrecordset("journal")
     
        Modif=Me!DEBUT
        camp=Me!CAMP_ID 
        tete=Me!HEAD
        user=Me!user
        action="UPDATE drill_log set DEBUT ="& Modif &" where CAMP_ID="& camp &" and HEAD='"& tete &"' "
     
        With DoCmd
            ' Désactive les messages système
            . SetWarnings False
            ' Execute la requete de mise à jour
            . RunSql action
            ' Réactive les message système
            . SetWarnings True
            ' Sauvegarde l'enregistrement modifié
            . RunCommand acCmdSaveRecord
        End With 
    end sub
    Bonne continuation
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  3. #3
    Candidat au Club
    Homme Profil pro
    Gestionnaire de base de données
    Inscrit en
    Mars 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Gestionnaire de base de données

    Informations forums :
    Inscription : Mars 2018
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci M. Jeannot pour la réponse mais j'ai exécute ton sa change toute les ligne debut de ma table.Ne changement ne se limite pas à une seule ligne. Merci pour la reponse encore

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Il faudrait vérifier les valeurs de tes critères dans ta commande Sql
    Je veux parler des variables Camp et Tete qui ne sont pas déclarées

    D'autre part, il manque des espaces dans ta syntaxe SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    action="UPDATE drill_log SET DEBUT = " & Modif & " WHERE CAMP_ID= " & camp & " AND HEAD= '" & tete & "' "
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

Discussions similaires

  1. updater une table avec un select distinct d'une autre
    Par SpaceFrog dans le forum Requêtes
    Réponses: 1
    Dernier message: 19/10/2009, 19h28
  2. [AC-2002] Updater une table par rapport à une autre
    Par thierryakaguy dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 29/07/2009, 17h48
  3. VB2005] Update une table à partir d'une autre
    Par Herlece dans le forum Windows Forms
    Réponses: 1
    Dernier message: 17/01/2008, 18h44
  4. Réponses: 2
    Dernier message: 13/12/2007, 15h02
  5. [C#/ADO.NET] Comment Updater une table via Datagrid ?
    Par Pierre_45 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 06/07/2006, 11h40

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