Evenement dans un formulaire en continu

Résolu/Fermé
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 - Modifié le 2 oct. 2020 à 23:08
yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024 - 8 oct. 2020 à 10:06
Bonjour,
Je concois une base données dans lequel il y a un formulaire F_ENTREEFOURNISSEUR qui contient un sous formulaire F_DETAILENTREEFOURNISSUER en continu qui permet de saisir les produits qui entrent en stock . il est basé sur la table DETAILMOUVENTS(identree;idproduit;qteentree;qtesortie;qteabimee;
quantiteinitial; prixachat); ce que je souhaite c'est que dès que le produit est choisi dans le champ idproduit ; si le champ qteentree est vide il faut qu'un message nous avertisse que le champ est vide ; auusi si la valeur saisie n'est pas numerique je souhaiterais avoir aussi un message; jai enssayé en mettant sur l'evenement sortie du champ qteentree et dès que ces deux conditions sont bonne que la mise a jpour soit faite pour mette le stock a jour voici le code vba :
 ""Private Sub QteEntree_Exit(Cancel As Integer)
If IsNull(Me.QteEntree) = 0 And IsNumeric(Me.QteEntree) Then
MsgBox "SAISIR UNE VALEUR NUMERIQUE", vbCritical, "SAISIE QUANTITE ENTREE"
Cancel = True
Else
DoCmd.RefreshRecord
End If
End Sub ""


essayez de voir a quel niveau le bug se trouve
merci
Configuration: Windows / Firefox 81.0

3 réponses

Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
2 oct. 2020 à 23:12
0
yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024 1 480
3 oct. 2020 à 15:29
bonjour, comment le code se comporte-t'il?
as-tu un message d'erreur?
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
Modifié le 3 oct. 2020 à 16:04
non il n'y a pas de message d'erreur ; en fait la valeur par defaut du champ qteentree est 0 ; donc si je ne saisis pas de valeur le code s'execute bien par contre si je saisis un texte dans ce champ ; il me renvoie un message qui est different de ce que moi je souhaite avoir ; du genre "valeur non valide pour ce champ"
vous avez peut etre entré du texte dans un champ numerique ou un nombre superieur à ce que permet le parametre de la propriete taille champ"
en fait moi je veux deux messages differents ; "celui de la valeur null" et "celui qui indique que la valeur saisie n'est pas numerique ''
autre chose ; je souhaiterais que la valeur par defaut du champ en question soit nulle dès qu'on choisit un produit dans le sous formulaire
0
yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024 1 480 > Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
3 oct. 2020 à 17:22
as-tu déjà de l'expérience en programmation?
tu as choisi que la valeur par défaut soit 0 dans la définition du champ, il suffit de changer cela.
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 > yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024
5 oct. 2020 à 14:18
ok j'ai changé la valeur par defaut du champ qteentree ; et la premiere condition fonctionne tres bien mais quand je saisis un texte dans le champ un message d'erreur de access se presente je souhaiterais que le message saisi dans le code apparait ; je vous ramene le code vba sur l'evement sortie:
Private Sub QteEntree_Exit(Cancel As Integer)
If (IsNull(Me.QteEntree) = True Or not IsNumeric(Me.QteEntree) = True) Then
MsgBox "SAISIR UNE VALEUR NUMERIQUE", vbCritical, "SAISIE QUANTITE ENTREE"
Cancel = True
Else
DoCmd.RefreshRecord
End If
End Sub
0
yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024 1 480 > Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
5 oct. 2020 à 15:41
tu as donc amélioré le code. tu n'expliques pas comment il se comporte, et ce que tu souhaites changer.
il est inutile d'ajouter
= True
, et cela ne peut-être que source de confusion et d'erreur.
0
yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024 1 480 > Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
5 oct. 2020 à 15:43
merci d'utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
5 oct. 2020 à 23:04
ok dans ce cas ; ce champ devient indépendant ?
comment écrire pour que les valeurs saisies dans ce champ indépendant soient affectés au champ QteEntree de la table en question et sur quel évènement mettre ce code
merci
0
yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024 1 480
6 oct. 2020 à 09:56
aucune idée, moi j'éviterais de faire cela dans un formulaire en continu, j'utiliserais plutôt les facilités offertes par Access.
quel est l'objectif?
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 > yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024
6 oct. 2020 à 10:21
'' est ce que je peux savoir les inconvénients à le faire dans un formulaire en continu ?
En fait il s'agit pour moi d'avoir tous les produits livrés pas un fournisseur lors d'une seule saisie, au lieu de ressortir et revenir ?.
Ce que vous appelez les facilités de access, c'est un sous formulaire unique ? , avec des champs independants ou autres choses ?
Expliquez moi clairement pour que j'adopte la bonne manière une fois pour toute
Merci
0
yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024 1 480 > Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
6 oct. 2020 à 10:51
moi je laisserais Access vérifier les données et refuser des données incorrectes.
j'éviterais d'utiliser, dans un formulaire en continu, un contrôle indépendant, pour ensuite, via VBA, mettre à jour un champ d'une table.
ce que j'appelle les facilités d'Access, c'est le formulaire en continu, avec des contrôles liés à des champs. ainsi que la vérification des données.
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 > yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024
6 oct. 2020 à 16:19
votre langage est vraiment codé ; difficile de vous comprendre; je souhaiterais que vous me donniez ce qui'il faut faire concretement par des recommandations
ctte phrase veut diire quoi au juste dans un lagage terre à terre (simple et accessible à tous )
comme vous le dite en (13) ""si il est important que le contenu du contrôle ne soit pas vérifié par Access, il ne faut pas lier ce contrôle à un champ numérique d'une table.""
ce sont vos tournures qui font que nous n'avancons pas
merci
0
yg_be Messages postés 22768 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 mai 2024 1 480 > Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
6 oct. 2020 à 18:05
un contrôle, c'est un élément d'un formulaire.
il s'agit ici du contrôle nommé "qteentree".
est-il important pour toi que Access ne vérifie pas le contenu de ce contrôle?
si oui, ce contrôle ne peut plus être lié au champ QteEntree de la table, puisque ce champ est numérique.

tu avais correctement compris cela, vu ta question en #14.
0