Le VB à ses raisons que la raison ignore
Résolu
DarkAurora
Messages postés
417
Date d'inscription
Statut
Membre
Dernière intervention
-
DarkAurora Messages postés 417 Date d'inscription Statut Membre Dernière intervention -
DarkAurora Messages postés 417 Date d'inscription Statut Membre Dernière intervention -
Bonjour, quelque chose est difficile à comprendre pour moi voici le topo
j'ai créer un bouton RAZ pour réinitialiser tout les champs de mon formulaire de saisie sous access
voici le code
Private Sub RAZ_Click()
Dim v As Control
Dim u As Variant
For Each v In Me.Controls
If v.Properties("controltype") = 109 Then
v = Null
End If
If v.Properties("controltype") = 111 Then
v = Null
End If
If v.Properties("controltype") = 107 Then
v = Null
End If
Next v
End Sub
j'avais un problème d'erreur 33114 ou 3315 je ne sais plus mais ce qui me poser problème c'était la valeur "null interdit" dans ma table lié au formulaire, bref j'ai modifié cet valeur en mettant non et mon bouton marche à merveille
seulement je ne peu pas laisser l'utilisateur saisir tout et n'importe quoi c'est pourquoi j'ai écris ceci :
If (Texte138.Value = Null Or Modifiable10.Value = Null Or Modifiable197.Value = Null Or Modifiable203.Value = Null Or Modifiable278.Value = Null Or Cadre81.Value = Null Or Texte95.Value = Null Or [Description cause].Value = Null Or [analyse & description des opérations].Value = Null) Then
MsgBox ("veuillez remplir tout les champs")
Else
...........
enfin mon problème est le suivant après avoir appuyer sur mon bouton RAZ dans la suite de mon programme il ne passe pas dans le if et je ne comprend pas pourquoi
si quelqu'un peut m'aider ça serait très gentil
merci d'avance
j'ai créer un bouton RAZ pour réinitialiser tout les champs de mon formulaire de saisie sous access
voici le code
Private Sub RAZ_Click()
Dim v As Control
Dim u As Variant
For Each v In Me.Controls
If v.Properties("controltype") = 109 Then
v = Null
End If
If v.Properties("controltype") = 111 Then
v = Null
End If
If v.Properties("controltype") = 107 Then
v = Null
End If
Next v
End Sub
j'avais un problème d'erreur 33114 ou 3315 je ne sais plus mais ce qui me poser problème c'était la valeur "null interdit" dans ma table lié au formulaire, bref j'ai modifié cet valeur en mettant non et mon bouton marche à merveille
seulement je ne peu pas laisser l'utilisateur saisir tout et n'importe quoi c'est pourquoi j'ai écris ceci :
If (Texte138.Value = Null Or Modifiable10.Value = Null Or Modifiable197.Value = Null Or Modifiable203.Value = Null Or Modifiable278.Value = Null Or Cadre81.Value = Null Or Texte95.Value = Null Or [Description cause].Value = Null Or [analyse & description des opérations].Value = Null) Then
MsgBox ("veuillez remplir tout les champs")
Else
...........
enfin mon problème est le suivant après avoir appuyer sur mon bouton RAZ dans la suite de mon programme il ne passe pas dans le if et je ne comprend pas pourquoi
si quelqu'un peut m'aider ça serait très gentil
merci d'avance
A voir également:
- Le VB à ses raisons que la raison ignore
- Mon pc freeze sans raison - Guide
- Compte facebook désactivé sans raison - Guide
- Compte instagram desactivé sans raison - Guide
- Vb - Télécharger - Langages
- Mémoire ram saturée sans raison - Guide
24 réponses
Bonjour
Je ne suis pas spécialiste en VB, mais je suis tenté de penser que quand tu effaces un champ, il contient une chaîne vide et non pas null. Ton test devrait être If (Texte138.Value = "" Or Modifiable10.Value = "" etc...l
Je ne suis pas spécialiste en VB, mais je suis tenté de penser que quand tu effaces un champ, il contient une chaîne vide et non pas null. Ton test devrait être If (Texte138.Value = "" Or Modifiable10.Value = "" etc...l
j'ai essayé mais il me met encore un message d'erreur je vais bientôt tous les connaîtres^^
je vais réessayer j'ai pas mal de text de listbox et checkbox je me suis peut être gouré quelque part
en tout cas merci de ton aide Papa
je vais réessayer j'ai pas mal de text de listbox et checkbox je me suis peut être gouré quelque part
en tout cas merci de ton aide Papa
J'ai essayé mais il me met encore un message d'erreur
Lequel ? Il ne faut pas repartir dans une direction au hasard parce qu'on a un message d'erreur, il faut comprendre ce message d'erreur et en tenir compte pour corriger.
Lequel ? Il ne faut pas repartir dans une direction au hasard parce qu'on a un message d'erreur, il faut comprendre ce message d'erreur et en tenir compte pour corriger.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ce qui est fait c'était une propriété sans importance que j'ai modifié malencontreusement donc plus de message d'erreur mais il ne passe toujours pas dans le if avec ce changement
Commence par ajouter un MsgBox AVANT le IF pour voir si tu vas jusque là
Puis teste les champs individuellement :
If (Texte138.Value) = "" then MsgBox ("Texte138 vide") else MsgBox ("Texte138 pas vide")
pour essayer de comprendre
Puis teste les champs individuellement :
If (Texte138.Value) = "" then MsgBox ("Texte138 vide") else MsgBox ("Texte138 pas vide")
pour essayer de comprendre
je vais essayer ce que tu ma dis mais je suis sûre a 99.9% de passer dans mon bout de code pour l'instant je l'ai mit au tout début de mon bouton enregistrer c'est la 1ére instructions alors je suis pratiquement sûre que il passe par le if d'ailleurs j'ai déjà mis des points d'arrêts et il arrête bien le programme au niveau du if le plus étrange et la je ne sais pas si je rêve ou alors si j'ai trop fait la fête hier mais je suis persuadé de voir que la condition est bonne et que le programme à tout les raisons du monde de passer par ce if mais il ne le fait pas et je refuse de me laisser intimider par un programme quel qu'il soit
merci de votre aide maintenant je vais aller tester ce que tu me propose
merci de votre aide maintenant je vais aller tester ce que tu me propose
bonne nouvelle il passe dans bel et bien dans le else
voici mon code
Private Sub Commande250_Click()
On Error GoTo Err_Commande250_Click
MsgBox ("coucou")
If (Texte138 = "") Then
MsgBox ("veuillez remplir tout les champs")
Else
MsgBox ("la valeur est" & Texte138.Value)
//ici stupéfaction il m'affiche texto ="la valeur est "
DoCmd.Close
End If
Exit_Commande250_Click:
Exit Sub
Err_Commande250_Click:
MsgBox Err.Description
Resume Exit_Commande250_Click
tel le père d'Amélie poulain devant une photo de son nain de jardin à coté des pyramides d'Egypte " je ne comprend pas, je ne comprend pas"
voici mon code
Private Sub Commande250_Click()
On Error GoTo Err_Commande250_Click
MsgBox ("coucou")
If (Texte138 = "") Then
MsgBox ("veuillez remplir tout les champs")
Else
MsgBox ("la valeur est" & Texte138.Value)
//ici stupéfaction il m'affiche texto ="la valeur est "
DoCmd.Close
End If
Exit_Commande250_Click:
Exit Sub
Err_Commande250_Click:
MsgBox Err.Description
Resume Exit_Commande250_Click
tel le père d'Amélie poulain devant une photo de son nain de jardin à coté des pyramides d'Egypte " je ne comprend pas, je ne comprend pas"
bonjour,
essaye ça pour savoir ce que contient ton textbox.
Private Sub Commande250_Click()
On Error GoTo Err_Commande250_Click
MsgBox ("coucou")
If (Texte138 = "") Then
MsgBox ("veuillez remplir tout les champs")
Else
MsgBox ("la valeur est" & asc(Texte138.Value)) //ici stupéfaction il m'affiche texto ="la valeur est "
DoCmd.Close
End If
Exit_Commande250_Click:
Exit Sub
Err_Commande250_Click:
MsgBox Err.Description
Resume Exit_Commande250_Click
essaye ça pour savoir ce que contient ton textbox.
Private Sub Commande250_Click()
On Error GoTo Err_Commande250_Click
MsgBox ("coucou")
If (Texte138 = "") Then
MsgBox ("veuillez remplir tout les champs")
Else
MsgBox ("la valeur est" & asc(Texte138.Value)) //ici stupéfaction il m'affiche texto ="la valeur est "
DoCmd.Close
End If
Exit_Commande250_Click:
Exit Sub
Err_Commande250_Click:
MsgBox Err.Description
Resume Exit_Commande250_Click
chose étrange lorsque je saisie une date valide( le texte138) sert à ça ) il m'informe que la valeur est de 49 je ne sais pas à quoi ça correspond mais bon .... puis lorsque je fait suivant et que je ne saisie rien il marque "Utilisation incorrecte de Null ne m'affiche même pas ma msgbox et stop le programme
qu'est ce que cela veux dire?
qu'est ce que cela veux dire?
Coucou me revoilà. J'ai été occupé.
le 49, c'est le codes ASCII de 1, tu avais sûrement saisi une date qui commençait par 1
peux-tu essayer
If (isNull(Texte138)) Then
MsgBox ("veuillez remplir tout les champs")
Else
MsgBox ("la valeur est" & Texte138.Value)
le 49, c'est le codes ASCII de 1, tu avais sûrement saisi une date qui commençait par 1
peux-tu essayer
If (isNull(Texte138)) Then
MsgBox ("veuillez remplir tout les champs")
Else
MsgBox ("la valeur est" & Texte138.Value)
le code ascii 49 correspond à "1"
en vba chr$(49)="1"
le textebox ne peut pas contenir nul il peut contenir un vide qui s'écrit texbox138.value="", mais
on n'a pas le droit d'écrire textbox138.value=nul car textbox.value est une propriété et non un objet déclaré comme par exemple set monobjet as object.
en vba chr$(49)="1"
le textebox ne peut pas contenir nul il peut contenir un vide qui s'écrit texbox138.value="", mais
on n'a pas le droit d'écrire textbox138.value=nul car textbox.value est une propriété et non un objet déclaré comme par exemple set monobjet as object.
le problème est que pour certains de mes zone de text ne veulent pas prendre la valeur "" il me met un code d'erreur 3315 "le champ Tintervention.heure ne peut pas être une chaine vide" ce qui me contrarie car je tourne autour du pot et je ne trouve pas comment virer cette propriété
Je proposerai plutôt,
ce petit test !
un bouton et un textbox qui reste vide.
Private Sub CommandButton1_Click()
If TextBox1.Value = "" Then
MsgBox ("veuillez remplir tout les champs")
Else
MsgBox ("la valeur est" & TextBox1.Value)
End If
End Sub
ce petit test !
un bouton et un textbox qui reste vide.
Private Sub CommandButton1_Click()
If TextBox1.Value = "" Then
MsgBox ("veuillez remplir tout les champs")
Else
MsgBox ("la valeur est" & TextBox1.Value)
End If
End Sub
Là c'est une question de définition des champs dans Access. Je ne connais presque pas Access, j'ai peur de ne pas pouvoir te guider là-dessus, désolé.
il me met un code d'erreur 3315 "le champ Tintervention.heure ne peut pas être une chaine vide"
ben alors tu lui donne ce qu'il attend... une heure ou une date
Tintervention = time()
et pareil avec une date en utilisant date()
Qu'en penses-tu?
ben alors tu lui donne ce qu'il attend... une heure ou une date
Tintervention = time()
et pareil avec une date en utilisant date()
Qu'en penses-tu?
en fait cela venais d'une propriété de la table liées à mon formulaire qui n'accepter pas qu'on lui passe des chaines vides après avoir changé cette propriété en "oui" et d'avoir mis 'if v.Properties("controltype") = 109 Then
v = "" ' il me marque toujours la même erreur au niveau du Null je ne comprend pas le champ contient maintenant une chaine vide et non pas un Null
v = "" ' il me marque toujours la même erreur au niveau du Null je ne comprend pas le champ contient maintenant une chaine vide et non pas un Null
c'est bon mes test marche sauf est c'est le plus drôle : pour le Text138 car comme dans ma table il est définis en date et heure c'est une zone de texte spécial que je n'arrive pas à tester si je lui passe une chaîne vide
si quelqu'un à une idée de valeur qui corresponde à une chaine vide pour une date merci de me répondre
en tout cas merci de votre aide les gars
si quelqu'un à une idée de valeur qui corresponde à une chaine vide pour une date merci de me répondre
en tout cas merci de votre aide les gars