Pb code sur touche appuyée

Le
jcp66
Bonjour
J'ai deja soumis ce pb dans un precedent message sans avoir eu de solution.
Mais comme je viens de le cerner un peu je me permets de le reposer.
Qui sait cela pourra peut etre eclairer un peu.

J'ai un code qui devrait se derouler sur clic de souris ou sur touche
appuyée (n importe laquelle)
Il fonctionne bien sur clic ais pas sur touche appuyée.
Et ce qui ne fonctionne pas ce sont les fonctons DMax et Dcount.
Cela fait un moment que je cogite en tournant en rond et sans rien voir.
Alors si qqun y voit plus clair par avance merci


Voici le code

Private Sub CodeSite_Click()
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" & Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" & Me.Objet_Site
& "'")
Objet_Titre = nbenreg
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub


Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As Integer)
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" & Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" & Me.Objet_Site
& "'")
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Argyronet
Le #6320051
Bonjour,

1/ Pour éviter les confusions et les erreurs, il est judicieux de créer une
procédure unique qui effectue votre demande :

Private Sub CodeSite_Click()
Call MajCodeSite
End Sub

Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As Integer)
Call MajCodeSite
End Sub

Private Sub MajCodeSite()
{....}
End Sub

2/ L'événement de touches est supervisé par la propriété "KeyPreview" qui
doit être défini à True dans le Formulaire d'une part et il peut être
préférable de déclencher l'événement sur le formulaire (à étudier) :

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = "Une touche spécifique" Then Call MajCodeSite
End Sub

"Une touche spécifique" est définie par une constante (ex : vbKeyF5 pour la
touche F5)
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Bonjour
J'ai deja soumis ce pb dans un precedent message sans avoir eu de solution.
Mais comme je viens de le cerner un peu je me permets de le reposer.
Qui sait cela pourra peut etre eclairer un peu.

J'ai un code qui devrait se derouler sur clic de souris ou sur touche
appuyée (n importe laquelle)
Il fonctionne bien sur clic ais pas sur touche appuyée.
Et ce qui ne fonctionne pas ce sont les fonctons DMax et Dcount.
Cela fait un moment que je cogite en tournant en rond et sans rien voir.
Alors si qqun y voit plus clair par avance merci


Voici le code

Private Sub CodeSite_Click()
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" & Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" & Me.Objet_Site
& "'")
Objet_Titre = nbenreg
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub


Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As Integer)
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" & Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" & Me.Objet_Site
& "'")
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub






jcp66
Le #6320031
Merci Argy. Tes conseils m'ont permis de mettre un peu d'ordre dans
l'écriture des codes.
J'ai mis en place ce que tu me preconisais, mais j'ai toujours le meme
probleme OK sur click et KO sur touche appuyée (y compris en selection une
touche en l occurence F5).
Le probleme reste . Désolé.
jcp

"Argyronet" news:
Bonjour,

1/ Pour éviter les confusions et les erreurs, il est judicieux de créer
une
procédure unique qui effectue votre demande :

Private Sub CodeSite_Click()
Call MajCodeSite
End Sub

Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As Integer)
Call MajCodeSite
End Sub

Private Sub MajCodeSite()
{....}
End Sub

2/ L'événement de touches est supervisé par la propriété "KeyPreview" qui
doit être défini à True dans le Formulaire d'une part et il peut être
préférable de déclencher l'événement sur le formulaire (à étudier) :

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = "Une touche spécifique" Then Call MajCodeSite
End Sub

"Une touche spécifique" est définie par une constante (ex : vbKeyF5 pour
la
touche F5)
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Bonjour
J'ai deja soumis ce pb dans un precedent message sans avoir eu de
solution.
Mais comme je viens de le cerner un peu je me permets de le reposer.
Qui sait cela pourra peut etre eclairer un peu.

J'ai un code qui devrait se derouler sur clic de souris ou sur touche
appuyée (n importe laquelle)
Il fonctionne bien sur clic ais pas sur touche appuyée.
Et ce qui ne fonctionne pas ce sont les fonctons DMax et Dcount.
Cela fait un moment que je cogite en tournant en rond et sans rien voir.
Alors si qqun y voit plus clair par avance merci


