Bonjour
J'ai deux tables je voudrais que lorsque j'entre dans un champ nomm=E9 X
une valeur correspondante se trouvant dans un champ X de l'autre table,
je recoive un message ENVOI INTERDIT
Comment dois-je proc=E9der ?
Merci pour votre aide
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Buddy
Bonjour Salut
J'ai deux tables je voudrais que lorsque j'entre dans un champ nommé X une valeur correspondante se trouvant dans un champ X de l'autre table, je recoive un message ENVOI INTERDIT Comment dois-je procéder ?
If DCount("NumAuto", "Table2", "ChampX='" & zdtValeurSaisie & "'") > 0 Then MsgBox "ENVOI INTERDIT", vbCritical + vbOkOnly, "Erreur" Else ' tu mets ce que tu veux quand l'envoi est autorisé End If
Merci pour votre aide De rien
-- Ouala Bye Buddy
Bonjour
Salut
J'ai deux tables je voudrais que lorsque j'entre dans un champ nommé X
une valeur correspondante se trouvant dans un champ X de l'autre table,
je recoive un message ENVOI INTERDIT
Comment dois-je procéder ?
If DCount("NumAuto", "Table2", "ChampX='" & zdtValeurSaisie & "'") > 0 Then
MsgBox "ENVOI INTERDIT", vbCritical + vbOkOnly, "Erreur"
Else
' tu mets ce que tu veux quand l'envoi est autorisé
End If
J'ai deux tables je voudrais que lorsque j'entre dans un champ nommé X une valeur correspondante se trouvant dans un champ X de l'autre table, je recoive un message ENVOI INTERDIT Comment dois-je procéder ?
If DCount("NumAuto", "Table2", "ChampX='" & zdtValeurSaisie & "'") > 0 Then MsgBox "ENVOI INTERDIT", vbCritical + vbOkOnly, "Erreur" Else ' tu mets ce que tu veux quand l'envoi est autorisé End If
Merci pour votre aide De rien
-- Ouala Bye Buddy
Gilles MOUGNOZ
Bonjour Salut
J'ai deux tables je voudrais que lorsque j'entre dans un champ nommé X une valeur correspondante se trouvant dans un champ X de l'autre table, je recoive un message ENVOI INTERDIT Comment dois-je procéder ? If DCount("NumAuto", "Table2", "ChampX='" & zdtValeurSaisie & "'") > 0
Then MsgBox "ENVOI INTERDIT", vbCritical + vbOkOnly, "Erreur" Else ' tu mets ce que tu veux quand l'envoi est autorisé End If
Merci pour votre aide De rien
-- Ouala Bye Buddy
Bonjour à tous
Concernant l'utilisation de DCount, quand c'est possible, il est conseillé de préférer DCount("*","Table") à DCount("Champ","Table"), le traitement étant optimisé pour ce cas précis. Par contre, je ne sais plus où j'ai trouvé cette astuce, désolé...
Bonne continuation
Bonjour
Salut
J'ai deux tables je voudrais que lorsque j'entre dans un champ nommé X
une valeur correspondante se trouvant dans un champ X de l'autre table,
je recoive un message ENVOI INTERDIT
Comment dois-je procéder ?
If DCount("NumAuto", "Table2", "ChampX='" & zdtValeurSaisie & "'") > 0
Then
MsgBox "ENVOI INTERDIT", vbCritical + vbOkOnly, "Erreur"
Else
' tu mets ce que tu veux quand l'envoi est autorisé
End If
Merci pour votre aide
De rien
--
Ouala
Bye
Buddy
Bonjour à tous
Concernant l'utilisation de DCount, quand c'est possible, il est conseillé
de préférer DCount("*","Table") à DCount("Champ","Table"), le traitement
étant optimisé pour ce cas précis.
Par contre, je ne sais plus où j'ai trouvé cette astuce, désolé...
J'ai deux tables je voudrais que lorsque j'entre dans un champ nommé X une valeur correspondante se trouvant dans un champ X de l'autre table, je recoive un message ENVOI INTERDIT Comment dois-je procéder ? If DCount("NumAuto", "Table2", "ChampX='" & zdtValeurSaisie & "'") > 0
Then MsgBox "ENVOI INTERDIT", vbCritical + vbOkOnly, "Erreur" Else ' tu mets ce que tu veux quand l'envoi est autorisé End If
Merci pour votre aide De rien
-- Ouala Bye Buddy
Bonjour à tous
Concernant l'utilisation de DCount, quand c'est possible, il est conseillé de préférer DCount("*","Table") à DCount("Champ","Table"), le traitement étant optimisé pour ce cas précis. Par contre, je ne sais plus où j'ai trouvé cette astuce, désolé...
Bonne continuation
tofuponszen
Re De toute façon je ne réussis pas à faire fonctionner ni un code ni l'autre. C'est vraiment trop compliqué pour moi présenté comme vous le faites. Pouvez vous me détailler cela par le menu Table1 ID Champx champy Table2 ID champx champy sachant que les deux tables n'ont en commun que les champs x et y et pas le champ ID et que lorsque j'entre les valeurs champx champy dans la table1 j'aimerais voir le message apparaitre Merci encore
Re
De toute façon je ne réussis pas à faire fonctionner ni un code ni
l'autre. C'est vraiment trop compliqué pour moi présenté comme vous
le faites.
Pouvez vous me détailler cela par le menu
Table1
ID Champx champy
Table2
ID champx champy
sachant que les deux tables n'ont en commun que les champs x et y et
pas le champ ID
et que lorsque j'entre les valeurs champx champy dans la table1
j'aimerais voir le message apparaitre
Merci encore
Re De toute façon je ne réussis pas à faire fonctionner ni un code ni l'autre. C'est vraiment trop compliqué pour moi présenté comme vous le faites. Pouvez vous me détailler cela par le menu Table1 ID Champx champy Table2 ID champx champy sachant que les deux tables n'ont en commun que les champs x et y et pas le champ ID et que lorsque j'entre les valeurs champx champy dans la table1 j'aimerais voir le message apparaitre Merci encore
Gilles MOUGNOZ
Re De toute façon je ne réussis pas à faire fonctionner ni un code ni l'autre. C'est vraiment trop compliqué pour moi présenté comme vous le faites. Pouvez vous me détailler cela par le menu Table1 ID Champx champy Table2 ID champx champy sachant que les deux tables n'ont en commun que les champs x et y et pas le champ ID et que lorsque j'entre les valeurs champx champy dans la table1 j'aimerais voir le message apparaitre Merci encore
Re-bonjour
Par quel moyen saisis-tu tes données ? Si tu passes directement par les tables, il n'y a aucun moyen de contrôle. Si tu passes par un formulaire, tu places le code dans l'événement Après Mise à jour du contrôle à vérifier. Dans la feuille des propriétés, sélectionne l'onglet Evénements, clique dans la zone Avant MAJ puis clique sur le bouton à droite représentant trois points. sélectionne Générateur de code et clique sur OK. Dans la feuille qui apparaît, colle le code de Buddy entre les lignes "Sub X_AfterUdate()" et "End Sub". Pour plus d'infos, un bon site pour commencer: http://www.self-access.com/access/
Bonne continuation
Re
De toute façon je ne réussis pas à faire fonctionner ni un code ni
l'autre. C'est vraiment trop compliqué pour moi présenté comme vous
le faites.
Pouvez vous me détailler cela par le menu
Table1
ID Champx champy
Table2
ID champx champy
sachant que les deux tables n'ont en commun que les champs x et y et
pas le champ ID
et que lorsque j'entre les valeurs champx champy dans la table1
j'aimerais voir le message apparaitre
Merci encore
Re-bonjour
Par quel moyen saisis-tu tes données ? Si tu passes directement par les
tables, il n'y a aucun moyen de contrôle.
Si tu passes par un formulaire, tu places le code dans l'événement Après
Mise à jour du contrôle à vérifier.
Dans la feuille des propriétés, sélectionne l'onglet Evénements, clique dans
la zone Avant MAJ puis clique sur le bouton à droite représentant trois
points.
sélectionne Générateur de code et clique sur OK.
Dans la feuille qui apparaît, colle le code de Buddy entre les lignes "Sub
X_AfterUdate()" et "End Sub".
Pour plus d'infos, un bon site pour commencer:
http://www.self-access.com/access/
Re De toute façon je ne réussis pas à faire fonctionner ni un code ni l'autre. C'est vraiment trop compliqué pour moi présenté comme vous le faites. Pouvez vous me détailler cela par le menu Table1 ID Champx champy Table2 ID champx champy sachant que les deux tables n'ont en commun que les champs x et y et pas le champ ID et que lorsque j'entre les valeurs champx champy dans la table1 j'aimerais voir le message apparaitre Merci encore
Re-bonjour
Par quel moyen saisis-tu tes données ? Si tu passes directement par les tables, il n'y a aucun moyen de contrôle. Si tu passes par un formulaire, tu places le code dans l'événement Après Mise à jour du contrôle à vérifier. Dans la feuille des propriétés, sélectionne l'onglet Evénements, clique dans la zone Avant MAJ puis clique sur le bouton à droite représentant trois points. sélectionne Générateur de code et clique sur OK. Dans la feuille qui apparaît, colle le code de Buddy entre les lignes "Sub X_AfterUdate()" et "End Sub". Pour plus d'infos, un bon site pour commencer: http://www.self-access.com/access/
Bonne continuation
tofuponszen
Re et merci de m'aider J'ai bien fait tout ce que vous m'avez indiqué mais j'ai le message suivant : "L'expression après maj entrée comme paramètre de la propriété de type événement est à l'origine d'une erreur.La déclaration de la procédure ne correspond pas à la description de l'événement ou de la prodédure de même nom. *Le résultat de l'expression n'est pas le nom d'une macro, le nom d'une fonction définie par l'utilisateur ou [event procédure] *Une erreur a peut être été commise lors de l'évaluation d'une fonction, d'un événement ou d'une macro" Je ne comprends pas pourquoi. Merci
Re et merci de m'aider
J'ai bien fait tout ce que vous m'avez indiqué mais j'ai le message
suivant :
"L'expression après maj entrée comme paramètre de la propriété de
type événement est à l'origine d'une erreur.La déclaration de la
procédure ne correspond pas à la description de l'événement ou de
la prodédure de même nom.
*Le résultat de l'expression n'est pas le nom d'une macro, le nom
d'une fonction définie par l'utilisateur ou [event procédure]
*Une erreur a peut être été commise lors de l'évaluation d'une
fonction, d'un événement ou d'une macro"
Je ne comprends pas pourquoi.
Merci
Re et merci de m'aider J'ai bien fait tout ce que vous m'avez indiqué mais j'ai le message suivant : "L'expression après maj entrée comme paramètre de la propriété de type événement est à l'origine d'une erreur.La déclaration de la procédure ne correspond pas à la description de l'événement ou de la prodédure de même nom. *Le résultat de l'expression n'est pas le nom d'une macro, le nom d'une fonction définie par l'utilisateur ou [event procédure] *Une erreur a peut être été commise lors de l'évaluation d'une fonction, d'un événement ou d'une macro" Je ne comprends pas pourquoi. Merci
Gilles MOUGNOZ
Re et merci de m'aider J'ai bien fait tout ce que vous m'avez indiqué mais j'ai le message suivant : "L'expression après maj entrée comme paramètre de la propriété de type événement est à l'origine d'une erreur.La déclaration de la procédure ne correspond pas à la description de l'événement ou de la prodédure de même nom. *Le résultat de l'expression n'est pas le nom d'une macro, le nom d'une fonction définie par l'utilisateur ou [event procédure] *Une erreur a peut être été commise lors de l'évaluation d'une fonction, d'un événement ou d'une macro" Je ne comprends pas pourquoi. Merci
Re-bonjour,
Reprenons. Dans le code de Buddy, 1) remplace Table2 par le nom réel de "l'autre" table où se trouve le deuxième champ X 2) remplace ChampX par le nom réel du champ de l'autre table 3) remplace zdtValeurSaisie par le nom réel du contrôle où tu fais ta saisie Pour mémoire, je te remets le code de Buddy (agrémenté de ma 1ère remarque):
If DCount("*", "Table2", "ChampX='" & zdtValeurSaisie & "'") > 0 Then MsgBox "ENVOI INTERDIT", vbCritical + vbOKOnly, "Erreur" Else ' tu mets ce que tu veux quand l'envoi est autorisé End If
ATTENTION! Ce code est prévu pour le cas où ton champ X est de type texte. S'il est de type numérique, utilise ce code-ci (en effectuant les remplacements 1 à 3) :
If DCount("*", "Table2", "ChampX=" & zdtValeurSaisie) > 0 Then MsgBox "ENVOI INTERDIT", vbCritical + vbOKOnly, "Erreur" Else ' tu mets ce que tu veux quand l'envoi est autorisé End If
Une fois cette étape franchie, dans le menu Débogage, clique sur Compiler... Si tu as un message d'erreur, reviens vite nous voir en nous indiquant la ligne surlignée en jaune. Sinon, dans le menu Fichier, clique sur Enregistrer puis sur Fermer et retourner à Access. Ferme ton formulaire et lance-le. Si tu as toujours des erreurs, n'hésite pas à consulter l'aide en ligne (touche F1) de chacun des éléments du code ou des propriétés de contrôle. Il y a bien souvent des exemples d'utilisation qui t'aideront à mieux comprendre ce qui se passe. Va aussi faire un tour sur le site que je t'ai indiqué. Si tu dois utiliser Access de façon prolongé, il vaut mieux que tu acquière quelques bases, ne serait-ce que pour connaître un peu mieux les termes et pouvoir ainsi poser des questions plus pertinentes. Attention, ce n'est pas un reproche ! On est tous débutants... au début ;-)
Bonne continuation
Re et merci de m'aider
J'ai bien fait tout ce que vous m'avez indiqué mais j'ai le message
suivant :
"L'expression après maj entrée comme paramètre de la propriété de
type événement est à l'origine d'une erreur.La déclaration de la
procédure ne correspond pas à la description de l'événement ou de
la prodédure de même nom.
*Le résultat de l'expression n'est pas le nom d'une macro, le nom
d'une fonction définie par l'utilisateur ou [event procédure]
*Une erreur a peut être été commise lors de l'évaluation d'une
fonction, d'un événement ou d'une macro"
Je ne comprends pas pourquoi.
Merci
Re-bonjour,
Reprenons. Dans le code de Buddy,
1) remplace Table2 par le nom réel de "l'autre" table où se trouve le
deuxième champ X
2) remplace ChampX par le nom réel du champ de l'autre table
3) remplace zdtValeurSaisie par le nom réel du contrôle où tu fais ta saisie
Pour mémoire, je te remets le code de Buddy (agrémenté de ma 1ère remarque):
If DCount("*", "Table2", "ChampX='" & zdtValeurSaisie & "'") > 0 Then
MsgBox "ENVOI INTERDIT", vbCritical + vbOKOnly, "Erreur"
Else
' tu mets ce que tu veux quand l'envoi est autorisé
End If
ATTENTION! Ce code est prévu pour le cas où ton champ X est de type texte.
S'il est de type numérique, utilise ce code-ci (en effectuant les
remplacements 1 à 3) :
If DCount("*", "Table2", "ChampX=" & zdtValeurSaisie) > 0 Then
MsgBox "ENVOI INTERDIT", vbCritical + vbOKOnly, "Erreur"
Else
' tu mets ce que tu veux quand l'envoi est autorisé
End If
Une fois cette étape franchie, dans le menu Débogage, clique sur Compiler...
Si tu as un message d'erreur, reviens vite nous voir en nous indiquant la
ligne surlignée en jaune.
Sinon, dans le menu Fichier, clique sur Enregistrer puis sur Fermer et
retourner à Access. Ferme ton formulaire et lance-le.
Si tu as toujours des erreurs, n'hésite pas à consulter l'aide en ligne
(touche F1) de chacun des éléments du code ou des propriétés de contrôle. Il
y a bien souvent des exemples d'utilisation qui t'aideront à mieux
comprendre ce qui se passe.
Va aussi faire un tour sur le site que je t'ai indiqué. Si tu dois utiliser
Access de façon prolongé, il vaut mieux que tu acquière quelques bases, ne
serait-ce que pour connaître un peu mieux les termes et pouvoir ainsi poser
des questions plus pertinentes.
Attention, ce n'est pas un reproche ! On est tous débutants... au début ;-)
Re et merci de m'aider J'ai bien fait tout ce que vous m'avez indiqué mais j'ai le message suivant : "L'expression après maj entrée comme paramètre de la propriété de type événement est à l'origine d'une erreur.La déclaration de la procédure ne correspond pas à la description de l'événement ou de la prodédure de même nom. *Le résultat de l'expression n'est pas le nom d'une macro, le nom d'une fonction définie par l'utilisateur ou [event procédure] *Une erreur a peut être été commise lors de l'évaluation d'une fonction, d'un événement ou d'une macro" Je ne comprends pas pourquoi. Merci
Re-bonjour,
Reprenons. Dans le code de Buddy, 1) remplace Table2 par le nom réel de "l'autre" table où se trouve le deuxième champ X 2) remplace ChampX par le nom réel du champ de l'autre table 3) remplace zdtValeurSaisie par le nom réel du contrôle où tu fais ta saisie Pour mémoire, je te remets le code de Buddy (agrémenté de ma 1ère remarque):
If DCount("*", "Table2", "ChampX='" & zdtValeurSaisie & "'") > 0 Then MsgBox "ENVOI INTERDIT", vbCritical + vbOKOnly, "Erreur" Else ' tu mets ce que tu veux quand l'envoi est autorisé End If
ATTENTION! Ce code est prévu pour le cas où ton champ X est de type texte. S'il est de type numérique, utilise ce code-ci (en effectuant les remplacements 1 à 3) :
If DCount("*", "Table2", "ChampX=" & zdtValeurSaisie) > 0 Then MsgBox "ENVOI INTERDIT", vbCritical + vbOKOnly, "Erreur" Else ' tu mets ce que tu veux quand l'envoi est autorisé End If
Une fois cette étape franchie, dans le menu Débogage, clique sur Compiler... Si tu as un message d'erreur, reviens vite nous voir en nous indiquant la ligne surlignée en jaune. Sinon, dans le menu Fichier, clique sur Enregistrer puis sur Fermer et retourner à Access. Ferme ton formulaire et lance-le. Si tu as toujours des erreurs, n'hésite pas à consulter l'aide en ligne (touche F1) de chacun des éléments du code ou des propriétés de contrôle. Il y a bien souvent des exemples d'utilisation qui t'aideront à mieux comprendre ce qui se passe. Va aussi faire un tour sur le site que je t'ai indiqué. Si tu dois utiliser Access de façon prolongé, il vaut mieux que tu acquière quelques bases, ne serait-ce que pour connaître un peu mieux les termes et pouvoir ainsi poser des questions plus pertinentes. Attention, ce n'est pas un reproche ! On est tous débutants... au début ;-)