J'ai un formulaire en mode continu, sur chaque enregistrement il y a une
case à cocher qui est activée à chaque fois que j'appuis sur la barre espace
du clavier, lorsque la case est à "VRAI" la ligne compléte change de couleur,
pour mettre une sécurité de saisie sur les dates j'ai écris ce code sur avant
MAJ de la case mais ça ne fonctionne pas.
CODE : Private Sub Valide_BeforeUpdate(Cancel As Integer)
'date filiére est la date de l'enregistrement et "MADATE' est la date du haut.
If [Date filiére] >= [MaDate] Then
MsgBox "Ce bovin ne peut pas être changé de destination pour
cause de date ! ", , "Gestion des destinations"
End If
End Sub
En fait la date qui est en haut de mon formulaire ne doit pas être = ou < à
la date qui est sur l'enregistrement concerné voir l'image du formulaire la
date en rouge sur fond jaune doit être inférieure à celle de "Date de
changement".
Je souhaite être avertis par une boite de dialogue et quand je clique sur ok
la coche devient "FAUX" et passe a l'enregistrement suivant.
Si la date du haut n'est pas bonne par rapport à chaque ligne on verrouille la coche mais bien sûr sauf les enregistrements autorisés à être modifier.
Autrement dis toutes les lignes qui ne peuvent pas être modifier sont en grisées. Tu peux m'écrire ce code ? Par exemple il devient actif aprés la mise à jour du champ "MADATE" sur le haut du formulaire.
Merci d'avance. Philippe.
"Philippe" | J'ai mis un morceau de ma base...
Il manque tellement des morceaux qu'il est difficile de voir ;-)
Mais, en mettant le code sur "Avant mise à jour" de la coche Valide, cela doit fonctionner ! Si tu souhaite en plus annuler la saisie au niveau du formulaire, tu ajoute Me.Undo
If Me.[Date filiére] >= Me![MaDate] Then MsgBox "Ce bovin ne peut... ", , "Gestion des destinations" Me!Valide.Undo Me.Undo Cancel = True End If
Assure toi aussi que le test est correct sur les date est correct.
Autre problème est le reste du code de ton formulaire... code que tu devrais commencer par mettre en commentaire pour t'assurer que ce n'est pas lui qui te joue des tours.
Et un conseil ! Ne nomme pas tes contrôles, zone de texte et autres, du même nom que leur source. Même si MS montre le mauvais exemple avec ses assistants!!!
Si la date du haut n'est pas bonne par rapport à chaque ligne on verrouille
la coche mais bien sûr sauf les enregistrements autorisés à être modifier.
Autrement dis toutes les lignes qui ne peuvent pas être modifier sont en
grisées.
Tu peux m'écrire ce code ?
Par exemple il devient actif aprés la mise à jour du champ "MADATE" sur le
haut du formulaire.
Merci d'avance.
Philippe.
"Philippe"
| J'ai mis un morceau de ma base...
Il manque tellement des morceaux qu'il est difficile de voir ;-)
Mais, en mettant le code sur "Avant mise à jour" de la coche Valide,
cela doit fonctionner !
Si tu souhaite en plus annuler la saisie au niveau du formulaire,
tu ajoute Me.Undo
If Me.[Date filiére] >= Me![MaDate] Then
MsgBox "Ce bovin ne peut... ", , "Gestion des destinations"
Me!Valide.Undo
Me.Undo
Cancel = True
End If
Assure toi aussi que le test est correct sur les date est correct.
Autre problème est le reste du code de ton formulaire...
code que tu devrais commencer par mettre en commentaire pour
t'assurer que ce n'est pas lui qui te joue des tours.
Et un conseil !
Ne nomme pas tes contrôles, zone de texte et autres, du même
nom que leur source.
Même si MS montre le mauvais exemple avec ses assistants!!!
Si la date du haut n'est pas bonne par rapport à chaque ligne on verrouille la coche mais bien sûr sauf les enregistrements autorisés à être modifier.
Autrement dis toutes les lignes qui ne peuvent pas être modifier sont en grisées. Tu peux m'écrire ce code ? Par exemple il devient actif aprés la mise à jour du champ "MADATE" sur le haut du formulaire.
Merci d'avance. Philippe.
"Philippe" | J'ai mis un morceau de ma base...
Il manque tellement des morceaux qu'il est difficile de voir ;-)
Mais, en mettant le code sur "Avant mise à jour" de la coche Valide, cela doit fonctionner ! Si tu souhaite en plus annuler la saisie au niveau du formulaire, tu ajoute Me.Undo
If Me.[Date filiére] >= Me![MaDate] Then MsgBox "Ce bovin ne peut... ", , "Gestion des destinations" Me!Valide.Undo Me.Undo Cancel = True End If
Assure toi aussi que le test est correct sur les date est correct.
Autre problème est le reste du code de ton formulaire... code que tu devrais commencer par mettre en commentaire pour t'assurer que ce n'est pas lui qui te joue des tours.
Et un conseil ! Ne nomme pas tes contrôles, zone de texte et autres, du même nom que leur source. Même si MS montre le mauvais exemple avec ses assistants!!!
"Philippe" | Merci beaucoup pour ta réponse, avec le clic de la souris ça fonctionne mais | pas avec la barre espace du clavier c'est à mon avis le code de la coche sur | la propriété "sur touche activé" qui perturbe le code avant mise à jour de la | même coche. | | Voici le code perturbateur : | Private Sub Valide_KeyPress(KeyAscii As Integer) | 'Sur l 'événement touche activée de la case à cocher: | If KeyAscii = 32 Then
J'ai vu ce bricolage infect, c'est pourquoi je t'ai conseiller de commenter ces codes pour constater le bon fonctionnement du code que je t'ai indiqué ;-)
Je me demande si tu le sais, mais, lorsque une coche à le focus, c'est **justement** la barre d'espace qui sert à faire son inversion!!!
Donc, au lieu de vouloir réinventer la roue en écrivant du "code" il serait souhaitable d'apprendre les fonctions de base que Access mets à ta disposition *sans* programmer une seule ligne.
"Philippe"
| Merci beaucoup pour ta réponse, avec le clic de la souris ça fonctionne mais
| pas avec la barre espace du clavier c'est à mon avis le code de la coche sur
| la propriété "sur touche activé" qui perturbe le code avant mise à jour de la
| même coche.
|
| Voici le code perturbateur :
| Private Sub Valide_KeyPress(KeyAscii As Integer)
| 'Sur l 'événement touche activée de la case à cocher:
| If KeyAscii = 32 Then
J'ai vu ce bricolage infect, c'est pourquoi je t'ai conseiller de commenter
ces codes pour constater le bon fonctionnement du code que je t'ai
indiqué ;-)
Je me demande si tu le sais, mais, lorsque une coche à le focus,
c'est **justement** la barre d'espace qui sert à faire son inversion!!!
Donc, au lieu de vouloir réinventer la roue en écrivant du "code"
il serait souhaitable d'apprendre les fonctions de base que Access
mets à ta disposition *sans* programmer une seule ligne.
"Philippe" | Merci beaucoup pour ta réponse, avec le clic de la souris ça fonctionne mais | pas avec la barre espace du clavier c'est à mon avis le code de la coche sur | la propriété "sur touche activé" qui perturbe le code avant mise à jour de la | même coche. | | Voici le code perturbateur : | Private Sub Valide_KeyPress(KeyAscii As Integer) | 'Sur l 'événement touche activée de la case à cocher: | If KeyAscii = 32 Then
J'ai vu ce bricolage infect, c'est pourquoi je t'ai conseiller de commenter ces codes pour constater le bon fonctionnement du code que je t'ai indiqué ;-)
Je me demande si tu le sais, mais, lorsque une coche à le focus, c'est **justement** la barre d'espace qui sert à faire son inversion!!!
Donc, au lieu de vouloir réinventer la roue en écrivant du "code" il serait souhaitable d'apprendre les fonctions de base que Access mets à ta disposition *sans* programmer une seule ligne.
Si j'ai bien compris pour saisir par exemple 300 à 400 bovins je dois cliquer sur chaque ligne ?
Si il n'y a pas d'autre formule plus rapide alors à quoi sert l'informatique ? Merci. Bonne soirée. Philippe.
Salut,
"Philippe" | Merci beaucoup pour ta réponse, avec le clic de la souris ça fonctionne mais | pas avec la barre espace du clavier c'est à mon avis le code de la coche sur | la propriété "sur touche activé" qui perturbe le code avant mise à jour de la | même coche. | | Voici le code perturbateur : | Private Sub Valide_KeyPress(KeyAscii As Integer) | 'Sur l 'événement touche activée de la case à cocher: | If KeyAscii = 32 Then
J'ai vu ce bricolage infect, c'est pourquoi je t'ai conseiller de commenter ces codes pour constater le bon fonctionnement du code que je t'ai indiqué ;-)
Je me demande si tu le sais, mais, lorsque une coche à le focus, c'est **justement** la barre d'espace qui sert à faire son inversion!!!
Donc, au lieu de vouloir réinventer la roue en écrivant du "code" il serait souhaitable d'apprendre les fonctions de base que Access mets à ta disposition *sans* programmer une seule ligne.
Si j'ai bien compris pour saisir par exemple 300 à 400 bovins je dois
cliquer sur chaque ligne ?
Si il n'y a pas d'autre formule plus rapide alors à quoi sert l'informatique ?
Merci.
Bonne soirée.
Philippe.
Salut,
"Philippe"
| Merci beaucoup pour ta réponse, avec le clic de la souris ça fonctionne mais
| pas avec la barre espace du clavier c'est à mon avis le code de la coche sur
| la propriété "sur touche activé" qui perturbe le code avant mise à jour de la
| même coche.
|
| Voici le code perturbateur :
| Private Sub Valide_KeyPress(KeyAscii As Integer)
| 'Sur l 'événement touche activée de la case à cocher:
| If KeyAscii = 32 Then
J'ai vu ce bricolage infect, c'est pourquoi je t'ai conseiller de commenter
ces codes pour constater le bon fonctionnement du code que je t'ai
indiqué ;-)
Je me demande si tu le sais, mais, lorsque une coche à le focus,
c'est **justement** la barre d'espace qui sert à faire son inversion!!!
Donc, au lieu de vouloir réinventer la roue en écrivant du "code"
il serait souhaitable d'apprendre les fonctions de base que Access
mets à ta disposition *sans* programmer une seule ligne.
Si j'ai bien compris pour saisir par exemple 300 à 400 bovins je dois cliquer sur chaque ligne ?
Si il n'y a pas d'autre formule plus rapide alors à quoi sert l'informatique ? Merci. Bonne soirée. Philippe.
Salut,
"Philippe" | Merci beaucoup pour ta réponse, avec le clic de la souris ça fonctionne mais | pas avec la barre espace du clavier c'est à mon avis le code de la coche sur | la propriété "sur touche activé" qui perturbe le code avant mise à jour de la | même coche. | | Voici le code perturbateur : | Private Sub Valide_KeyPress(KeyAscii As Integer) | 'Sur l 'événement touche activée de la case à cocher: | If KeyAscii = 32 Then
J'ai vu ce bricolage infect, c'est pourquoi je t'ai conseiller de commenter ces codes pour constater le bon fonctionnement du code que je t'ai indiqué ;-)
Je me demande si tu le sais, mais, lorsque une coche à le focus, c'est **justement** la barre d'espace qui sert à faire son inversion!!!
Donc, au lieu de vouloir réinventer la roue en écrivant du "code" il serait souhaitable d'apprendre les fonctions de base que Access mets à ta disposition *sans* programmer une seule ligne.
Non, ton code n'est pas infect il est même parfait, je l'ai testé, il tourne trés bien, en effet en gestion de troupeau tu dois gérer ligne par ligne, avec une requête mise à jour cela serait du vrai bricolage, cependant pour ta question sur la sécurité de saisie tu dois tout simplement écrire le code suivant juste en dessous du premier end if : If Me.[Date filiére] >= Me![MaDate] Then MsgBox "Date impossible !", , "Gestion des destinations" Me.VALIDE = False
Me.Recalc End If End Sub De Aprés mise à jour de la coche, j'ai fait des tests je peux saisir une centaine d'animaux en quelques secondes pas besoin de s'occuper de la procédure Av mise à jour. Ta méthode est utilisée dans de grands logiciels comme Isalait par exemple, pour un agriculteur c'est pas mal. Seul Access est juge si ça tourne trés rapidement et que les enregistrements non valide sont interceptés de quoi se compliquer la programmation, 3stone est parfois trés compliqué quand il peut faire simple !!
A bientôt Claudine Ingénieur Agronome.
Bonsoir,
Si j'ai bien compris pour saisir par exemple 300 à 400 bovins je dois cliquer sur chaque ligne ?
Si il n'y a pas d'autre formule plus rapide alors à quoi sert l'informatique ? Merci. Bonne soirée. Philippe.
Salut,
"Philippe" | Merci beaucoup pour ta réponse, avec le clic de la souris ça fonctionne mais | pas avec la barre espace du clavier c'est à mon avis le code de la coche sur | la propriété "sur touche activé" qui perturbe le code avant mise à jour de la | même coche. | | Voici le code perturbateur : | Private Sub Valide_KeyPress(KeyAscii As Integer) | 'Sur l 'événement touche activée de la case à cocher: | If KeyAscii = 32 Then
J'ai vu ce bricolage infect, c'est pourquoi je t'ai conseiller de commenter ces codes pour constater le bon fonctionnement du code que je t'ai indiqué ;-)
Je me demande si tu le sais, mais, lorsque une coche à le focus, c'est **justement** la barre d'espace qui sert à faire son inversion!!!
Donc, au lieu de vouloir réinventer la roue en écrivant du "code" il serait souhaitable d'apprendre les fonctions de base que Access mets à ta disposition *sans* programmer une seule ligne.
Non, ton code n'est pas infect il est même parfait, je l'ai testé, il tourne
trés bien, en effet en gestion de troupeau tu dois gérer ligne par ligne,
avec une requête mise à jour cela serait du vrai bricolage, cependant pour ta
question sur la sécurité de saisie tu dois tout simplement écrire le code
suivant juste en dessous du premier end if : If Me.[Date filiére] >=
Me![MaDate] Then
MsgBox "Date impossible !", , "Gestion des destinations"
Me.VALIDE = False
Me.Recalc
End If
End Sub
De Aprés mise à jour de la coche, j'ai fait des tests je peux saisir une
centaine d'animaux en quelques secondes pas besoin de s'occuper de la
procédure Av mise à jour.
Ta méthode est utilisée dans de grands logiciels comme Isalait par exemple,
pour un agriculteur c'est pas mal.
Seul Access est juge si ça tourne trés rapidement et que les enregistrements
non valide sont interceptés de quoi se compliquer la programmation, 3stone
est parfois trés compliqué quand il peut faire simple !!
A bientôt
Claudine
Ingénieur Agronome.
Bonsoir,
Si j'ai bien compris pour saisir par exemple 300 à 400 bovins je dois
cliquer sur chaque ligne ?
Si il n'y a pas d'autre formule plus rapide alors à quoi sert l'informatique ?
Merci.
Bonne soirée.
Philippe.
Salut,
"Philippe"
| Merci beaucoup pour ta réponse, avec le clic de la souris ça fonctionne mais
| pas avec la barre espace du clavier c'est à mon avis le code de la coche sur
| la propriété "sur touche activé" qui perturbe le code avant mise à jour de la
| même coche.
|
| Voici le code perturbateur :
| Private Sub Valide_KeyPress(KeyAscii As Integer)
| 'Sur l 'événement touche activée de la case à cocher:
| If KeyAscii = 32 Then
J'ai vu ce bricolage infect, c'est pourquoi je t'ai conseiller de commenter
ces codes pour constater le bon fonctionnement du code que je t'ai
indiqué ;-)
Je me demande si tu le sais, mais, lorsque une coche à le focus,
c'est **justement** la barre d'espace qui sert à faire son inversion!!!
Donc, au lieu de vouloir réinventer la roue en écrivant du "code"
il serait souhaitable d'apprendre les fonctions de base que Access
mets à ta disposition *sans* programmer une seule ligne.
Non, ton code n'est pas infect il est même parfait, je l'ai testé, il tourne trés bien, en effet en gestion de troupeau tu dois gérer ligne par ligne, avec une requête mise à jour cela serait du vrai bricolage, cependant pour ta question sur la sécurité de saisie tu dois tout simplement écrire le code suivant juste en dessous du premier end if : If Me.[Date filiére] >= Me![MaDate] Then MsgBox "Date impossible !", , "Gestion des destinations" Me.VALIDE = False
Me.Recalc End If End Sub De Aprés mise à jour de la coche, j'ai fait des tests je peux saisir une centaine d'animaux en quelques secondes pas besoin de s'occuper de la procédure Av mise à jour. Ta méthode est utilisée dans de grands logiciels comme Isalait par exemple, pour un agriculteur c'est pas mal. Seul Access est juge si ça tourne trés rapidement et que les enregistrements non valide sont interceptés de quoi se compliquer la programmation, 3stone est parfois trés compliqué quand il peut faire simple !!
A bientôt Claudine Ingénieur Agronome.
Bonsoir,
Si j'ai bien compris pour saisir par exemple 300 à 400 bovins je dois cliquer sur chaque ligne ?
Si il n'y a pas d'autre formule plus rapide alors à quoi sert l'informatique ? Merci. Bonne soirée. Philippe.
Salut,
"Philippe" | Merci beaucoup pour ta réponse, avec le clic de la souris ça fonctionne mais | pas avec la barre espace du clavier c'est à mon avis le code de la coche sur | la propriété "sur touche activé" qui perturbe le code avant mise à jour de la | même coche. | | Voici le code perturbateur : | Private Sub Valide_KeyPress(KeyAscii As Integer) | 'Sur l 'événement touche activée de la case à cocher: | If KeyAscii = 32 Then
J'ai vu ce bricolage infect, c'est pourquoi je t'ai conseiller de commenter ces codes pour constater le bon fonctionnement du code que je t'ai indiqué ;-)
Je me demande si tu le sais, mais, lorsque une coche à le focus, c'est **justement** la barre d'espace qui sert à faire son inversion!!!
Donc, au lieu de vouloir réinventer la roue en écrivant du "code" il serait souhaitable d'apprendre les fonctions de base que Access mets à ta disposition *sans* programmer une seule ligne.
"Claudine23" [..] | Seul Access est juge si ça tourne trés rapidement et que les enregistrements | non valide sont interceptés de quoi se compliquer la programmation, 3stone | est parfois trés compliqué quand il peut faire simple !! | | A bientôt | Claudine | Ingénieur Agronome.
Je pense que tu n'as même pas compris le problème, la claudine, "ingénieur agronome" (ce qui ne désigne pas pour avoir spécialement un avis, ou un avis spécial ;-)
Si tu pense connaître Access, pourquoi as tu dû "essayer" ?? Je vous laisse donc entre agriculteur !
"Claudine23"
[..]
| Seul Access est juge si ça tourne trés rapidement et que les enregistrements
| non valide sont interceptés de quoi se compliquer la programmation, 3stone
| est parfois trés compliqué quand il peut faire simple !!
|
| A bientôt
| Claudine
| Ingénieur Agronome.
Je pense que tu n'as même pas compris le problème, la claudine, "ingénieur agronome"
(ce qui ne désigne pas pour avoir spécialement un avis, ou un avis spécial ;-)
Si tu pense connaître Access, pourquoi as tu dû "essayer" ??
Je vous laisse donc entre agriculteur !
"Claudine23" [..] | Seul Access est juge si ça tourne trés rapidement et que les enregistrements | non valide sont interceptés de quoi se compliquer la programmation, 3stone | est parfois trés compliqué quand il peut faire simple !! | | A bientôt | Claudine | Ingénieur Agronome.
Je pense que tu n'as même pas compris le problème, la claudine, "ingénieur agronome" (ce qui ne désigne pas pour avoir spécialement un avis, ou un avis spécial ;-)
Si tu pense connaître Access, pourquoi as tu dû "essayer" ?? Je vous laisse donc entre agriculteur !
Bonsoir Claudine, Je te remercie beaucoup de ton aide, tout fonctionne, j'ai mis plusieurs enregistrements non valides et ils ont été interceptés correctement aprés avoir cliqué sur "ok" la coche été blanche et l'enregistrement suivant a été sélectionner en attente d'une frappe sur la barre espace, une vitesse incroyable de saisie et une détection parfaite par Access, toutes mes requêtes sont cohérentes, 453 bovins saisis en un temps record avec 7 non valides.
Tu me dis "pas mal pour un agriculteur" peut être car je n'ai pas fais d'étude en informatique mais je suis nul par rapport aux spécialistes de ce site.
Encore merci Claudine et Access sans oublié notre amis 3stone. Philippe.
Bonsoir Philippe,
Non, ton code n'est pas infect il est même parfait, je l'ai testé, il tourne trés bien, en effet en gestion de troupeau tu dois gérer ligne par ligne, avec une requête mise à jour cela serait du vrai bricolage, cependant pour ta question sur la sécurité de saisie tu dois tout simplement écrire le code suivant juste en dessous du premier end if : If Me.[Date filiére] >= Me![MaDate] Then MsgBox "Date impossible !", , "Gestion des destinations" Me.VALIDE = False
Me.Recalc End If End Sub De Aprés mise à jour de la coche, j'ai fait des tests je peux saisir une centaine d'animaux en quelques secondes pas besoin de s'occuper de la procédure Av mise à jour. Ta méthode est utilisée dans de grands logiciels comme Isalait par exemple, pour un agriculteur c'est pas mal. Seul Access est juge si ça tourne trés rapidement et que les enregistrements non valide sont interceptés de quoi se compliquer la programmation, 3stone est parfois trés compliqué quand il peut faire simple !!
A bientôt Claudine Ingénieur Agronome.
Bonsoir,
Si j'ai bien compris pour saisir par exemple 300 à 400 bovins je dois cliquer sur chaque ligne ?
Si il n'y a pas d'autre formule plus rapide alors à quoi sert l'informatique ? Merci. Bonne soirée. Philippe.
Salut,
"Philippe" | Merci beaucoup pour ta réponse, avec le clic de la souris ça fonctionne mais | pas avec la barre espace du clavier c'est à mon avis le code de la coche sur | la propriété "sur touche activé" qui perturbe le code avant mise à jour de la | même coche. | | Voici le code perturbateur : | Private Sub Valide_KeyPress(KeyAscii As Integer) | 'Sur l 'événement touche activée de la case à cocher: | If KeyAscii = 32 Then
J'ai vu ce bricolage infect, c'est pourquoi je t'ai conseiller de commenter ces codes pour constater le bon fonctionnement du code que je t'ai indiqué ;-)
Je me demande si tu le sais, mais, lorsque une coche à le focus, c'est **justement** la barre d'espace qui sert à faire son inversion!!!
Donc, au lieu de vouloir réinventer la roue en écrivant du "code" il serait souhaitable d'apprendre les fonctions de base que Access mets à ta disposition *sans* programmer une seule ligne.
Bonsoir Claudine,
Je te remercie beaucoup de ton aide, tout fonctionne, j'ai mis plusieurs
enregistrements non valides et ils ont été interceptés correctement aprés
avoir cliqué sur "ok" la coche été blanche et l'enregistrement suivant a été
sélectionner en attente d'une frappe sur la barre espace, une vitesse
incroyable de saisie et une détection parfaite par Access, toutes mes
requêtes sont cohérentes, 453 bovins saisis en un temps record avec 7 non
valides.
Tu me dis "pas mal pour un agriculteur" peut être car je n'ai pas fais
d'étude en informatique mais je suis nul par rapport aux spécialistes de ce
site.
Encore merci Claudine et Access sans oublié notre amis 3stone.
Philippe.
Bonsoir Philippe,
Non, ton code n'est pas infect il est même parfait, je l'ai testé, il tourne
trés bien, en effet en gestion de troupeau tu dois gérer ligne par ligne,
avec une requête mise à jour cela serait du vrai bricolage, cependant pour ta
question sur la sécurité de saisie tu dois tout simplement écrire le code
suivant juste en dessous du premier end if : If Me.[Date filiére] >=
Me![MaDate] Then
MsgBox "Date impossible !", , "Gestion des destinations"
Me.VALIDE = False
Me.Recalc
End If
End Sub
De Aprés mise à jour de la coche, j'ai fait des tests je peux saisir une
centaine d'animaux en quelques secondes pas besoin de s'occuper de la
procédure Av mise à jour.
Ta méthode est utilisée dans de grands logiciels comme Isalait par exemple,
pour un agriculteur c'est pas mal.
Seul Access est juge si ça tourne trés rapidement et que les enregistrements
non valide sont interceptés de quoi se compliquer la programmation, 3stone
est parfois trés compliqué quand il peut faire simple !!
A bientôt
Claudine
Ingénieur Agronome.
Bonsoir,
Si j'ai bien compris pour saisir par exemple 300 à 400 bovins je dois
cliquer sur chaque ligne ?
Si il n'y a pas d'autre formule plus rapide alors à quoi sert l'informatique ?
Merci.
Bonne soirée.
Philippe.
Salut,
"Philippe"
| Merci beaucoup pour ta réponse, avec le clic de la souris ça fonctionne mais
| pas avec la barre espace du clavier c'est à mon avis le code de la coche sur
| la propriété "sur touche activé" qui perturbe le code avant mise à jour de la
| même coche.
|
| Voici le code perturbateur :
| Private Sub Valide_KeyPress(KeyAscii As Integer)
| 'Sur l 'événement touche activée de la case à cocher:
| If KeyAscii = 32 Then
J'ai vu ce bricolage infect, c'est pourquoi je t'ai conseiller de commenter
ces codes pour constater le bon fonctionnement du code que je t'ai
indiqué ;-)
Je me demande si tu le sais, mais, lorsque une coche à le focus,
c'est **justement** la barre d'espace qui sert à faire son inversion!!!
Donc, au lieu de vouloir réinventer la roue en écrivant du "code"
il serait souhaitable d'apprendre les fonctions de base que Access
mets à ta disposition *sans* programmer une seule ligne.
Bonsoir Claudine, Je te remercie beaucoup de ton aide, tout fonctionne, j'ai mis plusieurs enregistrements non valides et ils ont été interceptés correctement aprés avoir cliqué sur "ok" la coche été blanche et l'enregistrement suivant a été sélectionner en attente d'une frappe sur la barre espace, une vitesse incroyable de saisie et une détection parfaite par Access, toutes mes requêtes sont cohérentes, 453 bovins saisis en un temps record avec 7 non valides.
Tu me dis "pas mal pour un agriculteur" peut être car je n'ai pas fais d'étude en informatique mais je suis nul par rapport aux spécialistes de ce site.
Encore merci Claudine et Access sans oublié notre amis 3stone. Philippe.
Bonsoir Philippe,
Non, ton code n'est pas infect il est même parfait, je l'ai testé, il tourne trés bien, en effet en gestion de troupeau tu dois gérer ligne par ligne, avec une requête mise à jour cela serait du vrai bricolage, cependant pour ta question sur la sécurité de saisie tu dois tout simplement écrire le code suivant juste en dessous du premier end if : If Me.[Date filiére] >= Me![MaDate] Then MsgBox "Date impossible !", , "Gestion des destinations" Me.VALIDE = False
Me.Recalc End If End Sub De Aprés mise à jour de la coche, j'ai fait des tests je peux saisir une centaine d'animaux en quelques secondes pas besoin de s'occuper de la procédure Av mise à jour. Ta méthode est utilisée dans de grands logiciels comme Isalait par exemple, pour un agriculteur c'est pas mal. Seul Access est juge si ça tourne trés rapidement et que les enregistrements non valide sont interceptés de quoi se compliquer la programmation, 3stone est parfois trés compliqué quand il peut faire simple !!
A bientôt Claudine Ingénieur Agronome.
Bonsoir,
Si j'ai bien compris pour saisir par exemple 300 à 400 bovins je dois cliquer sur chaque ligne ?
Si il n'y a pas d'autre formule plus rapide alors à quoi sert l'informatique ? Merci. Bonne soirée. Philippe.
Salut,
"Philippe" | Merci beaucoup pour ta réponse, avec le clic de la souris ça fonctionne mais | pas avec la barre espace du clavier c'est à mon avis le code de la coche sur | la propriété "sur touche activé" qui perturbe le code avant mise à jour de la | même coche. | | Voici le code perturbateur : | Private Sub Valide_KeyPress(KeyAscii As Integer) | 'Sur l 'événement touche activée de la case à cocher: | If KeyAscii = 32 Then
J'ai vu ce bricolage infect, c'est pourquoi je t'ai conseiller de commenter ces codes pour constater le bon fonctionnement du code que je t'ai indiqué ;-)
Je me demande si tu le sais, mais, lorsque une coche à le focus, c'est **justement** la barre d'espace qui sert à faire son inversion!!!
Donc, au lieu de vouloir réinventer la roue en écrivant du "code" il serait souhaitable d'apprendre les fonctions de base que Access mets à ta disposition *sans* programmer une seule ligne.