Voici le code

Private Sub CodeSite_Click()
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
Objet_Titre = nbenreg
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub


Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As Integer)
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub









Argyronet
Le #6319991
Humm, avez-vous bien défini la propriété "Aperçu des Touches" à Vrai ?

Posez alors cet exemple dans votre code :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF5 Then MsgBox "Vous avez appuyé sur F5 !"
End Sub
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Merci Argy. Tes conseils m'ont permis de mettre un peu d'ordre dans
l'écriture des codes.
J'ai mis en place ce que tu me preconisais, mais j'ai toujours le meme
probleme OK sur click et KO sur touche appuyée (y compris en selection une
touche en l occurence F5).
Le probleme reste . Désolé.
jcp

"Argyronet" news:
Bonjour,

1/ Pour éviter les confusions et les erreurs, il est judicieux de créer
une
procédure unique qui effectue votre demande :

Private Sub CodeSite_Click()
Call MajCodeSite
End Sub

Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As Integer)
Call MajCodeSite
End Sub

Private Sub MajCodeSite()
{....}
End Sub

2/ L'événement de touches est supervisé par la propriété "KeyPreview" qui
doit être défini à True dans le Formulaire d'une part et il peut être
préférable de déclencher l'événement sur le formulaire (à étudier) :

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = "Une touche spécifique" Then Call MajCodeSite
End Sub

"Une touche spécifique" est définie par une constante (ex : vbKeyF5 pour
la
touche F5)
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Bonjour
J'ai deja soumis ce pb dans un precedent message sans avoir eu de
solution.
Mais comme je viens de le cerner un peu je me permets de le reposer.
Qui sait cela pourra peut etre eclairer un peu.

J'ai un code qui devrait se derouler sur clic de souris ou sur touche
appuyée (n importe laquelle)
Il fonctionne bien sur clic ais pas sur touche appuyée.
Et ce qui ne fonctionne pas ce sont les fonctons DMax et Dcount.
Cela fait un moment que je cogite en tournant en rond et sans rien voir.
Alors si qqun y voit plus clair par avance merci


Voici le code

Private Sub CodeSite_Click()
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
Objet_Titre = nbenreg
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub


Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As Integer)
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub














jcp66
Le #6319871
Il se positionne ou ce KeyPreview ?
Merci
jcp

"Argyronet" news:
Humm, avez-vous bien défini la propriété "Aperçu des Touches" à Vrai ?

Posez alors cet exemple dans votre code :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF5 Then MsgBox "Vous avez appuyé sur F5 !"
End Sub
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Merci Argy. Tes conseils m'ont permis de mettre un peu d'ordre dans
l'écriture des codes.
J'ai mis en place ce que tu me preconisais, mais j'ai toujours le meme
probleme OK sur click et KO sur touche appuyée (y compris en selection
une
touche en l occurence F5).
Le probleme reste . Désolé.
jcp

"Argyronet" de
news:
Bonjour,

1/ Pour éviter les confusions et les erreurs, il est judicieux de créer
une
procédure unique qui effectue votre demande :

Private Sub CodeSite_Click()
Call MajCodeSite
End Sub

Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As Integer)
Call MajCodeSite
End Sub

Private Sub MajCodeSite()
{....}
End Sub

2/ L'événement de touches est supervisé par la propriété "KeyPreview"
qui
doit être défini à True dans le Formulaire d'une part et il peut être
préférable de déclencher l'événement sur le formulaire (à étudier) :

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = "Une touche spécifique" Then Call MajCodeSite
End Sub

"Une touche spécifique" est définie par une constante (ex : vbKeyF5
pour
la
touche F5)
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Bonjour
J'ai deja soumis ce pb dans un precedent message sans avoir eu de
solution.
Mais comme je viens de le cerner un peu je me permets de le reposer.
Qui sait cela pourra peut etre eclairer un peu.

