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

Access Discussion :

Comment insérer les enregistrements de la table 1 dans la table 2


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Comment insérer les enregistrements de la table 1 dans la table 2
    bonjour a tous et toute

    j'ai deux table presque similaire a l'exeption de quelque champs

    j'aimerais que lorsque des informations son entrée dans la table 1

    les champs identiques de la table 2 soit mis a jour

    merci de votre aide

  2. #2
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    Salut
    Si tes tables sont stockées sur un SGBD (Oracle, MySQL, SQL Server, ...) regargent du côté des triggers ca t'aidera pas mal.
    Sinon si tu es sous Access, la seule solution est de faire une requête qui s'exécutent sur l'évènement AfterUpdate de ton formulaire qui enregistre les infos dans table1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_AfterUpdate()
         currentdb.Execute "UPDATE TAble2 SET Champ1=" & Me.Champ1 & ", Champ2=" & Me.Champ2 & " WHERE Identifiant=" & Me.Identifiant
    end sub
    Bon courage

  3. #3
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut redondance
    Pourquoi ne pas mettre tous les champs dans une même table ?

    sinon créer une requête Mise à jour pour les enregistrements déjà existants suivi d'une requête Ajout pour les nouveaux enregistrements

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    merci beaucoup pour votre aide

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 17
    Points : 13
    Points
    13
    Par défaut copie des enregistrements de la table1 vers la table 2
    bonjour a tous et toute

    j'ai deux table presque similaire a l'exeption de quelque champs

    j'aimerais que lorsque des informations son entrée dans la table 1

    les champs identiques de la table 2 soit mis a jour

    sonic ma donner ce code a entré dans l'évènement AfterUpdate de mon formulaire 1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Form_AfterUpdate()
         currentdb.Execute "UPDATE TAble2 SET Champ1=" & Me.Champ1 & ", Champ2=" & Me.Champ2 & " WHERE Identifiant=" & Me.Identifiant
    end sub

    mais je reçois ce message

    erreur d'execution 3061

    trop peux de paramètre. 1 attendu.

    quelqu'un a t'il une idée

    merci

  6. #6
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    Salut
    Vérifies que les noms de tes champs et le nom de ta table.
    Ensuite si tes champs sont des champs textes ils faut mettre des ''
    Exemple, champ1 est un champ texte et champ2 de type numérique ca donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update table2 set Champ1='" & Me.Champ1 & "', champ2=" & Me.Champ2 WHERE Identifiant=" & Me.Identifiant
    sinon tu peux utiliser une querydef
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Form_AfterUpdate()
    dim qdef as DAO.QueryDef
         set qdef=currentdb.createquerydef("","UPDATE TAble2 SET Champ1=[0], Champ2=[1] WHERE Identifiant=[2]")
         qdef.Parameters("0")=Me.Champ1
         qdef.Parameters("1")=Me.Champ2
         qdef.Parameters("2")=Me.Identifiant
         qdef.Execute
         qdef.close
         set qdef = nothing
    end sub

Discussions similaires

  1. [MySQL] Insérer les valeurs d'un array associatif dans une table mysql
    Par selaoner dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/03/2012, 19h56
  2. Lister les enregistrements qui ne sont pas dans une table
    Par toss.net dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/10/2010, 11h25
  3. Réponses: 2
    Dernier message: 03/02/2007, 15h35
  4. Comment insérer une image venant d'un répertoire dans une table ?
    Par Cazaux-Moutou-Philippe dans le forum WinDev
    Réponses: 2
    Dernier message: 21/10/2006, 22h10
  5. Réponses: 2
    Dernier message: 04/05/2006, 11h34

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