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 :

champs calculé donne erreur si nouvel enregistrement


Sujet :

IHM

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 312
    Points : 155
    Points
    155
    Par défaut champs calculé donne erreur si nouvel enregistrement
    Bonsoir,

    Dans un formulaire j'ai un champs calculé que me renvoie le nombre de machines avec une equipement spécale. Ca fonctionne très bien sur le records qui sont rempli, mais quand j'arrive à une nouvelle encodage, le champs affice #Erreur.
    Le code dans ce champs est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =nz([tblMachines sous-formulaire].[Formulaire]![Hoeveelheid])
    Pourquoi ceci ne fonctionne pas?

    Merci pour vos remarques.

    Hans

  2. #2
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 591
    Points
    3 591
    Billets dans le blog
    8
    Par défaut
    Saut
    J'ai de la peine à comprendre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [tblMachines sous-formulaire].[Formulaire]![Hoeveelheid]
    .
    j'ai l'habitude de voir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    formulaires!nomformulaire!nomchamp
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    forms!nomformulaire!nomchampcontenantsourformulaire.form!nomchampsdans sousformulaire
    Mais pour remédier à ton problème tu peux passer par un fonction declarée "public", dans un module indépendant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public function mafonction() as variant
    on error resume next
    dim mavariable
    mavariable=[tblMachines sous-formulaire].[Formulaire]![Hoeveelheid]
    mafonction=mavariable
    end function
    Et ton champs aura comme source "=mafonction()"

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 312
    Points : 155
    Points
    155
    Par défaut
    Bonsoir,

    Merci pour ton idee. Seulement, je ne suis pas très à l'aise avec ces genres d'opération.

    J'ai encodé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Function NulVoorkomen() As Variant
    On Error Resume Next
    Dim mavariable
    mavariable = Forms!frmMachines![frmMachines sous-formulaires].[Formulaire]![Hoeveelheid]
    NulVoorkomen = mavariable
    End Function
    Est-ce que c'est comme ça qu'on doit appeler un control dans une sous formulaire?

    Maintenant je n'ai plus d'erreur, mais plus résultat non plus.

    Sous sourcecontrol j'appele donc ma fonction sans les " ". Est-ce que c'est correct?

    Hans

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 369
    Points : 19 771
    Points
    19 771
    Billets dans le blog
    65
    Par défaut
    Salut,

    ton champs [Hoeveelheid] dans ton sous formulaire c'est un champs calculé ?
    si oui c'est quoi exactement comme champ calculé ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 312
    Points : 155
    Points
    155
    Par défaut
    Bonsoir,

    Oui, effectivement c'est un champ calculé. Via un Sql dans la source du Formulaire je soustrait d'un table Machines les champs Platform et Hoeveelheid (donc Qte) et je fait une Somme sur Hoeveelheid.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT tblMachines.Platform, Sum(tblMachines.Hoeveelheid) AS SommeDeHoeveelheid FROM tblMachines GROUP BY tblMachines.Platform HAVING (((tblMachines.Platform)=[Formulaires]![frmMachines]![lstPlatform]));
    avec donc comme condition que la Platform est celui qui 's-affiche dans le formulaire principale.

    H.

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 369
    Points : 19 771
    Points
    19 771
    Billets dans le blog
    65
    Par défaut
    Tu peux enregistrer le sql de ton sous form dans une requête ("TaRequete") et après utiliser la fonction rechercheDom sur ton champs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RechDom("SommeDeHoeveelheid";"TaRequete";"Platform='" & [Platform] & "'")
    A+

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 312
    Points : 155
    Points
    155
    Par défaut
    Merci bcp.

    Comme ceci ça marche impèc. Je ne comprends pas encore pourquoi, mais le résultat est là.

    Merci encore;

    Hans

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

Discussions similaires

  1. Champ calculé et #Erreur
    Par Shades dans le forum IHM
    Réponses: 11
    Dernier message: 25/02/2012, 10h16
  2. Réponses: 2
    Dernier message: 15/07/2008, 16h47
  3. Report de données dans un nouvel enregistrement
    Par Loumi_69 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 10/05/2008, 19h01
  4. Reporter une donnée sur un nouvel enregistrement
    Par aouregan dans le forum Access
    Réponses: 3
    Dernier message: 18/01/2007, 17h09
  5. Réponses: 1
    Dernier message: 01/08/2006, 09h36

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