J'ai un code qui devrait se derouler sur clic de souris ou sur touche
appuyée (n importe laquelle)
Il fonctionne bien sur clic ais pas sur touche appuyée.
Et ce qui ne fonctionne pas ce sont les fonctons DMax et Dcount.
Cela fait un moment que je cogite en tournant en rond et sans rien
voir.
Alors si qqun y voit plus clair par avance merci


Voici le code

Private Sub CodeSite_Click()
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
Objet_Titre = nbenreg
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub


Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As Integer)
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub

















Argyronet
Le #6319851
C'est une propriété du formulaire située dans l'onglet "Evénement"
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Il se positionne ou ce KeyPreview ?
Merci
jcp

"Argyronet" news:
Humm, avez-vous bien défini la propriété "Aperçu des Touches" à Vrai ?

Posez alors cet exemple dans votre code :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF5 Then MsgBox "Vous avez appuyé sur F5 !"
End Sub
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Merci Argy. Tes conseils m'ont permis de mettre un peu d'ordre dans
l'écriture des codes.
J'ai mis en place ce que tu me preconisais, mais j'ai toujours le meme
probleme OK sur click et KO sur touche appuyée (y compris en selection
une
touche en l occurence F5).
Le probleme reste . Désolé.
jcp

"Argyronet" de
news:
Bonjour,

1/ Pour éviter les confusions et les erreurs, il est judicieux de créer
une
procédure unique qui effectue votre demande :

Private Sub CodeSite_Click()
Call MajCodeSite
End Sub

Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As Integer)
Call MajCodeSite
End Sub

Private Sub MajCodeSite()
{....}
End Sub

2/ L'événement de touches est supervisé par la propriété "KeyPreview"
qui
doit être défini à True dans le Formulaire d'une part et il peut être
préférable de déclencher l'événement sur le formulaire (à étudier) :

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = "Une touche spécifique" Then Call MajCodeSite
End Sub

"Une touche spécifique" est définie par une constante (ex : vbKeyF5
pour
la
touche F5)
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Bonjour
J'ai deja soumis ce pb dans un precedent message sans avoir eu de
solution.
Mais comme je viens de le cerner un peu je me permets de le reposer.
Qui sait cela pourra peut etre eclairer un peu.

J'ai un code qui devrait se derouler sur clic de souris ou sur touche
appuyée (n importe laquelle)
Il fonctionne bien sur clic ais pas sur touche appuyée.
Et ce qui ne fonctionne pas ce sont les fonctons DMax et Dcount.
Cela fait un moment que je cogite en tournant en rond et sans rien
voir.
Alors si qqun y voit plus clair par avance merci


Voici le code

Private Sub CodeSite_Click()
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
Objet_Titre = nbenreg
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub


Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As Integer)
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub






















jcp66
Le #6319841
Effectivement KeyPreview était positionné à Non. Je l'ai mis à Oui.
Maintenant qd j'appui sur F5 j'ai bien la boite de message qui apparait.
Mais j'ai tj le meme pb avec DMax et Dcount qui ne se calculent pas sur
touche appuyée alors qu'ils se calculent sur clic.
Le canard résiste................
jcp

"Argyronet" news:
C'est une propriété du formulaire située dans l'onglet "Evénement"
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Il se positionne ou ce KeyPreview ?
Merci
jcp

"Argyronet" de
news:
Humm, avez-vous bien défini la propriété "Aperçu des Touches" à Vrai ?

Posez alors cet exemple dans votre code :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF5 Then MsgBox "Vous avez appuyé sur F5 !"
End Sub
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Merci Argy. Tes conseils m'ont permis de mettre un peu d'ordre dans
l'écriture des codes.
J'ai mis en place ce que tu me preconisais, mais j'ai toujours le meme
probleme OK sur click et KO sur touche appuyée (y compris en selection
une
touche en l occurence F5).
Le probleme reste . Désolé.
jcp

"Argyronet" message
de
news:
Bonjour,

1/ Pour éviter les confusions et les erreurs, il est judicieux de
créer
une
procédure unique qui effectue votre demande :

