comment dans un formulaire continu, puis-je faliter la saisie d'une donnée calquée sur la précédente?
Exemple:
Si je dois entrer la valeur 1205 Comment puis je faire pour que n'entre que la donnée 6 et qu'il me mette automatiquement 1206?
Merci beaucoup,
Loïc
Loïc V.
Je crois que je me suis mal fait comprendre.
Dernier enregistrement = 4567 si je tape uniquement la valeur 8, il me met 4568 Si je tape uniquement la valeur 12, il me met 4512 si je tape uniquement la valeur 345, il me met 4345
En gros, ce sont des nombre de 4 chiffres que je peux entrer. Si j'en tape qu'un seul, il me met par défaut:
- les trois derniers du dernier enregistrement - le chiffre tapé
En continu, cela donne:
enregistrement 1: 1456 Enregistrement 2: 2 puis "enter" = 1452 Enregistrement 3: 7 puis "enter" = 1457 Enregistrement 4: 15 puis "enter" = 1415 ect...
C'est juste un procédé qui me permet d'aller plus vite. Il doit y avoir une solution, vu que j'ai un vieux truc qui fonctionne sous DOS, qui me permet ce genre de saisie.
bien à toi,
Loïc
"Cyrille" a écrit :
Que ce passe t'il quand on arrive à 1209??
"Loïc V." a écrit :
> Bonjour, > > comment dans un formulaire continu, puis-je faliter la saisie d'une donnée > calquée sur la précédente? > > Exemple: > > Si je dois entrer la valeur 1205 > Comment puis je faire pour que n'entre que la donnée 6 et qu'il me mette > automatiquement 1206? > > Merci beaucoup, > > Loïc > >
Je crois que je me suis mal fait comprendre.
Dernier enregistrement = 4567
si je tape uniquement la valeur 8, il me met 4568
Si je tape uniquement la valeur 12, il me met 4512
si je tape uniquement la valeur 345, il me met 4345
En gros, ce sont des nombre de 4 chiffres que je peux entrer. Si j'en tape
qu'un seul, il me met par défaut:
- les trois derniers du dernier enregistrement
- le chiffre tapé
En continu, cela donne:
enregistrement 1: 1456
Enregistrement 2: 2 puis "enter" = 1452
Enregistrement 3: 7 puis "enter" = 1457
Enregistrement 4: 15 puis "enter" = 1415
ect...
C'est juste un procédé qui me permet d'aller plus vite.
Il doit y avoir une solution, vu que j'ai un vieux truc qui fonctionne sous
DOS, qui me permet ce genre de saisie.
bien à toi,
Loïc
"Cyrille" a écrit :
Que ce passe t'il quand on arrive à 1209??
"Loïc V." a écrit :
> Bonjour,
>
> comment dans un formulaire continu, puis-je faliter la saisie d'une donnée
> calquée sur la précédente?
>
> Exemple:
>
> Si je dois entrer la valeur 1205
> Comment puis je faire pour que n'entre que la donnée 6 et qu'il me mette
> automatiquement 1206?
>
> Merci beaucoup,
>
> Loïc
>
>
Dernier enregistrement = 4567 si je tape uniquement la valeur 8, il me met 4568 Si je tape uniquement la valeur 12, il me met 4512 si je tape uniquement la valeur 345, il me met 4345
En gros, ce sont des nombre de 4 chiffres que je peux entrer. Si j'en tape qu'un seul, il me met par défaut:
- les trois derniers du dernier enregistrement - le chiffre tapé
En continu, cela donne:
enregistrement 1: 1456 Enregistrement 2: 2 puis "enter" = 1452 Enregistrement 3: 7 puis "enter" = 1457 Enregistrement 4: 15 puis "enter" = 1415 ect...
C'est juste un procédé qui me permet d'aller plus vite. Il doit y avoir une solution, vu que j'ai un vieux truc qui fonctionne sous DOS, qui me permet ce genre de saisie.
bien à toi,
Loïc
"Cyrille" a écrit :
Que ce passe t'il quand on arrive à 1209??
"Loïc V." a écrit :
> Bonjour, > > comment dans un formulaire continu, puis-je faliter la saisie d'une donnée > calquée sur la précédente? > > Exemple: > > Si je dois entrer la valeur 1205 > Comment puis je faire pour que n'entre que la donnée 6 et qu'il me mette > automatiquement 1206? > > Merci beaucoup, > > Loïc > >
Dragan
Bonjour Loïc, dans l'événement touche relâchée du control essaie ce code :
If KeyCode=VbKeyTab Or KeyCode=VbKeyReturn Then NomControl.Value=_ Left(DLast('NomChamp ','NomTable'),4-Len(NomControl.Text)) & NomControl.Text End if
Remplace NomChamp, NomTable et NomControl par les noms de ton champ, de ta table et du control de saisie
"Loïc V." a écrit :
Je crois que je me suis mal fait comprendre.
Dernier enregistrement = 4567 si je tape uniquement la valeur 8, il me met 4568 Si je tape uniquement la valeur 12, il me met 4512 si je tape uniquement la valeur 345, il me met 4345
En gros, ce sont des nombre de 4 chiffres que je peux entrer. Si j'en tape qu'un seul, il me met par défaut:
- les trois derniers du dernier enregistrement - le chiffre tapé
En continu, cela donne:
enregistrement 1: 1456 Enregistrement 2: 2 puis "enter" = 1452 Enregistrement 3: 7 puis "enter" = 1457 Enregistrement 4: 15 puis "enter" = 1415 ect...
C'est juste un procédé qui me permet d'aller plus vite. Il doit y avoir une solution, vu que j'ai un vieux truc qui fonctionne sous DOS, qui me permet ce genre de saisie.
bien à toi,
Loïc
"Cyrille" a écrit :
> Que ce passe t'il quand on arrive à 1209?? > > "Loïc V." a écrit : > > > Bonjour, > > > > comment dans un formulaire continu, puis-je faliter la saisie d'une donnée > > calquée sur la précédente? > > > > Exemple: > > > > Si je dois entrer la valeur 1205 > > Comment puis je faire pour que n'entre que la donnée 6 et qu'il me mette > > automatiquement 1206? > > > > Merci beaucoup, > > > > Loïc > > > >
Bonjour Loïc,
dans l'événement touche relâchée du control essaie ce code :
If KeyCode=VbKeyTab Or KeyCode=VbKeyReturn Then
NomControl.Value=_
Left(DLast('NomChamp ','NomTable'),4-Len(NomControl.Text)) & NomControl.Text
End if
Remplace NomChamp, NomTable et NomControl par les noms de ton champ, de ta
table et du control de saisie
"Loïc V." a écrit :
Je crois que je me suis mal fait comprendre.
Dernier enregistrement = 4567
si je tape uniquement la valeur 8, il me met 4568
Si je tape uniquement la valeur 12, il me met 4512
si je tape uniquement la valeur 345, il me met 4345
En gros, ce sont des nombre de 4 chiffres que je peux entrer. Si j'en tape
qu'un seul, il me met par défaut:
- les trois derniers du dernier enregistrement
- le chiffre tapé
En continu, cela donne:
enregistrement 1: 1456
Enregistrement 2: 2 puis "enter" = 1452
Enregistrement 3: 7 puis "enter" = 1457
Enregistrement 4: 15 puis "enter" = 1415
ect...
C'est juste un procédé qui me permet d'aller plus vite.
Il doit y avoir une solution, vu que j'ai un vieux truc qui fonctionne sous
DOS, qui me permet ce genre de saisie.
bien à toi,
Loïc
"Cyrille" a écrit :
> Que ce passe t'il quand on arrive à 1209??
>
> "Loïc V." a écrit :
>
> > Bonjour,
> >
> > comment dans un formulaire continu, puis-je faliter la saisie d'une donnée
> > calquée sur la précédente?
> >
> > Exemple:
> >
> > Si je dois entrer la valeur 1205
> > Comment puis je faire pour que n'entre que la donnée 6 et qu'il me mette
> > automatiquement 1206?
> >
> > Merci beaucoup,
> >
> > Loïc
> >
> >
Bonjour Loïc, dans l'événement touche relâchée du control essaie ce code :
If KeyCode=VbKeyTab Or KeyCode=VbKeyReturn Then NomControl.Value=_ Left(DLast('NomChamp ','NomTable'),4-Len(NomControl.Text)) & NomControl.Text End if
Remplace NomChamp, NomTable et NomControl par les noms de ton champ, de ta table et du control de saisie
"Loïc V." a écrit :
Je crois que je me suis mal fait comprendre.
Dernier enregistrement = 4567 si je tape uniquement la valeur 8, il me met 4568 Si je tape uniquement la valeur 12, il me met 4512 si je tape uniquement la valeur 345, il me met 4345
En gros, ce sont des nombre de 4 chiffres que je peux entrer. Si j'en tape qu'un seul, il me met par défaut:
- les trois derniers du dernier enregistrement - le chiffre tapé
En continu, cela donne:
enregistrement 1: 1456 Enregistrement 2: 2 puis "enter" = 1452 Enregistrement 3: 7 puis "enter" = 1457 Enregistrement 4: 15 puis "enter" = 1415 ect...
C'est juste un procédé qui me permet d'aller plus vite. Il doit y avoir une solution, vu que j'ai un vieux truc qui fonctionne sous DOS, qui me permet ce genre de saisie.
bien à toi,
Loïc
"Cyrille" a écrit :
> Que ce passe t'il quand on arrive à 1209?? > > "Loïc V." a écrit : > > > Bonjour, > > > > comment dans un formulaire continu, puis-je faliter la saisie d'une donnée > > calquée sur la précédente? > > > > Exemple: > > > > Si je dois entrer la valeur 1205 > > Comment puis je faire pour que n'entre que la donnée 6 et qu'il me mette > > automatiquement 1206? > > > > Merci beaucoup, > > > > Loïc > > > >
Loïc V.
Merci Dragan!!
Mais il doit y avoir une erreur de syntaxe là: NomControl.Value=_ (t'es certain du underscore ?).
Access me dit aussi qu'il y a une erreur là: Left(DLast('NomChamp ','NomTable'), (les ' ....' sont ils appropriés ou dois-je plutôt mettre des "...." ou des [.....] ?
Et il n'y aurait pas moyen tout simplement de jouer avec les numauto qui reprendrait à partir du dernier enregistrement ?
Bien à toi,
Loïc
"Dragan" a écrit :
Bonjour Loïc, dans l'événement touche relâchée du control essaie ce code :
If KeyCode=VbKeyTab Or KeyCode=VbKeyReturn Then NomControl.Value=_ Left(DLast('NomChamp ','NomTable'),4-Len(NomControl.Text)) & NomControl.Text End if
Remplace NomChamp, NomTable et NomControl par les noms de ton champ, de ta table et du control de saisie
"Loïc V." a écrit :
> Je crois que je me suis mal fait comprendre. > > Dernier enregistrement = 4567 > si je tape uniquement la valeur 8, il me met 4568 > Si je tape uniquement la valeur 12, il me met 4512 > si je tape uniquement la valeur 345, il me met 4345 > > En gros, ce sont des nombre de 4 chiffres que je peux entrer. Si j'en tape > qu'un seul, il me met par défaut: > > - les trois derniers du dernier enregistrement > - le chiffre tapé > > En continu, cela donne: > > enregistrement 1: 1456 > Enregistrement 2: 2 puis "enter" = 1452 > Enregistrement 3: 7 puis "enter" = 1457 > Enregistrement 4: 15 puis "enter" = 1415 > ect... > > > C'est juste un procédé qui me permet d'aller plus vite. > Il doit y avoir une solution, vu que j'ai un vieux truc qui fonctionne sous > DOS, qui me permet ce genre de saisie. > > bien à toi, > > Loïc > > > > "Cyrille" a écrit : > > > Que ce passe t'il quand on arrive à 1209?? > > > > "Loïc V." a écrit : > > > > > Bonjour, > > > > > > comment dans un formulaire continu, puis-je faliter la saisie d'une donnée > > > calquée sur la précédente? > > > > > > Exemple: > > > > > > Si je dois entrer la valeur 1205 > > > Comment puis je faire pour que n'entre que la donnée 6 et qu'il me mette > > > automatiquement 1206? > > > > > > Merci beaucoup, > > > > > > Loïc > > > > > >
Merci Dragan!!
Mais il doit y avoir une erreur de syntaxe là: NomControl.Value=_ (t'es
certain du underscore ?).
Access me dit aussi qu'il y a une erreur là: Left(DLast('NomChamp
','NomTable'), (les ' ....' sont ils appropriés ou dois-je plutôt mettre des
"...." ou des [.....] ?
Et il n'y aurait pas moyen tout simplement de jouer avec les numauto qui
reprendrait à partir du dernier enregistrement ?
Bien à toi,
Loïc
"Dragan" a écrit :
Bonjour Loïc,
dans l'événement touche relâchée du control essaie ce code :
If KeyCode=VbKeyTab Or KeyCode=VbKeyReturn Then
NomControl.Value=_
Left(DLast('NomChamp ','NomTable'),4-Len(NomControl.Text)) & NomControl.Text
End if
Remplace NomChamp, NomTable et NomControl par les noms de ton champ, de ta
table et du control de saisie
"Loïc V." a écrit :
> Je crois que je me suis mal fait comprendre.
>
> Dernier enregistrement = 4567
> si je tape uniquement la valeur 8, il me met 4568
> Si je tape uniquement la valeur 12, il me met 4512
> si je tape uniquement la valeur 345, il me met 4345
>
> En gros, ce sont des nombre de 4 chiffres que je peux entrer. Si j'en tape
> qu'un seul, il me met par défaut:
>
> - les trois derniers du dernier enregistrement
> - le chiffre tapé
>
> En continu, cela donne:
>
> enregistrement 1: 1456
> Enregistrement 2: 2 puis "enter" = 1452
> Enregistrement 3: 7 puis "enter" = 1457
> Enregistrement 4: 15 puis "enter" = 1415
> ect...
>
>
> C'est juste un procédé qui me permet d'aller plus vite.
> Il doit y avoir une solution, vu que j'ai un vieux truc qui fonctionne sous
> DOS, qui me permet ce genre de saisie.
>
> bien à toi,
>
> Loïc
>
>
>
> "Cyrille" a écrit :
>
> > Que ce passe t'il quand on arrive à 1209??
> >
> > "Loïc V." a écrit :
> >
> > > Bonjour,
> > >
> > > comment dans un formulaire continu, puis-je faliter la saisie d'une donnée
> > > calquée sur la précédente?
> > >
> > > Exemple:
> > >
> > > Si je dois entrer la valeur 1205
> > > Comment puis je faire pour que n'entre que la donnée 6 et qu'il me mette
> > > automatiquement 1206?
> > >
> > > Merci beaucoup,
> > >
> > > Loïc
> > >
> > >
Mais il doit y avoir une erreur de syntaxe là: NomControl.Value=_ (t'es certain du underscore ?).
Access me dit aussi qu'il y a une erreur là: Left(DLast('NomChamp ','NomTable'), (les ' ....' sont ils appropriés ou dois-je plutôt mettre des "...." ou des [.....] ?
Et il n'y aurait pas moyen tout simplement de jouer avec les numauto qui reprendrait à partir du dernier enregistrement ?
Bien à toi,
Loïc
"Dragan" a écrit :
Bonjour Loïc, dans l'événement touche relâchée du control essaie ce code :
If KeyCode=VbKeyTab Or KeyCode=VbKeyReturn Then NomControl.Value=_ Left(DLast('NomChamp ','NomTable'),4-Len(NomControl.Text)) & NomControl.Text End if
Remplace NomChamp, NomTable et NomControl par les noms de ton champ, de ta table et du control de saisie
"Loïc V." a écrit :
> Je crois que je me suis mal fait comprendre. > > Dernier enregistrement = 4567 > si je tape uniquement la valeur 8, il me met 4568 > Si je tape uniquement la valeur 12, il me met 4512 > si je tape uniquement la valeur 345, il me met 4345 > > En gros, ce sont des nombre de 4 chiffres que je peux entrer. Si j'en tape > qu'un seul, il me met par défaut: > > - les trois derniers du dernier enregistrement > - le chiffre tapé > > En continu, cela donne: > > enregistrement 1: 1456 > Enregistrement 2: 2 puis "enter" = 1452 > Enregistrement 3: 7 puis "enter" = 1457 > Enregistrement 4: 15 puis "enter" = 1415 > ect... > > > C'est juste un procédé qui me permet d'aller plus vite. > Il doit y avoir une solution, vu que j'ai un vieux truc qui fonctionne sous > DOS, qui me permet ce genre de saisie. > > bien à toi, > > Loïc > > > > "Cyrille" a écrit : > > > Que ce passe t'il quand on arrive à 1209?? > > > > "Loïc V." a écrit : > > > > > Bonjour, > > > > > > comment dans un formulaire continu, puis-je faliter la saisie d'une donnée > > > calquée sur la précédente? > > > > > > Exemple: > > > > > > Si je dois entrer la valeur 1205 > > > Comment puis je faire pour que n'entre que la donnée 6 et qu'il me mette > > > automatiquement 1206? > > > > > > Merci beaucoup, > > > > > > Loïc > > > > > >
Loïc V.
Bein, en fait, en testant, j'ai trouvé un truc assez simple:
Valeur par défaut = Last ("controle") +2
en ouvrant le formuaire, il me met par défaut la valeur "2", j'ai donc créer un code sur l'ouverture pour qu'il ne me mette rien si la valeur 2 apparaît.
Mais qd même un petit souci. Lors de l'ouverture, il me met rien (OK), et je tape 783 (par exemple) Lors de la deuxième saisie, il ne me met pas 784 mais le nombre qui apparaissait lors de la saisie N-2 en l'augmentant de 2. Puis, lors de la troisième saisie, ca marche bien.
Pourquoi ca foire lors de la deuxième sasie et pas après ?
Notez que je capte pas pourquoi Last ("controle") +2, et bien, c'est +2. au départ, j'avais essayé avec +1 mais comme ça marchait pas, j'ai tenté +2, et ça a fonctionné... (coup de bol). Est-ce que +2 a un lien avec le fait que la valeur obtenue lors de la 2ème saisie foire ?
Merci
Loîc
PS:
Bein, en fait, en testant, j'ai trouvé un truc assez simple:
Valeur par défaut = Last ("controle") +2
en ouvrant le formuaire, il me met par défaut la valeur "2", j'ai donc créer
un code sur l'ouverture pour qu'il ne me mette rien si la valeur 2 apparaît.
Mais qd même un petit souci.
Lors de l'ouverture, il me met rien (OK), et je tape 783 (par exemple)
Lors de la deuxième saisie, il ne me met pas 784 mais le nombre qui
apparaissait lors de la saisie N-2 en l'augmentant de 2.
Puis, lors de la troisième saisie, ca marche bien.
Pourquoi ca foire lors de la deuxième sasie et pas après ?
Notez que je capte pas pourquoi Last ("controle") +2, et bien, c'est +2. au
départ, j'avais essayé avec +1 mais comme ça marchait pas, j'ai tenté +2, et
ça a fonctionné... (coup de bol). Est-ce que +2 a un lien avec le fait que la
valeur obtenue lors de la 2ème saisie foire ?
Bein, en fait, en testant, j'ai trouvé un truc assez simple:
Valeur par défaut = Last ("controle") +2
en ouvrant le formuaire, il me met par défaut la valeur "2", j'ai donc créer un code sur l'ouverture pour qu'il ne me mette rien si la valeur 2 apparaît.
Mais qd même un petit souci. Lors de l'ouverture, il me met rien (OK), et je tape 783 (par exemple) Lors de la deuxième saisie, il ne me met pas 784 mais le nombre qui apparaissait lors de la saisie N-2 en l'augmentant de 2. Puis, lors de la troisième saisie, ca marche bien.
Pourquoi ca foire lors de la deuxième sasie et pas après ?
Notez que je capte pas pourquoi Last ("controle") +2, et bien, c'est +2. au départ, j'avais essayé avec +1 mais comme ça marchait pas, j'ai tenté +2, et ça a fonctionné... (coup de bol). Est-ce que +2 a un lien avec le fait que la valeur obtenue lors de la 2ème saisie foire ?
Merci
Loîc
PS:
Loïc V.
Veuillez m'excuser, je me mélange les pinceaux. J'étais sur deux aidées à la fois. Celle de l'incréentation à partir du dernier enregistrement (voir dernier message).
Mais je n'ai pas encore trouvé d'astuce pour la saisie "automatique". Un grand merci à Dragan, mais s tu as le temps, pourrais tu revoir la syntaxe de ta solution, stp ?
Merci beaucoup
Veuillez m'excuser, je me mélange les pinceaux.
J'étais sur deux aidées à la fois. Celle de l'incréentation à partir du
dernier enregistrement (voir dernier message).
Mais je n'ai pas encore trouvé d'astuce pour la saisie "automatique".
Un grand merci à Dragan, mais s tu as le temps, pourrais tu revoir la
syntaxe de ta solution, stp ?
Veuillez m'excuser, je me mélange les pinceaux. J'étais sur deux aidées à la fois. Celle de l'incréentation à partir du dernier enregistrement (voir dernier message).
Mais je n'ai pas encore trouvé d'astuce pour la saisie "automatique". Un grand merci à Dragan, mais s tu as le temps, pourrais tu revoir la syntaxe de ta solution, stp ?
Merci beaucoup
Dragan
Bonjour Loïc, l'underscore n'est là que pour indiquer que la ligne continue en dessous. Donc retire-le. Ce code ne marche que pour les champs ayant 4 caractères comme tu l'as indiqué dans ton second post.
If KeyCode=VbKeyTab Or KeyCode=VbKeyReturn Then NomControl.Value Left(DLast('NomChamp ','NomTable'),4-Len(NomControl.Text)) & NomControl.Text End if
"Loïc V." a écrit :
Veuillez m'excuser, je me mélange les pinceaux. J'étais sur deux aidées à la fois. Celle de l'incréentation à partir du dernier enregistrement (voir dernier message).
Mais je n'ai pas encore trouvé d'astuce pour la saisie "automatique". Un grand merci à Dragan, mais s tu as le temps, pourrais tu revoir la syntaxe de ta solution, stp ?
Merci beaucoup
Bonjour Loïc, l'underscore n'est là que pour indiquer que la ligne continue
en dessous. Donc retire-le.
Ce code ne marche que pour les champs ayant 4 caractères comme tu l'as
indiqué dans ton second post.
If KeyCode=VbKeyTab Or KeyCode=VbKeyReturn Then
NomControl.Value Left(DLast('NomChamp ','NomTable'),4-Len(NomControl.Text)) & NomControl.Text
End if
"Loïc V." a écrit :
Veuillez m'excuser, je me mélange les pinceaux.
J'étais sur deux aidées à la fois. Celle de l'incréentation à partir du
dernier enregistrement (voir dernier message).
Mais je n'ai pas encore trouvé d'astuce pour la saisie "automatique".
Un grand merci à Dragan, mais s tu as le temps, pourrais tu revoir la
syntaxe de ta solution, stp ?
Bonjour Loïc, l'underscore n'est là que pour indiquer que la ligne continue en dessous. Donc retire-le. Ce code ne marche que pour les champs ayant 4 caractères comme tu l'as indiqué dans ton second post.
If KeyCode=VbKeyTab Or KeyCode=VbKeyReturn Then NomControl.Value Left(DLast('NomChamp ','NomTable'),4-Len(NomControl.Text)) & NomControl.Text End if
"Loïc V." a écrit :
Veuillez m'excuser, je me mélange les pinceaux. J'étais sur deux aidées à la fois. Celle de l'incréentation à partir du dernier enregistrement (voir dernier message).
Mais je n'ai pas encore trouvé d'astuce pour la saisie "automatique". Un grand merci à Dragan, mais s tu as le temps, pourrais tu revoir la syntaxe de ta solution, stp ?