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 :

[Tables] [DAO Tabledef] Définir masque de saisie par le code [À faire]


Sujet :

Access

  1. #1
    Membre à l'essai

    Profil pro
    Inscrit en
    Mars 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 7
    Points : 13
    Points
    13
    Par défaut [Tables] [DAO Tabledef] Définir masque de saisie par le code
    Salut,

    J'aimerais définir la propriété "Masque de saisie" d'un champs avec la valeur "Mot de passe"

    Voici un bout du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Dim ma_table As TableDef
    Dim ma_base As Database
    Dim nom_table As String
     
    nom_table = "test"
     
    On Error GoTo erreur:
     
    Set ma_base = CurrentDb
    Set ma_table = ma_base.TableDefs(nom_table)
     
    MsgBox ("la table existe")
     
    Exit Function
     
    erreur:
    MsgBox ("la table n'existe pas")
     
    Set ma_table = ma_base.CreateTableDef(nom_table)
     
    With ma_table
        .Fields.Append .CreateField("Pseudo", dbText, 4)
        .Fields.Append .CreateField("Mot_de_passe", dbText, 50)
    End With
     
    Dim fld As Field
    Set fld = ma_table.Fields(1) 'ensuite je vourdrais définir la propriété masque de saisie en "Mot de passe"
     
     
    ma_base.TableDefs.Append ma_table
    quelques peux t'il me filer un tuyau ???

    D'avance merci

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    La propriété n'est apparemment pas créée par défaut.
    Pour rajouter la propriété :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fld.Properties.Append fld.CreateProperty("inputmask", dbText, "Password")
    Il faudra peut-être faire le append ma_table avant de rajouter la propriété.
    Moi c'est sur Access 2000 mais je crois que c'est pareil pour 97.

    A plus.

  3. #3
    Membre à l'essai

    Profil pro
    Inscrit en
    Mars 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 7
    Points : 13
    Points
    13
    Par défaut
    yes, exact, j'ai mis ton code après le append ma_table et ca fonctionne.

    Merci beacoup de ton aide Arkham46

  4. #4
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 137
    Points : 74
    Points
    74
    Par défaut
    Je voudrai définir un masque de saisie sur un champ d'une table ; le problème est que la table est déjà rempli et en fait, je voudrais transformer les valeurs existantes dans le format d'arrivée. Est ce possible ?

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 137
    Points : 74
    Points
    74
    Par défaut
    C'est un topic avec marqué "résolu" mais ma question ne l'ai pas résolue !

  6. #6
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Ben bonjour,

    si tu mets ton message dans un post résolu personne ne vas le lire, tu devrais en ouvrir un nouveau

    sinon les données stockées dans les tables ne dépendent pas du masque de saisie
    il faut distinguer :
    - le masque de saisie
    - la donnée stockée
    - le format d'affichage

    tu peux très bien saisir :
    12/10/1976
    ce sera stocké au format interne access qui ressemble à ça :
    19761012
    et tu peux l'afficher sous un autre format :
    12 octobre 1976

    ça dépend donc du type de tes données, donne plus de détails.

  7. #7
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 137
    Points : 74
    Points
    74
    Par défaut
    Noté pour le fait de mettre une question dans un post résolu ;-)

    En fait, j'ai une table qui contient un champ avec des lignes de la forme : chiffre__lettre*chiffre et je veux les mettre en chiffre*chiffre_lettre*chiffre en rajoutant un "0" pour le chiffre manquant. Pour éviter de me retaper toutes les modifs "à la main", je voudrais faire un sorte de masque de saisie pour que les données soient transformées dans le bon format.
    Mais la transformation des données existentes paraît difficile donc je voudrais juste créer un masque de saisie pour les nouvelles données saisies.
    Donc comment intégrer la fonction "inputmask" dans du code VBA ?

  8. #8
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    le masque de saisie ne vas pas modifier les anciennes données...

    je ne vois pourquoi tu veux faire du code VBA pour l'inputmask, si tu définis le masque de saisie dans le formulaire et/ou la table ça devrait suffire non?
    ou alors tu veux faire une validation plus poussée avec du code?

    sinon pour les données existantes un peu de VBA avec un recordset c'est pas très compliqué.
    tu vérifies la longueur du champs, ou alors tu vérifies chaque caractère pour voir s'il est numérique ou pas avec la fonction isnumeric.

  9. #9
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 137
    Points : 74
    Points
    74
    Par défaut
    En fait, je veux intégrer la fonction inputmask dans du code VBA car ma table est créé en dynamique (les données qu'elle contient sont importées en fonction d'un choix de l'utilisateur).
    Par contre, quand tu dis qu'il faut gérer le masque de saisie avec un recordset, je ne vois pas trop comment on peux faire ?

    Quant à vérifier chaque caractère pour vérifier si il correspond à ce que je veux, ça me paraît long et contraignant ; il n'y a pas un truc tout fait du genre "text.inputmask("00_L0") ?

  10. #10
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    ok, pour la gestion des masques en vba tu fais une recherche et tu tombes là-dessus
    http://www.developpez.net/forums/vie...ight=inputmask

    Pour le recordset je parlais de parcourir les enregistrements existants pour vérifier leur format et éventuellement les mettre à jour.
    Tu as la FAQ et le forum pour t'aider dans l'utilisation des recordsets, ça a été abordé maintes fois.
    Sinon je ne connais pas de fonction pour vérifier la cohérence des données en fonction d'un masque...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/10/2010, 12h05
  2. Réponses: 2
    Dernier message: 31/07/2009, 12h29
  3. Définir un masque de saisie
    Par care dans le forum Delphi
    Réponses: 2
    Dernier message: 19/02/2007, 14h37
  4. Définir propriété masque de saisie en VBA
    Par spidev dans le forum Access
    Réponses: 4
    Dernier message: 21/06/2005, 14h10
  5. problème avec masque de saisie dans table
    Par porki dans le forum Access
    Réponses: 6
    Dernier message: 13/10/2004, 08h58

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