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 :

Problème de syntaxe SQL INSERT INTO IN [AC-2010]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2022
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2022
    Messages : 140
    Par défaut Problème de syntaxe SQL INSERT INTO IN
    Bonjour

    Je galère depuis un bon moment avec un ..... de pb de syntaxe
    et ne trouve rien de clair sur le net

    Le but de mon code :
    J'ouvre une base
    Je fais une recherche : un formulaire lié à une table s'ouvre = un enregistrement de cette table est visible
    Je lance une commande pour copier cet enregistrement dans une table identique dans une autre base

    Sélection bdd de destination : OK
    Ouverture bdd de destination : OK
    Mais pas moyen de copier l'enregistrement courant dans la base de destination,
    j'ai toujours, soit une erreur de syntaxe sur le sql (monsql) ou "la clause de la requête est incomplète"

    Je n'arrive pas à voir où est l'erreur, et peut-être, faut-il faire autrement ?

    Merci beaucoup si vous pouvez m' éclairer

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    Private Sub GhostCopyOtherBDD_DblClick(Cancel As Integer)
     
     
    Dim dbDest As Access.Application
     
    Dim fDialog As Office.FileDialog
    Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
     
    Dim varFile, varPath As Variant
    Dim NomDest As String
     
    With fDialog
     
        .AllowMultiSelect = False
        .Title = "Selectionnez la base de destination."
        .Filters.Clear
        .Filters.Add "Bases Access", "*.accdb"
        .Filters.Add "Bases Access", "*.mdb"
     
     
        If .Show = True Then
     
            varFile = .SelectedItems(1)
            'varPath = .InitialFileName
     
            Set dbDest = CreateObject("Access.Application")
     
                With dbDest
     
                    .OpenCurrentDatabase varFile
                    .Visible = False
     
                    MsgBox "Base courante : " & CurrentDb.Name
                    MsgBox "Base destination : " & varFile
     
                    monsql = "INSERT INTO TabGen.* IN " & varFile & " SELECT TabGen.* FROM TabGen WHERE TabGen.affectation = '" & Me.Affectation & "' AND TabGEN.dateCrea = #" & Me.DateCrea & "#"
                    DoCmd.RunSQL monsql
     
                    .Quit
     
                End With
     
        Else
     
            Exit Sub
     
        End If
     
    End With
     
     
    End Sub

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 137
    Par défaut
    Bonjour,

    En l'absence de boule de cristal, d'entrailles de poulet et autre matériel divinatoire, le plus simple serait que tu communiques, au minimum, le résultat de ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "INSERT INTO TabGen.* IN " & varFile & " SELECT TabGen.* FROM TabGen WHERE TabGen.affectation = '" & Me.Affectation & "' AND TabGEN.dateCrea = #" & Me.DateCrea & "#"
    Après et seulement après on pourra te donner des pistes.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2022
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2022
    Messages : 140
    Par défaut
    désolé si je n' ai pas été clair

    Je veux copier l'enregistrement d'une table (TabGen) de la base ouverte dans la Table TabGen d' une autre base préalablement sélectionnée (varFile)
    Cet enregistrement est celui visible dans le formulaire lié et ouvert - d'où la condition WHERE avec 2 paramètres(Me.Affectation et Me.DateCrea)

    Nom : Erreur3450.jpg
Affichages : 80
Taille : 11,5 Ko

  4. #4
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2022
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2022
    Messages : 140
    Par défaut
    Voila !

    La bonne syntaxe est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "INSERT INTO TabGen IN '" & varFile & "' SELECT TabGen.* FROM TabGen WHERE TabGen.affectation = '" & Me.Affectation & "' AND TabGEN.dateCrea = #" & Me.DateCrea & "#"
    corrigé grâce à un post de Tee_Grandbois de 2017 !

    https://www.developpez.net/forums/d1...t/#post9625412

    donc merci Tee_Grandbois !

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

Discussions similaires

  1. Problème syntaxe SQL - INSERT INTO si n'existe pas
    Par namrekan dans le forum Langage SQL
    Réponses: 7
    Dernier message: 22/04/2020, 19h46
  2. [XL-2010] Syntaxe Requete SQL (INSERT INTO)
    Par John Mc Evee dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/08/2019, 22h51
  3. Syntaxe requete SQL insert into dans VBA
    Par @rkane dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 12/12/2006, 22h03
  4. Multiplier les And dans Sql Insert Into
    Par samlepiratepaddy dans le forum Requêtes et SQL.
    Réponses: 17
    Dernier message: 23/09/2005, 21h55
  5. erreur SQL ...INSERT INTO
    Par naidinp dans le forum ASP
    Réponses: 20
    Dernier message: 18/09/2003, 11h38

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