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

IHM Discussion :

un champ prend une valeur choisie à l ouverture du form


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 54
    Points : 34
    Points
    34
    Par défaut un champ prend une valeur choisie à l ouverture du form
    bonjour,

    j'aimerais que lorqsue j'ouvre mon formulaire, je puisse choisir une valeur qui, jusqu'à la prochaine ouverture du formulaire serve de valeur par default pour un de ses champs.

    par exemple il s'ouvre et me demande la valeur. Je rempis "premier" et tous les enregistrements que je vais renseigner avant la fermeture du form auront un champ précis dont la valeur sera "premier" sans que j'aie à la saisir.

    Et pouvoir changer la valeur à chaque ouverture du form, ou en cliquant sur un bouton dans le form.

    Comment pouvoir faire ??

    merco et a++

  2. #2
    Membre du Club

    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Points : 54
    Points
    54
    Par défaut
    Oyé,

    Voilà une solution parmi t'en d'autre

    Il faut créer une table, disons T_PARAM_APPLI avec 1 Champ : VALFORM
    et dans ton formulaire tu mets :

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
     
    Private Sub Btn_ChangeVal_Click()
    If SearchValDefault(1) = False Then MsgBox "Valeur non changé"
    End Sub
     
    Private Sub Form_Open(Cancel As Integer)
    If SearchValDefault(0) = False Then
        Cancel = True
        MsgBox "Pas de valeur par défault de renseigné"
        Exit Sub
    End If
    End Sub
     
     
     
    Function SearchValDefault(ID As Long) As Boolean
     
        ' 0 --> ENTRER DANS LE FORMULAIRE
        ' 1 --> NOUVELLE VALEUR
     
        Dim Rs As DAO.Recordset
        Dim RetVal As String
     
        Set Rs = CurrentDb.OpenRecordset("T_PARAM_APPLI")
            If Rs.BOF Then      ' Pas de valeur dans ta table
                RetVal = InputBox("MERCI DE RENSEIGNER LA VALEUR PAR DEFAULT", "...")
                If RetVal = "" Then ' Annul ou rien de renseigné
                    SearchValDefault = False
                Else
                    Rs.AddNew
                        Rs!VALFORM = RetVal
                    Rs.Update
                    Me.NomDeLAZone = RetVal
                    SearchValDefault = True
                End If
     
            Else    ' Il y a déjà une valeur
                Select Case ID
                    Case 0  ' entrer dans le form, on informe de la valeur
                        SearchValDefault = True
                        MsgBox "La Valeur par défault est " & Rs!VALFORM
                        Me.NomDeLAZone = Rs!VALFORM
                    Case 1  ' nouvelle saisie
                        RetVal = InputBox("MERCI DE RENSEIGNER LA VALEUR PAR DEFAULT", "...")
                        If RetVal = "" Then ' Annul ou rien de renseigné
                            SearchValDefault = False
                        Else
                            Rs.Edit
                                Rs!VALFORM = RetVal
                            Rs.Update
                            Me.NomDeLAZone = RetVal
                            SearchValDefault = True
                        End If
                End Select
            End If
        Rs.Close: Set Rs = Nothing
     
     
    End Function
    Il faut aussi créer un bouton Btn_ChangeVal

    A++

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    merci STEPH_1 pour la réponse.

    Par contre, j'ai mis le code dans celui de mon form, et quand je l'ouvre, un message d'erreur apparait au niveau de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Rs As DAO.Recordset
    qui me dit "Type défini par l'utilisateur non défini" : : :

    c'est quoi ça ??

  4. #4
    Membre du Club

    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Points : 54
    Points
    54
    Par défaut
    il faut cocher la référence à la bibliothèque DAO dans Outils /référence de ta fenêtre VBA

  5. #5
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Le nom de la référence est Microsoft DAO X.X. Coche la version la plus récente.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 54
    Points : 34
    Points
    34
    Par défaut marche po ;-((
    j'ai coché "microsoft ActiveX data object 2.7 library" et
    "microsoft ActiveX data object Recordset 2.7 library"

    mais ça me fait pareil ??

    j'espère que c'est ça DAO

  7. #7
    Membre du Club

    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Points : 54
    Points
    54
    Par défaut
    La desc exacte est

    Micosoft DAO 3.6 Object Library

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    ok merci stef,

    pour ça c'est ok

    par contre quand je lance le formulaire, la fenêtre "MERCI DE RENSEIGNER LA VALEUR PAR DEFAULT" s"affiche bien, je la remplis. Mais il me met un message de débogage au niveau de la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.NomDeLaZone = RetVal
    .

    Le nom que j'ai entré existe bien dans la table et dans le formulaire. ?

  9. #9
    Membre du Club

    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Points : 54
    Points
    54
    Par défaut
    A la place de nomdelazone, tu doit mettre le nom du champ dans laquelle tu veut mettre ta valeur par défault.

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    oui, c'est fait j'ai mis

    car le champ se nomme "Adversaire"

    pourtant ça devrait marcher il me semble, il me dit bien "la valeur par defaut est "ce quej'ai mis"" : :

  11. #11
    Membre du Club

    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Points : 54
    Points
    54
    Par défaut
    tu as un message d'errezur ?
    me.adversaire est bien une zone de texte ?

    Tu as bien changé partout NomDeLaZone en Adversaire


    ...

  12. #12
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    Excuse moi si je n'ai pas bien compris, mais, si je reviens à la question d'origine, qui consiste à mettre une valeur par défaut pour le champ 'Adversaire', j'aurais mis, dans l'évènement Form_Load du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Adversaire.DefaultValue  = InputBox ("Valeur par défaut pour l'adversaire ?")
    C'est ça que tu veux ?

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    merci papy turbo c'était effectivement ça

    a++

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    par contre, petite précision :

    quand je mets un nombre ça marche, mais pas quand je mets du texte.

    : il me met "#Nom"

  15. #15
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Pour du texte, il faut peut être insérer des quotes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Adversaire.DefaultValue  = chr(39) & InputBox ("Valeur par défaut pour l'adversaire ?") & chr(39)
    De quel type est ton champ adversaire ?

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    merci tofalu, ça marche apparemment

    le champ est au format texte.

    a++

  17. #17
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    Exact, merci Tofalu : il faut passer à la propriété 'DefaultValue' exactement ce que tu mettrais dans la propriété 'Valeur par défaut' du contrôle du formulaire.
    Quand tu tapes du texte dans la propriété en mode Création de formulaire, Access rajoute automatiquement les guillemets. Dans le code, il faut le faire toi même (trop nul, cet Access )

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 06/09/2006, 15h23
  2. recherche quel champ contient une valeur
    Par Pitou5464 dans le forum Access
    Réponses: 6
    Dernier message: 29/08/2006, 17h02
  3. Vérifier si un champ contient une valeur
    Par slammer dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/01/2006, 16h40
  4. avoir un champ avec une valeur numerique qui se decremente
    Par romeo9423 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 15/02/2005, 14h29
  5. champ avec une valeur?
    Par sonialem2000 dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/06/2004, 08h23

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