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 :

SQL : Impossible d'atteindre l'enregistrement spécifié


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 58
    Points : 41
    Points
    41
    Par défaut SQL : Impossible d'atteindre l'enregistrement spécifié
    Bonjours,

    Je souhaite copié la valeur d'un champ d'une table A vers une table B avec cette instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    strSQL = "INSERT INTO  Table2  ( ChampTable2 ) & vbCrLf
    strSQL = strSQL & "SELECT Table1.ChampTable1" & vbCrLf
    strSQL = strSQL & "FROM Table1" & vbCrLf
    strSQL = strSQL & "WHERE (((Table1.Champ1)=" & MaVariable & "));"
     
    cnn.Execute strSQL
    cnn.Close
     
    DoCmd.OpenForm "Form_Basé_Sur_Table2"
    Et ce dans le but d'ouvrir un formulaire basé sur la table2.
    Or, l'exécution se déroule bien (les enregistrements sont bien copiés de la table1 vers la table2) mais à l'ouverture du formulaire, j'ai l'erreur :"Impossible d'atteindre l'enregistrement spécifié".
    Est ce que quelqu'un peut me dire ce qui ne va pas. Merci d'avance
    Grizzly, bientôt un Légende Brutale...

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Mai 2004
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 236
    Points : 310
    Points
    310
    Par défaut
    Table1.champ1 est de quel type ?

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    La table et le champ sont de type string, mais comme les enregistrements sont biens copiés vers la table2, je pense que le problème ne vient pas de là (enfin, merci de m'aider quand même)
    Grizzly, bientôt un Légende Brutale...

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Mai 2004
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 236
    Points : 310
    Points
    310
    Par défaut
    Il te manque les ' ' pour indiquer lors de ta requête que Mavariable est de type string essayes ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    strSQL = "INSERT INTO  Table2  ( ChampTable2 ) & vbCrLf 
    strSQL = strSQL & "SELECT Table1.ChampTable1" & vbCrLf 
    strSQL = strSQL & "FROM Table1" & vbCrLf 
    strSQL = strSQL & "WHERE (((Table1.Champ1)= ' " & MaVariable & " '));" 
     
    cnn.Execute strSQL

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Oui, effectivement, mais ce n'est pas ca car encore une fois, lorsque je lance le code, l'instruction SQL est bien réalisée puisque les enregistrements sont biencopiés de la table A vers la table B, l'erreur se produit à l'ouverture du formulaire.

    Merci de ton aide
    Grizzly, bientôt un Légende Brutale...

  6. #6
    Membre averti

    Profil pro
    Inscrit en
    Mai 2004
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 236
    Points : 310
    Points
    310
    Par défaut
    Tu as un code sur l'événement load ou open de "Form_Basé_Sur_Table2" ? Sur quoi est basé ce formulaire ?

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Je n'ai rien de particulier au chargement du formulaire. Celui-ci est basé sur les enregistrements de la table2, donc il ne devrait pas y avoir de problèmes d'ouverture s'il y a des données dans la table2.
    Grizzly, bientôt un Légende Brutale...

  8. #8
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Je viens d'essayer la même chose avec la méthode ADO :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim rst As New ADODB.Recordset
    Dim Enregistrement As Variant
     
    rst.Open "Table2", CurrentProject.Connection, adOpenKeyset, adLockOptimistic, adCmdTable
     
    For Each Enregistrement In Form1.Liste.ItemsSelected
            rst.AddNew
            rst!CHamp2= Form1.Liste.ItemData(Enregistrement)
            rst.Update
    Next IDSaisonnier
     
    rst.Close
     
    DoCmd.OpenForm "Form2_Basé_Sur_Table2"
    Ce code devrait faire la même chose que le précedent, mais lui parvient à ouvrir le formulaire sans erreur. Je ne comprend pas quel est le problème avec le code SQL
    Grizzly, bientôt un Légende Brutale...

  9. #9
    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
    C'était déjà de l'ado ...

    et si tu ouvre ton formulaire sans passer par ton code ?

  10. #10
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Il s'ouvre bien, en utilisant les enregistrements de la table2 (s'il y en a)
    Grizzly, bientôt un Légende Brutale...

  11. #11
    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
    WHERE (((Table1.Champ1)= ' " & MaVariable & " '));"


    Y a quand même des espaces en trop de chauqe coté des '


    Essaye de debuguer et de vérifier le contenu de tes variables, ça évitera ce genre de problème !

  12. #12
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    C'est excat, mais, ce que je ne comprend pas, c'est le code s'exécute correctement, cest à dire que les enregistrements de la table1 sont bien copiés dans la table2, mais c'est seullement à l'ouverture du form que l'erreur se produit
    Grizzly, bientôt un Légende Brutale...

  13. #13
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    maform.requery ?
    Elle est pas belle la vie ?

  14. #14
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Ca ne marche pas mieux.
    J'ai ajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenTable "Table2"
    juste avant d'ouvrir le form et effectivement, il n'y a aucun enregistrements (donc c'est normal que le form ne puisse pas atteindre d'enregistrement) alors que si j'ouvre la table manuellement, les enregistrements sont bien là.
    Grizzly, bientôt un Légende Brutale...

  15. #15
    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
    Et en utilisant DAO plutot ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Currentdb.Execute strSQL

  16. #16
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Effectivement, maintenant ca marche.
    Si quelqu'un peut m'expliquer pourquoi ca ne marchait pas avant, et merci de vous être penché sur mon pauvre cas.
    Grizzly, bientôt un Légende Brutale...

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

Discussions similaires

  1. [AC-2000] Supprimer message : Impossible d'atteindre l'enregistrement spécifié
    Par B-CAB dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/07/2010, 16h52
  2. [AC-2007] Impossible d'atteindre l'enregistrement spécifié.
    Par joeymtl dans le forum IHM
    Réponses: 0
    Dernier message: 26/02/2010, 21h07
  3. Impossible d'atteindre l'enregistrement spécifié
    Par cotmar dans le forum Access
    Réponses: 6
    Dernier message: 17/05/2006, 14h45
  4. Réponses: 2
    Dernier message: 12/05/2006, 18h26
  5. Impossible d'atteindre l'enregistrement spécifié
    Par noname_971 dans le forum Access
    Réponses: 4
    Dernier message: 04/11/2005, 17h48

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