Evenement dans un formulaire en continu
Résolu
Oholabi12345
Messages postés
498
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
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 :
essayez de voir a quel niveau le bug se trouve
merci
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
A voir également:
- Hotmail continu
- Hotmail - Guide
- Créer une adresse hotmail - Guide
- Se connecter à ma messagerie hotmail.fr ✓ - Forum Hotmail / Outlook.com
- Hotmail. com ou .fr ✓ - Forum Réseaux sociaux
- Supprimer compte hotmail - Guide
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, comment le code se comporte-t'il?
as-tu un message d'erreur?
as-tu un message d'erreur?
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
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
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
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
merci d'utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
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
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
'' 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
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
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.
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.
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
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
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.
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.