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 :

"Erreur : impossible de trouver le champ 'Forms' " - INSERT INTO


Sujet :

Access

  1. #1
    Membre actif Avatar de Mariboo
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 254
    Points : 238
    Points
    238
    Par défaut "Erreur : impossible de trouver le champ 'Forms' " - INSERT INTO
    Bonjour !

    Alors le problème du jour que je vous propose concerne un Insert Into en VB...
    J'ai un insert into tout bête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    DoCmd.RunSQL "Insert into [LIVRAISON] select [Livraison temporaire].* 
    from [Livraison temporaire];"
    - La table [Livraison temporaire] est strictement identique à [LIVRAISON] ...
    - En parcourant point par point, je vois que dans ma table [Livraison temporaire] j'ai une ligne de données qui correspond bien à la ligne que j'ai entrée dans mon formulaire....

    - CEPENDANT, Access me génère l'erreur suivante :
    Erreur d'execution : Impossible de trouver le champ "Forms" auquel il est fait référence dans votre expression
    Et il me surligne le Insert into ....

    Comprends pas ...

    Si quelqu'un a déjà eu ce genre de problème .. qu'il me fasse signe !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 139
    Points : 113
    Points
    113
    Par défaut
    Et en passant par une boucle ca te fait plus d'erreur ?
    Juste pour savoir si tout marche bien ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    req="select * from [Livraison temporaire]"
    set result=currentDb().openRecordset(req)
    while not result.EOF
         req="insert into livraison values(result.Fields(1), ..........)"
         currentDb().Execute(req)
    result.moveNext
    wend

  3. #3
    Membre actif Avatar de Mariboo
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 254
    Points : 238
    Points
    238
    Par défaut
    En faisant ça, il me surligne en jaune la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    CurrentDb().Execute (req)
    et il me dit : Erreur d'exécution 3000 : Erreur réservée (-1517); aucun message n'est assigné à cette erreur

    j'ai tout écris comme il faut en vérifiant 3 fois ...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 139
    Points : 113
    Points
    113
    Par défaut
    copie moi le code de la requête "req" que tu a écrit juste au dessus de cette erreur stp

  5. #5
    Membre actif Avatar de Mariboo
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 254
    Points : 238
    Points
    238
    Par défaut
    En faisant ça :

    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
     
     
    Set maBd = CurrentDb
    Set requete = maBd.CreateQueryDef("", "Select * from [Livraison temporaire];")
    Set table = requete.OpenRecordset()
    While Not table.EOF
        Dim NLiv As String
        Dim DateLiv As Date
        Dim Trans As Integer
        Dim Palett As String
        Dim NDos As String
        NLiv = table.Fields(0).Value
        DateLiv = table.Fields(1).Value
        Trans = table.Fields(2).Value
        Palett = Nz(table.Fields(3).Value, "")
        NDos = table.Fields(4).Value
        req = "Insert into [LIVRAISON] values ('" & NLiv & "', '" & DateLiv & "', '" & Trans & "', '" & Palett & "', '" & NDos & "');"
        Debug.Print req
        CurrentDb().Execute (req)
        table.MoveNext
    Wend
    J'obtiens ceci au niveau du debug.print :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Insert into [LIVRAISON] values ('BL00001', '26/07/06', '1', '', 'OF00001');
    Donc c'est bien les données que je veux insérer ... mais j'ai ce bug sur la ligne Currentdb().execute => - Erreur d'exécution 3000 : Erreur réservée (-1517); aucun message n'est assigné à cette erreur

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Salut,

    As tu essayer de faire un debug.print de ton SQL, de le coller dans une novelle requete (QBE) et d'executer cette requete ? (voir le tuto de Cafeine sur le debugage des requete en vba ici)

    A+

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 139
    Points : 113
    Points
    113
    Par défaut
    Deaj remplace currentDb() par maDb
    ensuite je pense que c'est les dates qui bugs, elle ne doivent pas être entre côtes mais entre dièses (#)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    req = "Insert into [LIVRAISON] values ('" & NLiv & "', #" & DateLiv & "#, '" & Trans & "', '" & Palett & "', '" & NDos & "');"
    j
    essaye comme ca

  8. #8
    Membre actif Avatar de Mariboo
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 254
    Points : 238
    Points
    238
    Par défaut
    Non ...
    mais arrêtons là les bidouillages !

    ça ne viens ni du format, ni de la syntaxe, ni de rien du tout ! en faisant tout ce que vous m'avez dit et en faisant des tonnnes et des tonnes d'essais j'obtiens toujours la même erreur ... même en l'exécutant en QBE...

    je pense que ça viens de ma table qui a dû s'abimer lors d'un plantage d'access .... je vais la supprimer et le reprendre .. on va bien voir..

  9. #9
    Membre actif Avatar de Mariboo
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 254
    Points : 238
    Points
    238
    Par défaut
    Ben voilà ....

    En supprimant la table Livraison temporaire et en la recréant ça marche ....

    J'aurai dû faire ça depuis le début ...
    c'est simple quand access te prend la tête : supprime et refait tout! et là ça marche !

    C'est vraiment ....

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

Discussions similaires

  1. Erreur : impossible de trouver la macro
    Par hicham1020 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 16/02/2010, 22h52
  2. Réponses: 4
    Dernier message: 29/02/2008, 11h46
  3. Réponses: 0
    Dernier message: 22/02/2008, 15h17
  4. [Erreur]impossible de trouver le fichier de config du moteur
    Par julietteste dans le forum Bases de données
    Réponses: 5
    Dernier message: 10/05/2005, 18h34

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