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 Nom ? dans contrôle formulaire.


Sujet :

Access

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 660
    Points : 165
    Points
    165
    Par défaut Erreur Nom ? dans contrôle formulaire.
    Bonsoir,

    Lorsque j’ouvre mon formulaire je détruis la requête temporaire qui sert de source et j’en crée une autre avec son Sql.
    Mais si après avoir fermé le formulaire j’ouvre un autre formulaire conçue de la même façon les champs ont pour valeurs «Nom ? » et lorsque j’ouvre à nouveau ce formulaire mes données s’affichent correctement.

    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
     
    '--- Suppression de la requête temporaire
    If TesteExistenceRequete("rqt Temporaire Impression") Then
    CurrentDb.QueryDefs.Delete "rqt Temporaire Impression"
    StrSQL = "SELECT [tbl Adhérents].*, [tbl Adhérents].Départ " & 
    "FROM [tbl Adhérents] " & _
    "WHERE ((([tbl Adhérents].Départ)=False));"
    Set qdf2 = CurrentDb.CreateQueryDef("rqt Temporaire Impression", strSQL)
    Else
    '--- Création requête temporaire
    strSQL = "SELECT [tbl Adhérents].*, [tbl Adhérents].Départ " & _
    "FROM [tbl Adhérents] " & _
    "WHERE ((([tbl Adhérents].Départ)=False));"
    Set qdf2 = CurrentDb.CreateQueryDef("rqt Temporaire Impression", strSQL)
    End if
    Merci de votre aide.

    Salutations

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Je n'ai pas bien compris. Mais sais-tu qu'on peut aussi modifier une requête plutôt que de l'effacer et de la re-créer?

    pgz
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  3. #3
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Moi non plus je comprends pas bien.
    Tu as un formulaire A et un formulaire B.
    Le code que tu montres appartient au formulaire A.
    Le formulaire B affiche "? Nom" tant que le formulaire A est fermé.
    Le formulaire B s'affiche correctement tant que A est ouvert.

    "? Nom" c'est que la source du contrôle n'est pas un nom de champ de la source de données du formulaire.

    Est-ce que le formulaire B utilise la même requête comme source de données ?
    Si oui peut-être que le formulaire A détruit la requête en se fermant.

    Bon courage

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 660
    Points : 165
    Points
    165
    Par défaut
    Bonsoir pgz,

    Oui mais je ne sais pas faire.

    Peut-tu stp me donner un exemple.

    Salutations

  5. #5
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Voila un exemple de code sans détruire la requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    strSQL = "SELECT [tbl Adhérents].*, [tbl Adhérents].Départ " & _
    "FROM [tbl Adhérents] " & _
    "WHERE ((([tbl Adhérents].Départ)=False));"
    
    If TesteExistenceRequete("rqt Temporaire Impression") Then
       '  Si requête exite on modifie le SQL
       Set qdf2 = CurrentDb.QueryDefs("rqt Temporaire Impression")
       qdf2.SQL = strSQL
    Else
       '  sinon on crée la requête
       Set qdf2 = CurrentDb.CreateQueryDef("rqt Temporaire Impression", strSQL)
    End If
    Set qdf2 = Nothing
    A+

  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 660
    Points : 165
    Points
    165
    Par défaut
    Bonsoir LedZeppII,

    Le formulaire A et B ont le même code avec un strSQL différent.

    Lorsque j'ouvre le formulaire A j'efface la source "rqt Temporaire Impression" et je crée une nouvelle source "rqt Temporaire Impression" et ça fonctionne correctement.

    Puis je ferme le formulaire A et j'ouvre le formulaire B donc j'efface et je crée la source "rqt Temporaire Impression" et là les champs ont pour valeurs #Nom? Je ferme le formulaire B que j'ouvre aussitôt et ça fonctionne correctement.

    Si je reviens au formulaire A c’est correct. Et si j’ouvre de nouveau le formulaire B après le formulaire A même problème #Nom?

    Salutations

  7. #7
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,
    Le formulaire A et B ont le même code avec un strSQL différent.
    Les deux formulaires ont la même requête comme source de donnée, mais le source SQL change.
    Je pense que le problème se situe là.
    J'ai essayé de recréer la situation pour voir ce qui se passait.

    Après ton code qui change le contenu de la requête "rqt Temporaire Impression" ajoutes ces deux lignes pour voir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Me.RecordSource = Me.RecordSource  ' simule un changement sur RecordSource pour que Requery fontionne
    Me.Requery
    Bonne continuation
    PS: Bravo pour l'exposé du pb en couleur.

  8. #8
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Citation Envoyé par LedZeppII
    ...
    PS: Bravo pour l'exposé du pb en couleur.
    Oui mais -1 pour le multipost
    http://www.developpez.net/forums/sho...d.php?t=151046
    Pour le reste je ne comprends pas le principe de simulation pour
    que le requery fonctionne (la question est sérieuse...)
    Je ne comprends rien à Access...Mais je me soigne.
    Moteur de recherche
    DAO

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 660
    Points : 165
    Points
    165
    Par défaut
    Bonjour Faw,

    L'erreur est humaine, et il me semble que je me suis excusé sur le forum après mettre fait rappeler à l'ordre.

    Salutations

  10. #10
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 660
    Points : 165
    Points
    165
    Par défaut
    Bonjour LedZeppII ,

    Ok ça marche et merci.

    Une dernière question : pourquoi préférer la mise à jour de la rqt plutôt que la suppression ?

    Bon dimanche.

    Salutations

  11. #11
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,
    Citation Envoyé par jmde
    pourquoi préférer la mise à jour de la rqt plutôt que la suppression ?
    Les deux solutions fonctionnent. C'est une question de préférences à mon avis.
    Citation Envoyé par Faw
    Pour le reste je ne comprends pas le principe de simulation pour
    que le requery fonctionne (la question est sérieuse...)
    Jusque à présent je n'ai utilisé Requery sur un formulaire qu'après avoir modifié RecordSource.
    Je ne me suis jamais posé de question.
    Mais si RecordSource=Requête et qu'on modifie le source de la requête, Requery ne fait rien.
    Peut-être y a-t-il une propriété Dirty cachée pour le recordSource ?

    A+

  12. #12
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Salut à vous deux,
    jmde,
    il s'agissait plus d'une boutade à l'encontre de LedZep qu'autre
    chose ...

    LedZep, oki je vois ce que tu voulais dire. Il est vrai que l'aide sur
    requery n'est pas évidente à cerner dans tous ses points...

    Je ne comprends rien à Access...Mais je me soigne.
    Moteur de recherche
    DAO

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

Discussions similaires

  1. [AC-2003] Erreur #nom? dans formulaire
    Par jm6570 dans le forum IHM
    Réponses: 2
    Dernier message: 30/01/2012, 14h04
  2. erreur #Nom ? dans sous formulaire
    Par enrone dans le forum IHM
    Réponses: 0
    Dernier message: 29/11/2009, 16h52
  3. code erreur #nom dans formulaire
    Par valerie02 dans le forum IHM
    Réponses: 15
    Dernier message: 23/08/2007, 23h17
  4. recuper ,affcher nom dans nouveau formulaire
    Par jokenjo dans le forum IHM
    Réponses: 3
    Dernier message: 04/06/2007, 16h25
  5. Réponses: 1
    Dernier message: 04/05/2006, 08h20

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