papillonnoir
Messages postés10Date d'inscriptionvendredi 8 juin 2007StatutMembreDernière intervention 8 juillet 2007
-
29 juin 2007 à 23:07
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 2007
-
30 juin 2007 à 18:18
svp comment faire pour que le champ de texte qui contient une année n accepte que les nombres et le caractere "/" et non d autre je fait une application pour la gestion d une ecole et j utilise dataenvirenement .
papillonnoir
Messages postés10Date d'inscriptionvendredi 8 juin 2007StatutMembreDernière intervention 8 juillet 2007 29 juin 2007 à 23:23
ça marche pas parce que moi je veux introduire que l année il me dit que erreur de syntaxe voici mon code
merci de bien vouloir m aider.
Private Sub TxtAnnee_Change()
If TxtAnnee <> "" Then
If date(TxtAnnee.Text) = False Then
MsgBox "Il faut saisir une année !", vbInformation, "C'est une année"
TxtAnnee.Text = ""
End If
papillonnoir
Messages postés10Date d'inscriptionvendredi 8 juin 2007StatutMembreDernière intervention 8 juillet 2007 29 juin 2007 à 23:35
comment j ai pas bien comprie je suis débutante j ai utilisé isnumeric mais ne prend pas en compte le caractere/ est ce qu il y a pas de fonction ou astuce pour faire 2007/2006 c est ce que je veut faire
merci d avance
papillonnoir
Messages postés10Date d'inscriptionvendredi 8 juin 2007StatutMembreDernière intervention 8 juillet 2007 30 juin 2007 à 00:09
ça marche tjrs pas il me dit erreur de syntaxe voici mon code
Private Sub TxtAnnee_Change()
If Len(TxtAnnee.Text) = 9 Then
If TxtAnnee <> "" Then
If IsNumeric(TxtAnnee.Text) = False and (len(txtAnnee.Text)/2)="/" and
MsgBox "Il faut saisir une année !", vbInformation, "C'est une année"
TxtAnnee.Text = ""
End If
End If
BruNews
Messages postés21041Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 201917 30 juin 2007 à 00:32
Dim str As String
str = TxtAnnee.Text
If Len(str) <> 9 Then Goto noGOOD
If Not IsNumeric(Left(str, 4)) Then Goto noGOOD
' A FINIR VALIDATION, JE VAIS DODO
' le Right
' le caractere central ""
exit sub
noGOOD:
MsgBox "Il faut saisir une année !", vbInformation, "C'est une année"
TxtAnnee.Text = ""
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 30 juin 2007 à 01:09
Bonsoir,
Plusieurs solutions dont :
>Ne saisir que la première partie
ex: 2006 .
ça sera plus facile de tester sur numérique
Ensuite complèter le champ avec la deuxième partie : 2006/2007
Comme ça tu controlera la plage d' une année.
>Proposer deux TextBox séparés par un label (/) qui se et toujours controler
la plage d' une année en forçant l' un par rapport à l' autre.
>Proposer un combo prérempli
>Proposer deux DtPicker Format "yyyy" et toujours en forçant l' un par rapport à l' autre.
papillonnoir
Messages postés10Date d'inscriptionvendredi 8 juin 2007StatutMembreDernière intervention 8 juillet 2007 30 juin 2007 à 09:36
j ai pensé a cette solution mais le champs année dans ma table n est pas composé de deux champs donc comment faire si je veux enregistrer l année dans ma table.
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 30 juin 2007 à 12:25
tu n' es pas forcé de changer quoi que ce soit à ta structure.
Tu gardes toujours un seul champ.Il faut juste 'jongler" un peu
avec .
Que tu saisisses une année sur un seul TextBox ou les deux sur deux TextBox,
tu affecteras à ton champ le résultat de la concaténation.
Si tes controls sont directement liés à la table, tu ne le fais pas sur ce ou ces textbox
mais tu utilises un troisième que tu mets en arrière plan (un label par exemple)
et c' est ce dernier qui va être lié.
S' il ne sont pas liés tu metteras à jour ton champ (avec le résultat) au moment de valider.
A l' inverse, si tu ouvres un enregistrement pour la modification,tu récupères la valeur
de ton champ et tu affectes une partie au premier textbox et la deuxième à l' autre.
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 30 juin 2007 à 18:18
Plus encore..,
Si tu changes le type de ton champ en numérique,
ça t' éviterait tout celà...
En effet , l' année scolaire étant à cheval entre deux années,
il suffit de renseigner le début , pour en connaitre la fin.
Et tu respecteras pour ainsi dire la règle d' or:
-Eviter, tant qu' on peut, d' enregistrer tout ce qui peut être généré.
As_Debut=2006 suffit amplement pour afficher 2006/2007.