IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

messages si champs "vides", le retour


Sujet :

Access

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 285
    Points : 99
    Points
    99
    Par défaut messages si champs "vides", le retour
    Bonjour,

    Je reviens sur l’obligation de remplir des champs sans que l’enregistrement n’ait de critère garantissant son unicité.

    Hier, User m’a donné ce conseil
    http://www.developpez.net/forums/sho...d.php?t=182228

    Ça marche impec pour éviter un oubli si tous mes champs doivent être remplis mais pas si, à l’inverse, je dois en laisser un vide.

    Les champs de la table étant alimentés par une sélection ds des zones de liste elles-mêmes alimentées par une requête, je me demandais si on ne pouvait pas faire l’inverse du « tous en haut d’une zone de liste », càd mettre une valeur par défaut (ce que je n’arrive pas à faire pour l’instant), « sélectionnez une commande » par ex, qui ne soit pas considérée comme une valeur nulle ?

    Merci d’avance pour vos conseils

  2. #2
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Points : 74
    Points
    74
    Par défaut
    pour mettre une valeur par défaut tu peut aller dans les propriétés de ton champs dans l'onglet "toutes" tu as "valeur par defaut ".

  3. #3
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Il faut que tu ajoute dans ta liste la valeur dite nulle. Pour ça plusieurs solutions, soit tu la rajoute dans la table qui est à la source de ta requête.
    Tu peut aussi le faire par le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    dim record as recordset
    MaListe.rowSource="Ma valeur nulle"
    Set record=currentdb.openRecordset(TaRequete)
    while not (record.EOF)
         MaListe.rowSource=MaListe.rowSource & ";" record[champs]
         record.MoveNext
    wend
    record.Close
    Je pense que ça ça doit marcher (il faut mettre la propriété "origine source" à liste de valeur)

    Je pense qui doit y a voir des solutions plus propre

    Une fois que ta valeur est inséré dans ta liste il faut que tu fasse comme à dit MCarole pour la mettre par défault

  4. #4
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 285
    Points : 99
    Points
    99
    Par défaut
    Bonjour,

    Ya qqchose que j’ai du mal à cerner.

    J’ai enlevé null interdit à oui aux champs concernés ds ma table, ajouter un critère unique (Id) et mis ceci sur le bouton de fermeture de mon form

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If IsNull(Forms![Form]![SSForm]![Id]) Then
        DoCmd.Close
    ElseIf IsNull(DLookup("Champ", "Table", "Forms![ Form]![ SSForm]![Id] = " & Forms![ Form]![ SSForm]![ Champ])) Then
        MsgBox " remplissez Champ "
    Else
        DoCmd.Close
    End If
    J’ai un autre bouton qui me permet d’enregistrer ma manip
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.RunCommand acCmdSaveRecord

    Bien que je remplisse le “champ”, j’ai tjs mon message d’erreur " remplissez Champ ".

    QQun pourrait-il me dire où se trouve mon erreur de syntaxe, ou autre ?

    Merci d’avance

Discussions similaires

  1. message d'erreur quand un champs est vide
    Par VIRGINIE87 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 22/02/2007, 12h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo