OVH Cloud OVH Cloud

Calcul à partir d'un champ qui n'existe pas !

6 réponses
Avatar
Paul Florent
Bonjour à tous

J'ai un formulaire principal F_Tiers
et un sous-formulaire en mode Ajout non autorisé SF_Factures
En-tête du sous-formulaire, j'ai un champ calculé TotalFactures
=Somme([MontantFactures])
dans le formulaire principal F_Tiers, j'ai un champ CA qui devrait renvoyer
la valeur du champ total factures
CA =[SF_Factures].[Formulaire]![TotalFactures].

Tout va bien quand il y a des factures, mais quand il n'y a pas de facture,
le champ du sous-formulaire TotalFactures est vide
mais le champ CA retourne #Erreur
Existe t'il un moyen d'obtenir 0
quand il n'y a pas d'enregistrements dans le sous-formulaire en mode Ajout
non autorisé ?
Merci par avance pour votre aide

Paul

6 réponses

Avatar
argyronet
Bonjour,

Vous pouvez mettre une condition avec un IIf()
IIf(IsNull([SF_Factures].[Formulaire]![TotalFactures]);0;=[SF_Factures].[Formulaire]![TotalFactures])

Argy
--
Retrouver mes tutoriels sur www.Developpez.com

Ce qui donne son sens à la communication, c''est la réponse que l''on
obtient.
Si vous n''obtenez pas la réponse voulue, communiquez différemment



Bonjour à tous

J'ai un formulaire principal F_Tiers
et un sous-formulaire en mode Ajout non autorisé SF_Factures
En-tête du sous-formulaire, j'ai un champ calculé TotalFactures
=Somme([MontantFactures])
dans le formulaire principal F_Tiers, j'ai un champ CA qui devrait renvoyer
la valeur du champ total factures
CA =[SF_Factures].[Formulaire]![TotalFactures].

Tout va bien quand il y a des factures, mais quand il n'y a pas de facture,
le champ du sous-formulaire TotalFactures est vide
mais le champ CA retourne #Erreur
Existe t'il un moyen d'obtenir 0
quand il n'y a pas d'enregistrements dans le sous-formulaire en mode Ajout
non autorisé ?
Merci par avance pour votre aide

Paul





Avatar
Paul Florent
Argy,
Avec un iif(), ça ne marche pas
(j'ai aussi essayé avec un Nz() )
parce que le sous-formulaire est en mode Ajout non autorisé
et le champ TotalFactures calcul un champ qui n'existe pas dans la sous
formulaire
si il n'y a pas d'enregistrements.

A+ peut être pour une autre solution et merci quand même
Paul
Avatar
Eric
Bonjour,

As tu essayé en source du contrôle CA:
=VraiFaux([SF_Factures].Formulaire.Recordset.RecordCount>0;[SF_Factures].Formulaire![TotalFactures];0)
?

Bonjour à tous

J'ai un formulaire principal F_Tiers
et un sous-formulaire en mode Ajout non autorisé SF_Factures
En-tête du sous-formulaire, j'ai un champ calculé TotalFactures
=Somme([MontantFactures])
dans le formulaire principal F_Tiers, j'ai un champ CA qui devrait renvoyer
la valeur du champ total factures
CA =[SF_Factures].[Formulaire]![TotalFactures].

Tout va bien quand il y a des factures, mais quand il n'y a pas de facture,
le champ du sous-formulaire TotalFactures est vide
mais le champ CA retourne #Erreur
Existe t'il un moyen d'obtenir 0
quand il n'y a pas d'enregistrements dans le sous-formulaire en mode Ajout
non autorisé ?
Merci par avance pour votre aide

Paul




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Samuel PICHON
Et une fonction du genre :

Function nulltozero(stuff As Variant) As Variant
If IsNull(stuff) Then
nulltozero = 0
Else
nulltozero = stuff
End If

End Function

"Paul Florent" a écrit dans le message de news:
43416913$0$306$
Argy,
Avec un iif(), ça ne marche pas
(j'ai aussi essayé avec un Nz() )
parce que le sous-formulaire est en mode Ajout non autorisé
et le champ TotalFactures calcul un champ qui n'existe pas dans la sous
formulaire
si il n'y a pas d'enregistrements.

A+ peut être pour une autre solution et merci quand même
Paul



Avatar
Domi
Bonjour,

Regarde peut-être ici, cela a résolu mal mal de mes petits soucis.

http://www.mvps.org/accessfr/forms/frm0022.htm

Bonne journée.

Domi


Et une fonction du genre :

Function nulltozero(stuff As Variant) As Variant
If IsNull(stuff) Then
nulltozero = 0
Else
nulltozero = stuff
End If

End Function

"Paul Florent" a écrit dans le message de news:
43416913$0$306$
Argy,
Avec un iif(), ça ne marche pas
(j'ai aussi essayé avec un Nz() )
parce que le sous-formulaire est en mode Ajout non autorisé
et le champ TotalFactures calcul un champ qui n'existe pas dans la sous
formulaire
si il n'y a pas d'enregistrements.

A+ peut être pour une autre solution et merci quand même
Paul








Avatar
Paul Florent
Grand'merci à Domi pour cette excellente et précieuse fonction

Function NNz(testvalue As Variant) As Variant
'Not Numeric retourne zéro
If Not (IsNumeric(testvalue)) Then
NNz = 0
Else
NNz = testvalue
End If
End Function

Merci à tous ceux qui m'ont apporté leur contribution
Paul