rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Code vb pour recuperer une valeur dans access

Posté par nathh76, le lundi 16 juillet 2007 à 16:54:48
J'ai un petit probleme dans access.
Dans un formulaire, j'ai un champ qui prend la valeur du resultat d'une requete affiché dans un sous-formulaire grace au code suivant : [base TVA0] = [Base TVA0 sous-formulaire].Form![SommeDePrix_element] ca marche. Mais lorsque j'ai pas de resultat de requete (ce qui est normal), cela me crée une erreur. Moi je voudrais que le champ se mette a zero. Comment faire ?
Configuration: Windows XP
Internet Explorer 6.0
Répondre à nathh76  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
freto, le mardi 17 juillet 2007 à 11:45:47
Bonjour
Je contournerais ce problème comme ceci
if IsNull ([Base TVA0 sous-formulaire].Form![SommeDePrix_element]
) then

[base TVA0] = 0

else

[base TVA0] = [Base TVA0 sous-formulaire].Form![SommeDePrix_element]

end if
Répondre à freto

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nathh76, le mardi 17 juillet 2007 à 14:01:57
Merci Freto.

J'ai essayé, mais j'ai toujours un message d'erreur.
ca marche pas car le champs [Base TVA0 sous-formulaire].Form![SommeDePrix_element] ne s'affiche pas dans mon sous-formulaire.

Une autre idée peut-etre ?

Quelle galère, je suis pas habituée a faire du code, je passe toujours par les assistants.
Répondre à nathh76

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
freto, le mardi 17 juillet 2007 à 14:31:50
Mais comment sa il ne s'affiche pas???tu ne modifie pas sa visibilité quelque part??
Peut tu donner le message d'erreur qu'il t'affiche exactement?
Répondre à freto

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nathh76, le mardi 17 juillet 2007 à 14:39:40
en fait je cherche a faire une apli qui permet de faire des factures. Sur une meme factures je peux avoir plusieurs taux de TVA. Donc j'ai fait des sous-formulaires cachés qui calcul le montant de base de TVA pour chaque taux de TVA. cela marche tres bien lorsque j'ai tous les taux de TVA sur ma facture. Mais lorsque j'ai un taux de TVA qui n'est pas utilisé, je n'ai pas de valeur dans mon sous-formulaire, donc rien d'affiché.

Lorsque j'essai ton code j'ai l'erreur suivante :

Erreur d'execution 2113
valeur incorrecte pour ce champ.
Répondre à nathh76

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
freto, le mardi 17 juillet 2007 à 14:46:17
Et ton champ [base TVA0] est un champ texte ou un numérique??
Sinon, essaie de déboger l'appli...place un point d'arret au nivau du if IsNull... puis apuis sur F8 pour voir par ou passe le code lorssqu'il te sort une erreur
Répondre à freto

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nathh76, le mardi 17 juillet 2007 à 14:58:40
C'est un champ numérique.

J'ai jamais fais de debogage, mais si j'ai bien tout compris, apres avoir mis le point d'arret, il passe au else. Donc il ne considere pas que le champ est null, s'est bien ca.

Désolé je debute.
Répondre à nathh76

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
freto, le mardi 17 juillet 2007 à 15:04:39
Si il passe au else directement c'est que la fonction IsNull renvoie faux....dans ce cas, soit ton champ n'est pas vide, soit le test est faux
Donc essaie pluto ce genre de if
if [Base TVA0 sous-formulaire].Form![SommeDePrix_element] = "" then 



On débute tous un jour tu n'a pas à être désolée
Répondre à freto

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nathh76, le mardi 17 juillet 2007 à 15:08:02
lorsque j'essaie ce code j'ai l'erreur suivante :
erreur d'execution 2427
expression sans parametres.

