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

Requêtes et SQL. Discussion :

INSERT INTO = au bord du gouffre [AC-2000]


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 20
    Points : 15
    Points
    15
    Par défaut INSERT INTO = au bord du gouffre
    Bonjour à tous,

    Je travaille actuellement sur une base de données ACCESS.
    Je cherche à renseigner les champs d'une table crée au préalable et vide (ne comporte que les colonnes nommées).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    On Error Resume Next
    Err.Clear
    Set db = CurrentDb
    Set qry = db.CreateQueryDef
    qry.Name = ""
    qry.SQL = "INSERT INTO TAB * FROM [JANVIER FAX SWIFT] WHERE [ORD_FUND_CODE,   char]= " & presents(i) & ""
     
    'les requetes sont les memes mais ecrites differement
    'qry.SQL = "INSERT INTO TABLE1 [JANVIER FAX SWIFT].[ORD_FUND_CODE,   char],[JANVIER FAX SWIFT].[ORD_ID,   numeric],[JANVIER FAX SWIFT].[ST_LIBELLE,   char],[JANVIER FAX SWIFT].[ORD_FILE_REF,   char],[JANVIER FAX SWIFT].[ORD_SEND_MODE,   char],[JANVIER FAX SWIFT].[ORD_REF,   char],[JANVIER FAX SWIFT].[ORD_FUND_CODE,   char],[JANVIER FAX SWIFT].[ORD_PAYS_DEPOT,   char] FROM [JANVIER FAX SWIFT] WHERE [ORD_FUND_CODE,   char]= " & presents(i) & ""
    qry.Execute
     
    Next i
    l'execution ne présente aucune erreur. Mais la table TABLE1 n'est pas modifiée.
    Présent(i) est en fait un tableau qui contient des variables qui me permettent de faire les requêtes.

    Si quelqu'un a une idée pour sauver une ame...


    Cdt
    Drama

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Votre champ s'appelle réellement : [ORD_FUND_CODE, char]= ?

    Utilisez qry.Execute dbFailOnError pour voir les erreurs.

    La syntaxe est INSERT ... INTO ... SELECT * FROM, il vous manque donc le SELECT

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Bonjour, et merci pour votre réponse.

    J'ai bien corrigé la syntaxe de la requête en ajoutant le SELECT.
    De plus j'ai ajouté le paramètre dbFailOnError.

    Mais rien n'y fait, j'ai toujours une éxécution sans débug, et aucune modification dans ma table TAB.

    Et oui un des champs de ma table est bien [ORD_FUND_CODE, char]

    si vous avez d'autres suggestions...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Et ça ne va certainement pas aider. Mais j'ai essayer de modifier la requete en la remplaçant par un
    "DELETE * FROM TAB"

    Et les champs que j'avais ajouté manuellement on bien été effacés.

    Donc j'imagine que mon problème vient bien de ma requête INSERT INTO .

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 261
    Points : 19 424
    Points
    19 424
    Billets dans le blog
    63
    Par défaut
    Slt,

    Tu peux nous donner le sql modifié avec le Insert into ?

    Cdt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    For i = 1 To 50
     
    On Error Resume Next
    Err.Clear
    Set db = CurrentDb
    Set qry = db.CreateQueryDef
    qry.Name = ""
    qry.SQL = "INSERT INTO TAB SELECT * FROM [JANVIER FAX SWIFT] WHERE [ORD_FUND_CODE,   char]= " & presents(i) & ""
    'qry.SQL = "INSERT INTO TAB SELECT [JANVIER FAX SWIFT].[ORD_FUND_CODE,   char],[JANVIER FAX SWIFT].[ORD_ID,   numeric],[JANVIER FAX SWIFT].[ST_LIBELLE,   char],[JANVIER FAX SWIFT].[ORD_FILE_REF,   char],[JANVIER FAX SWIFT].[ORD_SEND_MODE,   char],[JANVIER FAX SWIFT].[ORD_REF,   char],[JANVIER FAX SWIFT].[ORD_FUND_CODE,   char],[JANVIER FAX SWIFT].[ORD_PAYS_DEPOT,   char] FROM [JANVIER FAX SWIFT] WHERE [ORD_FUND_CODE,   char]= " & presents(i) & ""
    qry.Execute , dbFailOnError
     Next i
    NB : la deuxième requête qry ne fonctionne pas non plus

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 261
    Points : 19 424
    Points
    19 424
    Billets dans le blog
    63
    Par défaut
    Re,

    Ton curieux champ [ORD_FUND_CODE, char] est du type texte ?

    Si oui essaie avec les quotes ('...'):

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE [ORD_FUND_CODE,   char]= '" & presents(i) & "'"


    D'autre part tu peux faire la même chose en 1 requête après la boucle avec un

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    "WHERE [ORD_FUND_CODE,   char] In " & Listepresents


    ou Listepresents contients la liste des presents(1),...,presents(50)
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    C'est en effet un type texte.
    Les champs contiennent à la fois des Lettres de des chiffres.

    J'ai effacé les parametres que j'avais mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    On Error Resume Next
    Err.Clear
    et j'obtiens bien une erreur !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    For i = 1 To 50
     
    'On Error Resume Next
    'Err.Clear
    Set db = CurrentDb
    Set qry = db.CreateQueryDef
    qry.Name = ""
    qry.SQL = "INSERT INTO TAB SELECT * FROM [JANVIER FAX SWIFT] WHERE [ORD_FUND_CODE,   char]= '" & presents(i) & "'"
    'qry.SQL = "INSERT INTO TAB SELECT [JANVIER FAX SWIFT].[ORD_FUND_CODE,   char],[JANVIER FAX SWIFT].[ORD_ID,   numeric],[JANVIER FAX SWIFT].[ST_LIBELLE,   char],[JANVIER FAX SWIFT].[ORD_FILE_REF,   char],[JANVIER FAX SWIFT].[ORD_SEND_MODE,   char],[JANVIER FAX SWIFT].[ORD_REF,   char],[JANVIER FAX SWIFT].[ORD_FUND_CODE,   char],[JANVIER FAX SWIFT].[ORD_PAYS_DEPOT,   char] FROM [JANVIER FAX SWIFT] WHERE [ORD_FUND_CODE,   char]= '" & presents(i) & "'"
    qry.Execute , dbFailOnError
     
    Next i
    Le debug est au niveau du qry.execute

    dbFailOnError =128
    Argument non valide

  9. #9
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 261
    Points : 19 424
    Points
    19 424
    Billets dans le blog
    63
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qry.Execute dbFailOnError
    enlève la virgule...
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Oh je suis vraiment une bille...

    Ca marche ! et ça fonctionne bien !

    Merci à vous pour votre aide.

    Ps: pourquoi trouviez vous ce champ curieux? ( [ORD_FUND_CODE, char] )

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/10/2006, 14h28
  2. probleme clé sequentiel avec insert into
    Par shake dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/06/2004, 15h54
  3. probleme d'INSERT INTO et JavaScript
    Par Matlight dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/03/2004, 15h36
  4. erreur SQL ...INSERT INTO
    Par naidinp dans le forum ASP
    Réponses: 20
    Dernier message: 18/09/2003, 11h38
  5. Insert Into + Date
    Par BoeufBrocoli dans le forum SQL
    Réponses: 10
    Dernier message: 13/08/2003, 11h23

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