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

IHM Discussion :

NZ ne fonctionne pas dans mon formulaire


Sujet :

IHM

  1. #21
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour,

    Lorsqu'il nous faut reprendre des données sur le formulaire principal depuis un sous-formulaire, il faut accepter qu'il nous est imposé de prévoir :
    1. Le calcul dans le sous-formulaire peut être => Erreur
    2. Ce sous-formulaire peut être vide.
    Le calcul du sous formulaire doit obligatoirement indiquer une valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux(IsError([TonChampAsoucis]);0;[TonChampAsoucis])
    Ceci vient en + de TonChampAsoucis et va s'appeler => TonChampAsoucisB
    Le formulaire principale ne connait que => TonChampAsoucisB

    Pour savoir si le sous formulaire est vide il nous est possible de recourir à diverses solutions. Soit :
    => Me.MonSousFormulaire.Form.RecordsetClone.RecordCount > 0
    Ou
    => DCount("*", "table ou requête source du sous-formulaire") > 0

    Diverses discussions se retrouvent sur le sujet.
    Cordialement.

  2. #22
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Ok, si le iif(isError()) ne marche pas (au passage le 'iif' qui devient vrai/faux c'est normal, Access traduit les fonctions en français).

    Il ne te reste que le VBA.

    essaye cela : dans ton sous formulaire sur l'événement OnLoad (Au chargement) ou sur OnOpen (Sur ouverture).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if me.recordset.recordcount=0 then
         me.NomTonChampTotal.ControlSource="=0"
       else
         me.NomTonChampTotal.ControlSource="=Sum([Total Acompte])"
    end if
    il faudra peut-être aussi ajouter un me.recalc ou un me.refresh après.

    A+

  3. #23
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 115
    Points : 274
    Points
    274
    Par défaut
    Merci pour ta réponse, en toute logique ça devrait marcher !! Je te tiens au courant...

    Bon week end

  4. #24
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 115
    Points : 274
    Points
    274
    Par défaut
    Suite :

    Marche pas !!!

    Ta méthode marche car le total s'effectue bien tant qu'il y a des lignes dans le SF, mais dès qu'il n'y a aucune ligne ça marque tjs erreur.
    D'autre part si je mets un recalc, une boucle se met en place et finit par planter Access (2010).
    C'est pourtant classique de cacher des champs dans une application !

    Que faire ?.

  5. #25
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour,
    Citation Envoyé par clickandgo Voir le message
    Que faire ?.
    Une solution possible : Envoyer une base avec les Forms incriminés.

    Cordialement.

  6. #26
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 115
    Points : 274
    Points
    274
    Par défaut
    J'ai trouvé une solution !!!!

    Comme le calcul ne pouvait se faire car le champ contenu dans l'expression n'était pas toujours actif dans le SF, j'ai utilisé la fonction SomDom précédée d'un NZ avec 0, tout marche impec ! Plus aucun problème !!!

    Merci à tous en tous cas !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/12/2010, 12h01
  2. Réponses: 5
    Dernier message: 14/07/2010, 06h26
  3. [MySQL] insert into ; ne fonctionne pas dans mon form
    Par gastoncs dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/07/2010, 16h22
  4. stop() ne fonctionne pas dans mon animation
    Par edzodzinam dans le forum Flash
    Réponses: 1
    Dernier message: 03/07/2009, 12h43
  5. Réponses: 4
    Dernier message: 11/09/2006, 17h46

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