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 :

Transfert de données entre tables [AC-2016]


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut Transfert de données entre tables
    Bonjour,

    J'essaye de transférer des données d'une table vers une autre table en utilisant ce code que j'ai sur une ancienne base que j'ai adapté selon mes besoins actuels :

    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
    Private Sub Transferer_Click()
    Dim leSQL As String
     
    leSQL = "INSERT INTO [tbl_reglements_bgt] ( ID_reglement, ID_conctrat_fk, [Numero de contrat], Periode, [Compe projet], [Nature monnaie], [CV montant cloture], Montant_reg, Montant_reg_n, [Total reglements]FE/BIG, [Structure ordonnatrice], Nature_reglement, Num_facture, Date_facture,TVA/REG, [Recu le], [Date recep], [Transmise le], [Date trans], [Doc attache], Fournisseur, MontantDev, ItemDeduction, DateArchive ) " & _
    "SELECT [tbl_reglements].ID_reglement, [tbl_reglements].ID_contrat_fk, [tbl_reglements].[Numero de contrat], [tbl_reglements].Periode, [tbl_reglements].[Compte projet], [tbl_reglements].Nature_monnaie, [tbl_reglements].Montant_reg, [tbl_reglements].Montant_reg_n, [tbl_reglements.[Total reglements], [tbl_reglements].FE/BIG, [tbl_reglements].[Structure ordonnatrice, [tbl_reglements].Nature_reglement, [tbl_reglements].Num_facture, [tbl_reglements]. Date_facture, [tbl_reglements].TVA/RG, [tbl_reglements].[Recu le], [tbl_reglements].[Date recep], [tbl_reglements].[Transmise le], [tbl_reglements].[Date trans], [tbl_reglements].[Doc attache], [tbl_reglements].Fournisseur, [tbl_reglements].MontantDev, [tbl_reglements].ItemDeduction, [tbl_reglements] Date() AS DateArchive " & _
    "FROM [tbl_reglements]" & _
    "WHERE (([tbl_reglements].ID_reglement) Not In (select ID_reglement from [tbl_reglement_bgt])) &  "
     
    DoCmd.SetWarnings False
    DoCmd.RunSQL leSQL
    DoCmd.SetWarnings True
     
     
    DoCmd.SetWarnings False
    DoCmd.RunSQL leSQL
    DoCmd.SetWarnings True
    End Sub

    En cliquant sur le bouton rien ne se passe, je me dis que c'est en modifiant le code, du fait l'ancien code supprimait les données de la table source et, franchement je n'arrive pas a résoudre le problème, ni même a l'identifier, cela dit j'ai le message d'erreur suivant :

    Erreur d'execution 3134
    Erreur de syntaxe dans l'instruction INSERT INTO.

    Merci.

    Salutations.

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    à première vue (car le texte du SQL est assez long pour tout vérifier), sans doute à cause de l’esperluette en trop à la fin de la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "WHERE (([tbl_reglements].ID_reglement) Not In (select ID_reglement from [tbl_reglement_bgt])) &  "
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 871
    Points : 3 451
    Points
    3 451
    Par défaut
    Bonjour adelion7015, tee_grandbois,

    À deuxième vue, il semble manquer un espace entre le "From" et le "Where"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "FROM [tbl_reglements]" & _ 'ICI
    "WHERE (([tbl_reglements].ID_reglement)
    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir Robert,
    merci ! (pas eu le courage de tout vérifier ...)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    Je vous remercie pour vos réponse, cela dit, je suis aussi désolé pour mon retard j'ai été absent, pour revenir a ma demande, j'ai procéder aux modifications comme vous me l'avez indiqué, mais le problème subsiste toujours, je poste le code après correction :

    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
    Private Sub Transferer_Click()
    Dim leSQL As String
     
    leSQL = "INSERT INTO [tbl_reglements_bgt] ( ID_reglement, ID_conctrat_fk, [Numero de contrat], Periode, [Compe projet], [Nature monnaie], [CV montant cloture], Montant_reg, Montant_reg_n, [Total reglements]FE/BIG, [Structure ordonnatrice], Nature_reglement, Num_facture, Date_facture,TVA/REG, [Recu le], [Date recep], [Transmise le], [Date trans], [Doc attache], Fournisseur, MontantDev, ItemDeduction, DateArchive ) " & _
    "SELECT [tbl_reglements].ID_reglement, [tbl_reglements].ID_contrat_fk, [tbl_reglements].[Numero de contrat], [tbl_reglements].Periode, [tbl_reglements].[Compte projet], [tbl_reglements].Nature_monnaie, [tbl_reglements].Montant_reg, [tbl_reglements].Montant_reg_n, [tbl_reglements.[Total reglements], [tbl_reglements].FE/BIG, [tbl_reglements].[Structure ordonnatrice, [tbl_reglements].Nature_reglement, [tbl_reglements].Num_facture, [tbl_reglements]. Date_facture, [tbl_reglements].TVA/RG, [tbl_reglements].[Recu le], [tbl_reglements].[Date recep], [tbl_reglements].[Transmise le], [tbl_reglements].[Date trans], [tbl_reglements].[Doc attache], [tbl_reglements].Fournisseur, [tbl_reglements].MontantDev, [tbl_reglements].ItemDeduction, [tbl_reglements] Date() AS DateArchive " & _
    "FROM [tbl_reglements]" & _
    "WHERE (([tbl_reglements].ID_reglement) Not In (select ID_reglement from [tbl_reglement_bgt]))   "
     
    DoCmd.SetWarnings False
    DoCmd.RunSQL leSQL
    DoCmd.SetWarnings True
     
     
    DoCmd.SetWarnings False
    DoCmd.RunSQL leSQL
    DoCmd.SetWarnings True
    End Sub
    Et j'ai toujours le même message d'erreur 3134
    Erreur de syntaxe dans l'instruction INSERT INTO

    tout je surlignant en jaune la ligne suivante :

    Merci.

    Salutations.

  6. #6
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 871
    Points : 3 451
    Points
    3 451
    Par défaut
    Bonjour adelion7015,

    Cette partie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "FROM [tbl_reglements]" & _
    devrait être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "FROM [tbl_reglements] " & _
    C'est à dire un espace après le crochet fermant et avant l'apostrophe.

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  7. #7
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    le jaune sur fond clair n'était pas vraiment utile :
    c'est super à voir, non ? alors qu'il suffisait d'indiquer le n° de ligne de code (la 10, en l'occurrence quand on prévisualise le code ou qu'on lit son message posté). Vous n'utilisez jamais le bouton "Prévisualisation du message" ?

    L'espace entre le nom de la table n'a pas été mis au bon endroit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "FROM [tbl_reglements]" & _   'à mettre ICI
    "WHERE (([tbl_reglements].ID_reglement) Not In (select ID_reglement from [tbl_reglement_bgt]))  " 'et pas là
    [EDIT:] Oups! pardon Robert pour le télescopage des réponses
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  8. #8
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonjour tee_grandbois, bonjour Robert1957

    Je vous l'accorde ou avais je la tête

    le jaune sur fond clair n'était pas vraiment utile
    Sinon, j'ai revu le code pour éventuellement corriger des erreurs syntaxe, de ce coté c'est fait, j'ai aussi corrigé comme vous me l'avez demandé, mais malheureusement j'ai le même message d'erreur, je vous reposte le code après correction.

    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
    Private Sub Transferer_Click()
    Dim leSQL As String
     
    leSQL = "INSERT INTO [tbl_reglements_bgt] ( ID_reglement, ID_contrat_fk, [Numero de contrat], Periode, [Compte projet], [Nature_monnaie], Montant_reg, Montant_reg_n, [Total reglements], FE/BIG, [Structure ordonnatrice], Nature_reglement, Num_facture, Date_facture, TVA/RG, [Recu le], [Date recep], [Transmise le], [Date trans], [Doc attache], Fournisseur, MontantDev, ItemDeduction, ID_Projet, DateTransfert ) " & _
    "SELECT [tbl_reglements].ID_reglement, [tbl_reglements].ID_contrat_fk, [tbl_reglements].[Numero de contrat], [tbl_reglements].Periode, [tbl_reglements].[Compte projet], [tbl_reglements].Nature_monnaie, [tbl_reglements].Montant_reg, [tbl_reglements].Montant_reg_n, [tbl_reglements].[Total reglements], [tbl_reglements].FE/BIG, [tbl_reglements].[Structure ordonnatrice], [tbl_reglements].Nature_reglement, [tbl_reglements].Num_facture, [tbl_reglements].Date_facture, [tbl_reglements].TVA/RG, [tbl_reglements].[Recu le], [tbl_reglements].[Date recep], [tbl_reglements].[Transmise le], [tbl_reglements].[Date trans], [tbl_reglements].[Doc attache], [tbl_reglements].Fournisseur, [tbl_reglements].MontantDev, [tbl_reglements].ItemDeduction, [tbl_reglements].ID_Projet Date() AS DateTransfert " & _
    "FROM [tbl_reglements] " & _
    "WHERE (([tbl_reglements].ID_reglement) Not In (select ID_reglement from [tbl_reglement_bgt])) "
     
    DoCmd.SetWarnings False
    DoCmd.RunSQL leSQL
    DoCmd.SetWarnings True
     
     
    DoCmd.SetWarnings False
    DoCmd.RunSQL leSQL
    DoCmd.SetWarnings True
    End Sub
    La ligne 10 est encore et toujours surligné en jaune.

    Cordialement.

  9. #9
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    en effet ... voilà ce que c'est de ne pas respecter le nommage des champs (utilisation d'un caractère réservé): FE/BIG, TVA/RG à mettre entre crochets.
    et si il y a encore le message 3134, il faudra poster le résultat de Debug.Print leSQL, code à insérer avant la ligne 10
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  10. #10
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    J'ai effectué la correction j'ai le message suivant :

    Erreur d'exécution '3075':

    Erreur de syntaxe (opérateur absent) dans l'expression "[tbl_reglements].ID_Projet Date()"

    Et toujours cette ligne 10 surligné en jaune.

    Ca me joue sur les nerfs

    Encore merci.

    Cordialement

  11. #11
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Re bonjour,

    c'est bon j'ai réussi, il manquait une virgule après ID_Projet et une correction sur le nom de la table cible

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [tbl_reglements].ID_Projet,
    Et le nom de la table tbl_reglements_bgt au lieu de tbl_reglement_bgt.

    Encore merci.

    Bien cordialement.

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

Discussions similaires

  1. [PowerShell] Transfert de donnés entre fichier CSV
    Par DarKZoNe dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 24/01/2013, 19h16
  2. [PPT-2003] transfert de donné entre deux fichier du meme repertoire
    Par yvespi dans le forum VBA PowerPoint
    Réponses: 8
    Dernier message: 04/05/2010, 22h01
  3. Transfert de données entre tables
    Par Meloooo dans le forum Langage
    Réponses: 1
    Dernier message: 10/06/2009, 23h59
  4. transfert de données entre tables
    Par Skizo dans le forum Access
    Réponses: 1
    Dernier message: 11/05/2006, 12h15
  5. transfert de données entre deux tables
    Par student007 dans le forum Access
    Réponses: 4
    Dernier message: 23/12/2005, 13h04

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