c'est sympa a toi de me consacrer de temps. merci.
Répondre à nathh76

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
freto, le mardi 17 juillet 2007 à 15:10:14
Tu peut essayer de débugger a partir toujours de la ligne du if??
J'aimerais savoir quelle ligne du programme est surlignée après que tu aie appuyé sur la touche F8?
Répondre à freto

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nathh76, le mardi 17 juillet 2007 à 15:12:49
c'est la ligne du If qui est surligné.
Répondre à nathh76

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
freto, le mardi 17 juillet 2007 à 15:22:53
et si tu appuie encore sur F8??
Répondre à freto

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nathh76, le mardi 17 juillet 2007 à 15:27:34
A chaque fois j'ai le message d'erreur. il reste bloqué sur la ligne du if.
Répondre à nathh76

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
freto, le mardi 17 juillet 2007 à 15:34:02
Est ce que le message d'erreur survient avant que le code n'apparaisse avec ta ligne d'arrêt? normalement ton code doit apparaitre puis lorsque tu appuie sur F8 une autre ligne devient surlignée...si le message d'erreur apparait alors que tu appuie sur F8, alors essaie ce if
if [Base TVA0 sous-formulaire].SommeDePrix_element.Value = "" then 

Répondre à freto

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nathh76, le mardi 17 juillet 2007 à 15:44:53
j'ai toujours le meme message d'erreur.
Répondre à nathh76

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
freto, le mardi 17 juillet 2007 à 15:52:07
Dans ce cas, juste après le if, essaie cette ligne

Me![base TVA0] = 0

a la place de

[base TVA0] = 0
Répondre à freto

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nathh76, le mardi 17 juillet 2007 à 15:56:45
toujours le meme soucis
Répondre à nathh76

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
freto, le mardi 17 juillet 2007 à 15:59:52
Waou..... je vais finir par sécher ...;-)
Il faudrait que tu m'envoie tout le code que tu a autour de ton if(juste le sub), je vais l'essayer
Répondre à freto

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nathh76, le mardi 17 juillet 2007 à 16:09:09
voila le code.

Private Sub Commande49_Click()
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70

If [Base TVA0 sous-formulaire].Form!SommeDePrix_element.Value = "" Then
Me![base TVA0] = 0
Else: [base TVA0] = [Base TVA0 sous-formulaire].Form![SommeDePrix_element]
End If

[Montant TVA55] = [base TVA55] * 0.055
[Montant TVA196] = [base TVA196] * 0.196

[Montant HT] = [base TVA0] + [base TVA55] + [base TVA196]
[Montant TVA] = [Montant TVA55] + [Montant TVA196]
[Montant TTC] = [Montant HT] + [Montant TVA]

End Sub

l'autre piste que j'essaie s'est d'obliger le sous-formulaire a mettre un resultat a zero, mais je galere toujours.

C'est la premier fois que je viens sur un forums, c'est vraiment sympa de pouvoir trouver de l'aide. merci.
Répondre à nathh76

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
freto, le mardi 17 juillet 2007 à 16:44:09
Enleve les deux points déjà après le else, et réessaie...mais je pense pas que l'erreur vienne de la, en revanche ce sera une source d'erreurs plus tard
Répondre à freto
Logiciels pertinents trouvés dans les téléchargements
Télécharger Vista Codec Package 4.7.2Vista Codec Package - Vista Codec Package regroupe une collection impressionnante de codecs (audio et vidéo), permettant d'ouvrir la plupart...Catégorie: Codecs
Licence: Freeware/gratuit
Télécharger DivX codecs 6.8.3DivX codecs - Le codec Divx Community est gratuit pour un usage personnel et permet de lire les fichiers au format DivX ! L'installeur...Catégorie: Codecs
Licence: Freeware/gratuit
Télécharger K-Lite Codec Pack Full 4.0.0K-Lite Codec Pack Full - K-Lite Codec Pack est une collection de codecs et de filtres nécessaires pour encoder ou décoder des formats audio ou vidéo....Catégorie: Codecs
Licence: Open Source
Télécharger Visual Basic 6 Runtime (VB6 DLL) 6.0 SP5Visual Basic 6 Runtime (VB6 DLL) - Le Runtime Visual Basic 6 contient l'ensemble des librairies (DLL) nécessaires pour exécuter des programmes écrits en...Catégorie: Librairies (DLL)
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « code vb pour recuperer une valeur dans access »