Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/05/2008, 00h42   #1
Candidat au titre de Membre du Club
 
Inscription : août 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 94
Points : 14
Points : 14
Par défaut Changer le #erreur par 0

Coucou la room

un petit message bien tardif mais je reche, je recherche et je ne trouve pas

voila dans un formulaire j'ai un sous formulaire que contient des données d'une table

il me restitu bien mes données lorsque celles ci st rentrées
par exemple je vais bien voire toutes la liste de pommes avec leur prix.

Sur le formulaire maître, j'ai un champs "TOTAL PRIX "qui additionne tous ces prix.

mais, quand il n'y a pas d'enregistrement il me met #erreur

comment puis je contourner ce petit truc car comme j'ai automatisé mon formulaire, lorsqu'il passe sur un nom qui ne possede pas d'enregistrement il me demande de debogger

merci de votre aide

bisous a tous célia
UDSP50 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2008, 02h42   #2
Membre Expert
 
Inscription : mars 2006
Messages : 1 331
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 1 331
Points : 1 460
Points : 1 460
Bonsoir,

On peut traiter à l'aide d'une fonction :
Code :
1
2
3
4
5
6
7
8
9
Function PasErreur(n As Variant) As Variant
  On Error GoTo Trap
  PasErreur = n
  Exit Function
Trap:
  PasErreur = 0
  Resume Next
  Exit Function
End Function
Ne pas oublier, dans bien des cas la fonction NZ nous évite des soucis :
http://www.developpez.net/forums/sho...d.php?t=389900

Cordialement.
__________________
Questions techniques par MP
Le peu que je sais, c'est à mon ignorance que je le dois.
...............................................................................Sacha Guitry
francishop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2008, 12h03   #3
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 661
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 661
Points : 6 228
Points : 6 228
Envoyer un message via MSN à argyronet
Bonjour,

Inutile de passer par VBA...
Tu poses un champ caché qui lève l'erreur volontairement dans ton sous-formulaire :
Par exemple :
et tu nomme ce champ tmpTxtTotal (...)
Dans ton champ visible, tu écris:
Code :
=IIf(IsError([tmpTxtTotal]); 0; [tmpTxtTotal])
Argy
__________________
Ils comptent sur vous...

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.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2008, 16h07   #4
Candidat au titre de Membre du Club
 
Inscription : août 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 94
Points : 14
Points : 14
je ne sais pas pourquoi mais cela ne marche pas

comme il n'y a pas d'enregistremments dans mon champs [Texte01] de calcul cela marque et c'est normal #Erreur

Et comme une fonction sur clic fait reference à ce champ en disant par exemple :

Code :
1
2
3
4
5
6
7
8
9
 
If Texte01.Value > 0 Then
    Image01.Width = Texte01.Value * 56
    Texte01.Visible = True
    Étiquette49.Visible = True
    End If
If Texte01.Value > 100 Then
    Image01.Width = 100 * 56
End If
ben le probleme c'est que cela génère un bug alors je pense que le mieux serait de forcer le champs Texte01 si en #Erreur alors = 0

mais je n'y arrive pas

avez vous une idée

grand merci

Célia
UDSP50 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2008, 16h28   #5
Membre Expert
 
Inscription : mars 2006
Messages : 1 331
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 1 331
Points : 1 460
Points : 1 460
Bonjour,

C'est vu pour la fonction Nz?

http://www.developpez.net/forums/sho...49&postcount=8

Cordialement.
__________________
Questions techniques par MP
Le peu que je sais, c'est à mon ignorance que je le dois.
...............................................................................Sacha Guitry
francishop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2008, 22h04   #6
Candidat au titre de Membre du Club
 
Inscription : août 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 94
Points : 14
Points : 14
voici un exemple de mes champs

dans le champs Texte43 j'y ai mis ce code

Code :
1
2
 
=[Filtre_Item_1 sous-formulaire].[Formulaire]![Texte28]
Cela marche bien quand il y a un enregistrement minimum et cela marque # erreur s'il n'y en a pas

si je met cela

Code :
1
2
 
=(NZ[Filtre_Item_1 sous-formulaire].[Formulaire]![Texte28];0)
cela me met erreur de syntaxe

je pige pas
UDSP50 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2008, 22h38   #7
Membre Expert
 
Avatar de Renardo
 
Renald Chauvet
Inscription : avril 2006
Messages : 1 581
Détails du profil
Informations personnelles :
Nom : Renald Chauvet
Âge : 48

Informations forums :
Inscription : avril 2006
Messages : 1 581
Points : 1 750
Points : 1 750
essai
Code :
 Image01.Width = nz([Texte01]) * 56
Renardo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2008, 23h53   #8
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 098
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 098
Points : 11 624
Points : 11 624
Citation:
Envoyé par UDSP50 Voir le message
Code :
1
2
 
=(NZ[Filtre_Item_1 sous-formulaire].[Formulaire]![Texte28];0)
cela me met erreur de syntaxe

je pige pas
sniff
Dans un premier temps il faudrait (re)voir quelques bases de programmation.

Une fonction a normalement cette syntaxe :

mafonction(mesparamètre)

donc pas (mafonction[parametre];parametre) ni mafonction()parametre;parametre ni même (parametre;mafonction;parametre)...
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h39.


 
 
 
 
Partenaires

Hébergement Web