Private Sub CodeSite_Click()
Call MajCodeSite
End Sub

Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As Integer)
Call MajCodeSite
End Sub

Private Sub MajCodeSite()
{....}
End Sub

2/ L'événement de touches est supervisé par la propriété
"KeyPreview"
qui
doit être défini à True dans le Formulaire d'une part et il peut
être
préférable de déclencher l'événement sur le formulaire (à étudier) :

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = "Une touche spécifique" Then Call MajCodeSite
End Sub

"Une touche spécifique" est définie par une constante (ex : vbKeyF5
pour
la
touche F5)
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Bonjour
J'ai deja soumis ce pb dans un precedent message sans avoir eu de
solution.
Mais comme je viens de le cerner un peu je me permets de le
reposer.
Qui sait cela pourra peut etre eclairer un peu.

J'ai un code qui devrait se derouler sur clic de souris ou sur
touche
appuyée (n importe laquelle)
Il fonctionne bien sur clic ais pas sur touche appuyée.
Et ce qui ne fonctionne pas ce sont les fonctons DMax et Dcount.
Cela fait un moment que je cogite en tournant en rond et sans rien
voir.
Alors si qqun y voit plus clair par avance merci


Voici le code

Private Sub CodeSite_Click()
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
Objet_Titre = nbenreg
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub


Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As Integer)
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub

























Argyronet
Le #6319801
Disons que votre sollicitation concernait l'événement Touches.
Après le problème de votre procédure est autre chose.
Personnellement, je n'utilise jamais les fonctions de domaines qui restent
peu souples et un peu lourdes en performance.
Là, il vous appartient de vérifier que votre procédure retourne ce que vous
attendez.
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Effectivement KeyPreview était positionné à Non. Je l'ai mis à Oui.
Maintenant qd j'appui sur F5 j'ai bien la boite de message qui apparait.
Mais j'ai tj le meme pb avec DMax et Dcount qui ne se calculent pas sur
touche appuyée alors qu'ils se calculent sur clic.
Le canard résiste................
jcp

"Argyronet" news:
C'est une propriété du formulaire située dans l'onglet "Evénement"
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Il se positionne ou ce KeyPreview ?
Merci
jcp

"Argyronet" de
news:
Humm, avez-vous bien défini la propriété "Aperçu des Touches" à Vrai ?

Posez alors cet exemple dans votre code :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF5 Then MsgBox "Vous avez appuyé sur F5 !"
End Sub
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Merci Argy. Tes conseils m'ont permis de mettre un peu d'ordre dans
l'écriture des codes.
J'ai mis en place ce que tu me preconisais, mais j'ai toujours le meme
probleme OK sur click et KO sur touche appuyée (y compris en selection
une
touche en l occurence F5).
Le probleme reste . Désolé.
jcp

"Argyronet" message
de
news:
Bonjour,

1/ Pour éviter les confusions et les erreurs, il est judicieux de
créer
une
procédure unique qui effectue votre demande :

Private Sub CodeSite_Click()
Call MajCodeSite
End Sub

Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As Integer)
Call MajCodeSite
End Sub

Private Sub MajCodeSite()
{....}
End Sub

2/ L'événement de touches est supervisé par la propriété
"KeyPreview"
qui
doit être défini à True dans le Formulaire d'une part et il peut
être
préférable de déclencher l'événement sur le formulaire (à étudier) :

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = "Une touche spécifique" Then Call MajCodeSite
End Sub

"Une touche spécifique" est définie par une constante (ex : vbKeyF5
pour
la
touche F5)
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Bonjour
J'ai deja soumis ce pb dans un precedent message sans avoir eu de
solution.
Mais comme je viens de le cerner un peu je me permets de le
reposer.
Qui sait cela pourra peut etre eclairer un peu.

J'ai un code qui devrait se derouler sur clic de souris ou sur
touche
appuyée (n importe laquelle)
Il fonctionne bien sur clic ais pas sur touche appuyée.
Et ce qui ne fonctionne pas ce sont les fonctons DMax et Dcount.
Cela fait un moment que je cogite en tournant en rond et sans rien
voir.
Alors si qqun y voit plus clair par avance merci


