Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/11/2010, 09h59   #1
Membre à l'essai
 
Inscription : novembre 2009
Messages : 115
Détails du profil
Informations personnelles :
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : novembre 2009
Messages : 115
Points : 20
Points : 20
Par défaut Zone de texte à remplir obligatoire

Bonjour,

Je veux que toutes mes zones de texte avec un astérisque soient remplis.
J'ai mis ca comme code mais il me met une erreur (voir piece jointe)
J'ai mis aussi dans ma table les champs avec "Null interdit = oui" mais je voulais un message perso, cela fait doublon ?

Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub CommandButton_save_close_Click()
 
If societe.Text = "" Or adresse.Text = "" Or cp.Text = "" Or Ville.Text = "" Or tel.Text = "" Then
    MsgBox("Tous les champs précédés d'une astérique doivent être remplis", vbInformation, "Attention") = vbAbort
Else
    DoCmd.Save
    DoCmd.Close
    Forms![Liste des Clients].Requery
End If
 
End Sub
Est-ce qu'il faut que je fasse une cascade de if...then ? ou que je mette Me. avant mes zones de texte ?

merci par avance

@+
scoobydoos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 11h32   #2
Membre éclairé
 
Homme Pierre-Jean
Développeur informatique
Inscription : février 2010
Messages : 306
Détails du profil
Informations personnelles :
Nom : Homme Pierre-Jean
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : février 2010
Messages : 306
Points : 330
Points : 330
Envoyer un message via MSN à paidge
Bonjour,

A priori oui. J'aurai plutôt vu quelque chose du genre :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
Private Sub CommandButton_save_close_Click()
 
If Me.txt_champ1 = "" Or Me.txt_champ2 = "" Or Me.txt_champ3 = "" Or Me.txt_champ4 = "" Or Me.txt_champ5 = "" Then
    MsgBox("Tous les champs précédés d'une astérique doivent être remplis", vbInformation, "Attention") = vbAbort
Else
    DoCmd.Save
    DoCmd.Close
    Forms![Liste des Clients].Requery
End If
 
End Sub
Mais le message d'erreur indique qu'il ne peut pas faire référence à une propriété du contrôle si celui-ci n'est pas actif. Donc peut-être qu'il faut utiliser la méthode setfocus.
paidge est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 14h32   #3
Membre à l'essai
 
Inscription : novembre 2009
Messages : 115
Détails du profil
Informations personnelles :
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : novembre 2009
Messages : 115
Points : 20
Points : 20
Par défaut [AC-2010] Zone de texte à remplir obligatoire

Bonjour,

merci mais ca me fait pas plus de chose...
1- Pourquoi faut-il enlever .text derrière les noms des textes ?
2- Comment fonctionne le code setfocus ?

merci par avance

@+
scoobydoos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 14h36   #4
Membre Expert
 
Homme Michel
Ingénieur développement logiciels
Inscription : mai 2005
Messages : 1 583
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2005
Messages : 1 583
Points : 2 141
Points : 2 141
Bonjour,
Pour rendre la saisie de certains champs obligatoire, il faut utiliiser l'évènement du formulaire Form_beforeUpdate .
Voir des exemples sur ce forum et dèjà dans l'aide
__________________
"tout le monde veut sauver la planète, mais personne ne veut descendre les poubelles." J Yanne
micniv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 14h39   #5
Membre éclairé
 
Homme Pierre-Jean
Développeur informatique
Inscription : février 2010
Messages : 306
Détails du profil
Informations personnelles :
Nom : Homme Pierre-Jean
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : février 2010
Messages : 306
Points : 330
Points : 330
Envoyer un message via MSN à paidge
Citation:
Envoyé par Aide d'Access
La propriété Texte (Text) permet de définir ou de renvoyer le texte contenu dans une zone de texte ou dans la partie zone de texte d'une zone de liste modifiable. Chaîne en lecture/écriture.

expression.Text
expression Obligatoire. Expression renvoyant l'un des objets figurant dans la liste Application.

Remarques
Le paramètre de la propriété Texte (Text) représente le texte que vous souhaitez afficher dans le contrôle. Cette propriété vous permet également de lire le texte actuellement affiché dans le contrôle.

Cette propriété peut être paramétrée ou lue uniquement à l'aide d'une macro ou de Visual Basic.


Remarque Pour définir ou renvoyer la propriété Text d'un contrôle, ce dernier doit avoir le focus, sinon une erreur se produit. Pour amener le focus dans un contrôle, vous pouvez utiliser la méthode SetFocus ou l'action AtteindreContrôle.


Lorsque le contrôle est activé, la propriété Texte (Text) contient les données texte qui figurent actuellement dans celui-ci ; la propriété Valeur (Value)contient les dernières données enregistrées pour le contrôle. Lorsque vous déplacez le focus vers un autre contrôle, les données de celui-ci sont mises à jour et la propriété Valeur (Value) prend cette nouvelle valeur. Le paramètre de la propriété Texte (Text) n'est alors plus disponible tant que le contrôle n'est pas de nouveau activé. Si vous utilisez la commande Sauvegarder l'enregistrement du menu Enregistrements pour enregistrer les données contenues dans le contrôle sans déplacer le focus, les paramètres des propriétés Texte (Text) et Valeur (Value) seront identiques.
Place ton curseur sur les mots-clés de ton code VBA et appuies sur F1 pour afficher l'aide concernant ce mot-clé C'est très pratique et on en apprend beaucoup

Quand tu écris "Me.NomDucontrole" dans ton code, ça te renvoit la valeur du contrôle ça n'est pas le cas en VB mais en VBA oui

Pour ce qui est de la méthode SetFocus, il suffit d'écrire "Me.NomDuControle.Setfocus" pour "activer" (ou mettre le focus dessus....ce qui veut dire la même chose) le contrôle en question
paidge est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h58.


 
 
 
 
Partenaires

Hébergement Web