[ACCESS] Masquer/Demasquer une zone texte

Résolu
Bonjour,
voila mon problème, j'ai une table à 2 champs, sur le premier champs j'ai une zone de liste déroulante et sur l'autre une zone texte, je voudrais que la zone texte soit grisé par défaut, et que lorsque l'on choisit une valeur particulière de la zone de liste déroulante, et bien elle se débloque pour que l'on puisse saisir un nom dans la zone de texte !

Merci de m'aider !
Configuration: Windows XP
Firefox 2.0.0.14
Access 2003

8 réponses

  • Votes
  • Date
  • Date décroissante
  1. Ah ba ça marche, c'était un pti caffouilage avec l'identifiant de la ville qui n'était pas son nom mais son code !!

    Voici mon code si ça peut aider d'autres par la suite :

    Private Sub TEN_ville_AfterUpdate()
    If Me!TEN_ville = "59653" Then
    Me!TEN_autre.Enabled = True
    Me!TEN_autre.Locked = False
    Else
    Me!TEN_autre.Enabled = False
    Me!TEN_autre.Locked = True
    End If
    End Sub

    Merci de m'avoir aiguillé Jean_Jacques !

    A+
    1. Hitch,

      Merci pour ce retour d'information.
      C'est sympathique de me tenir au courant

      Au plaisir et bonne fin de journée

      La science ne fait que trouver ce qui existe depuis toujours.
      REEVES Hubert.
  2. salut tous le monde

    j'ai une page qui affiche une resultat de recherche sur la meme page je veut faire la suppression d'une enregistrement dans la meme page de consultation
    1. Ptit Upppppp ;P
      1. Bonjour Hitch,

        Comme toujours il y a une multitude de solutions :
        Ci-après quelques éléments utiles pour satisfaire votre besoin

        Voici la syntaxe conditionnelle pour verrouiller un champ

        <Champ>.Locked = True
        <Champ>.Locked = False

        Syntaxe pour modifier le fond

        <Champ>.BackColor = 899999

        L' Aide via la touche F1 vous fournira des informations complémentaires

        Cordialement
        La science ne fait que trouver ce qui existe depuis toujours.
        REEVES Hubert.
    2. Bonjour Jean-Jacques,

      je sais que pour vous votre réponse doit vous semblez précise, mais pour quelqu'un de m'on niveau cela reste flou !
      J'ai bien vu l'utilisation de ceci, tout comme dans l'onglet, cliq droit propriété on peux grisé une zone texte par défaut, mais la il faudrait débloqué lors de la séléction d'un certains mot d'une zone de liste, et je ne sais pas quel code écrire ni comment le trouver !

      Pour être plus précis, j'ai une table avec toutes les villes de mon département, et une valeur "Autre", je voudrais que lorsque je selectionne dans cette liste Autre, j'ai mon champ texte à côté qui se débloque et qui me permet de saisir une ville autre que dans mon département !

      Merci déjà en tout cas.
      1. Il faut trouver quelque chose du genre je pense mais je m'y perds !

        Private Sub Modifiable0_BeforeUpdate(Cancel As Integer)
        If Modifiable0.Selected = "debloker" Then Texte3.Locked = False
        End Sub
        1. Hitch,

          En mode création cliquer dans le champ destiné à recevoir le mot "Autre"
          Activer l'onglet événement
          Se positionner sur la ligne : Après mise à jour (c'est un exemple)
          Au bout de cette ligne, activer le petit symbole carré de couleur grise doté de 3 points noirs disposés verticalement

          Par défaut le début et la fin de la routine sont fournis :

          Blal_Bla_AfterUpdate '(début)

          If <champ> = "Autre" then
          <Champ>.Locked = True

          else

          <Champ>.Locked = False

          End sub '(fin)

          Familiarisez-vous à cette façon de faire ; elle vous permettra de comprendre le fonctionnement général de ACCESS

          Cordialement
          La science ne fait que trouver ce qui existe depuis toujours.
          REEVES Hubert.
      2. Oui et bien ça ne marche pas, il me semble que pour une zone de liste déroulante cela est plus compliquer, il faut mettre un .value ou .selected ou quelque chose comme ça !
        En fin pour l'instant àa bloque tout de suite à la premiere ligne lool

        a+
        1. Hitch,
          En activant le point d'interrogation dans la bare d'outils et en recherchant 'Lock' on obtient l'exemple suivant
          Il ne reste plus qu'à faire le tri ....

          Sub Form_Current()
          If Me!TypeEmployé = "Directeur" Then
          Me!DétailsDuSalaire.Enabled = True
          Me!InfoPersonnel.Enabled = True
          Me!InfoPersonnel.Locked = False
          Else
          Me!DétailsDuSalaire.Enabled = False
          Me!InfoPersonnel.Enabled = False
          Me!InfoPersonnel.Locked = True
          End If
          End Sub

          A+
          La science ne fait que trouver ce qui existe depuis toujours.
          REEVES Hubert.
      3. ça ne fonctionne pas, merci quand même.

        Ma question reste donc d'actualité ! Si quelqu'un connait la solution je suis preneur !!!
        Mon code actuel ressemble à ça :

        Private Sub TEN_ville_AfterUpdate()
        If Me!TEN_ville = "Autres..." Then
        Me!TEN_autre.Enabled = True
        Me!TEN_autre.Locked = True
        Else
        Me!TEN_autre.Enabled = False
        Me!TEN_autre.Locked = False
        End If
        End Sub

        Mais ça ne fonctionne en rien xD

        A+