Voici le code

Private Sub CodeSite_Click()
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
Objet_Titre = nbenreg
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub


Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As Integer)
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub






























jcp66
Le #6319741
"Argyronet" news:
Disons que votre sollicitation concernait l'événement Touches.
Après le problème de votre procédure est autre chose.
Personnellement, je n'utilise jamais les fonctions de domaines qui restent
peu souples et un peu lourdes en performance.
Là, il vous appartient de vérifier que votre procédure retourne ce que
vous
attendez.
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Effectivement KeyPreview était positionné à Non. Je l'ai mis à Oui.
Maintenant qd j'appui sur F5 j'ai bien la boite de message qui apparait.
Mais j'ai tj le meme pb avec DMax et Dcount qui ne se calculent pas sur
touche appuyée alors qu'ils se calculent sur clic.
Le canard résiste................
jcp

"Argyronet" de
news:
C'est une propriété du formulaire située dans l'onglet "Evénement"
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Il se positionne ou ce KeyPreview ?
Merci
jcp

"Argyronet" message
de
news:
Humm, avez-vous bien défini la propriété "Aperçu des Touches" à Vrai
?

Posez alors cet exemple dans votre code :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF5 Then MsgBox "Vous avez appuyé sur F5 !"
End Sub
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN-2742982442 )



Merci Argy. Tes conseils m'ont permis de mettre un peu d'ordre dans
l'écriture des codes.
J'ai mis en place ce que tu me preconisais, mais j'ai toujours le
meme
probleme OK sur click et KO sur touche appuyée (y compris en
selection
une
touche en l occurence F5).
Le probleme reste . Désolé.
jcp

"Argyronet" message
de
news:
Bonjour,

1/ Pour éviter les confusions et les erreurs, il est judicieux de
créer
une
procédure unique qui effectue votre demande :

Private Sub CodeSite_Click()
Call MajCodeSite
End Sub

Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As
Integer)
Call MajCodeSite
End Sub

Private Sub MajCodeSite()
{....}
End Sub

2/ L'événement de touches est supervisé par la propriété
"KeyPreview"
qui
doit être défini à True dans le Formulaire d'une part et il peut
être
préférable de déclencher l'événement sur le formulaire (à
étudier) :

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = "Une touche spécifique" Then Call MajCodeSite
End Sub

"Une touche spécifique" est définie par une constante (ex :
vbKeyF5
pour
la
touche F5)
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007
(ISBN-2742982442 )



Bonjour
J'ai deja soumis ce pb dans un precedent message sans avoir eu
de
solution.
Mais comme je viens de le cerner un peu je me permets de le
reposer.
Qui sait cela pourra peut etre eclairer un peu.

J'ai un code qui devrait se derouler sur clic de souris ou sur
touche
appuyée (n importe laquelle)
Il fonctionne bien sur clic ais pas sur touche appuyée.
Et ce qui ne fonctionne pas ce sont les fonctons DMax et Dcount.
Cela fait un moment que je cogite en tournant en rond et sans
rien
voir.
Alors si qqun y voit plus clair par avance merci


Voici le code

Private Sub CodeSite_Click()
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
Objet_Titre = nbenreg
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub


Private Sub CodeSite_KeyDown(KeyCode As Integer, Shift As
Integer)
Me.CodeSite.DefaultValue = """" & Me.CodeSite & """"
objetmax = DMax("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
nbenreg = DCount("[Objet_Code]", "T_Objet", "[Objet_Site]='" &
Me.Objet_Site
& "'")
If nbenreg = 0 Then
Objet_Code = Objet_Site + "-001"
Else
nbobjets = Right(objetmax, 3) + 1
nbobjets = CStr(nbobjets)
nbobjets = "00" + nbobjets
nbobjets = Right(nbobjets, 3)
Objet_Code = Objet_Site + "-" + nbobjets
End If
End Sub
































Publicité
Poster une réponse
Anonyme