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 :

Ouverture formulaire ne se fait que sur un enregistrement..?


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 49
    Points : 59
    Points
    59
    Par défaut Ouverture formulaire ne se fait que sur un enregistrement..?
    Bonjour,

    je me retrouve confronté à un problème que j'ai cherché à résoudre sur quelques heures déjà, et je commence à y laisser mes cheveux!!!

    Voilà, j'ai un bouton qui ouvre un formulaire, et suivant s'il y a une ligne sélectionnée ou non dans une zone de liste, je fait une ouverture du formulaire avec un filtre (ce qui fonctionne parfaitement), ou sans filtre, et c'est là que ça bloque.

    Il n'y a aucun message d'erreur, en fait, lorsque l'ouverture est filtrée, un seul enregistrement est ouvert dans le formulaire, ce que je peux quantifier grâce à Me.RecordsetClone.RecordCount qui me renvoie bien 1.

    Hors, lorsque l'ouverture n'est pas filtrée, le formulaire ne s'ouvre que sur un seul enregistrement aussi, et toujours le même, càd le premier de la table.

    Hors j'aimerais que l'ouverture non filtrée se fasse sur tous les enregistrements et que la commande Me.RecordsetClone.RecordCount me renvoie un nombre > 1, afin de permettre l'affichage de boutons de navigations qui sont masqué pour l'ouverture filtrée.

    Pour l'ouverture filtrée j'utilise la commande standard :
    DoCmd.OpenForm stDocName, , , stLinkCriteria


    Pour l'ouverture non filtrée :
    DoCmd.OpenForm stDocName

    Est-ce que j'ai loupé quelque chose? J'ai essayé plusieurs autres paramètres de OpenForm, sans résultat, à part AcFormDS qui ouvre le formulaire en feuille de données et où ils apparaissent effectivement tous, mais le mode feuille de données ne m'intéresse pas...

    Merci à vous pour vos idées!

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Juillet 2006
    Messages : 235
    Points : 176
    Points
    176
    Par défaut
    Je ne pense pas que tu aies loupé quelque chose :
    En fait lors de l'ouverture du formulaire, il s'ouvre sur le premier enregistrement il te suffit d'utiliser ta molette (si pas déactivée) pour faire défiler tes enregistrements.

    Est-ce que
    Me.RecordsetClone.RecordCount te renvoie un nombre > 1.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 49
    Points : 59
    Points
    59
    Par défaut
    Non, dans le cas d'une ouverture non filtrée, Me.RecordsetClone.RecordCount me renvoie toujours 1, c'est la loose complète!!!

    Par contre, j'ai découvert une chose, lorsque je passe plusieurs fois le formulaire entre mode création et mode formulaire, Me.RecordsetClone.RecordCount finit par me renvoyer le bon nombre d'enregistrement.

    Par contre, il faut encore que je désactive la molette, mais en mode non filtré, la molette permet de naviguer parmis tous les enregistrements comme souhaité, malgré Me.RecordsetClone.RecordCount qui retourne 1...

    Je dois désactiver la molette car j'ai du code associé aux boutons de navigation, suivant la valeur d'un contrôle, certains contrôles sont verrouillés ou non...

    Mais ça m'a permi de voir que malgré le Me.RecordsetClone.RecordCount qui renvoie 1, tous les enregistrements sont accessibles....

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Juillet 2006
    Messages : 235
    Points : 176
    Points
    176
    Par défaut
    Comme je le pensais tu recuperes bien tous les enregistrements lorsque tu ne filtres pas tes informations.
    Il faut maitenant que lorsque tu as plusieurs enregistrements afiicher les boutons de navigation.
    Pour cela, si le Me.RecordsetClone.RecordCount ne fonctionne pas à chaque fois essaye ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Set cop = CurrentDb.OpenRecordset("Tarequete")
    While Not cop.EOF
    boucle= boucle+1
      cop.MoveNext
    Wend
    Set cop = Nothing
    et tu fais le test avec boucle.

    PS : peux tu mettre ton code.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 49
    Points : 59
    Points
    59
    Par défaut
    Salut, merci pour cette solution, mais je vais me rabattre sur une autre solution, c'est à dire que je vais utiliser une variable globale que je passerai à True ou à False avant l'ouverture du formulaire, et pendant le chargement du formulaire, un simple test If then suffira....

    Je voulais éviter d'utiliser des variables globales, mais pour faire au plus simple, c'est ce qu'il y a de mieux...

    Merci en tout cas pour vos réponses!

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Juillet 2006
    Messages : 235
    Points : 176
    Points
    176
    Par défaut
    OK bon courage pour la suite

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/03/2010, 16h44
  2. Réponses: 3
    Dernier message: 16/02/2006, 16h58
  3. ouverture du formulaire sur nouvel enregistrement
    Par azde7015 dans le forum IHM
    Réponses: 3
    Dernier message: 14/02/2006, 19h39
  4. pb d affichage d un champs sur ouverture formulaire
    Par student007 dans le forum Access
    Réponses: 3
    Dernier message: 16/11/2005, 22h55
  5. Ouverture formulaire sur enregistrement precis
    Par mat_lefebvre dans le forum IHM
    Réponses: 7
    Dernier message: 11/10/2004, 15h37

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