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

VBA Access Discussion :

conserver une valeur après la fermeture du formulaire la contenant


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Points : 9
    Points
    9
    Par défaut conserver une valeur après la fermeture du formulaire la contenant
    Bonjour,

    J’ai un petit souci de programmation.
    J'ai une zone de texte dans un formulaire dont je souhaite conserver la valeur, dans une variable, après la fermeture de celui-ci, afin d’effectuer une recherche grâce à cette valeur.

    Voici mon code :
    j’ouvre mon formulaire "Identification" sur un nouvel enregistrement :

    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
    Private Sub Saisie_des_données_Click()
    On Error GoTo Err_Saisie_des_données_Click
     
        Dim stDocName As String
        Dim stLinkCriteria As String
     
    Consult = 0
     
        stDocName = "IDENTIFICATION"
        DoCmd.OpenForm stDocName, , , stLinkCriteria
        DoCmd.GoToRecord , , acNewRec
     
    Exit_Saisie_des_données_Click:
        Exit Sub
     
    Err_Saisie_des_données_Click:
        MsgBox Err.Description
        Resume Exit_Saisie_des_données_Click
     
    End Sub
    Mais si le N° de sérialisation existe déjà, je souhaite donner la possibiliter à l'utilisateur de le modifier :

    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
    Private Sub N°_de_sérialisation_AfterUpdate()
    'verifie que le champ de saisie ne soit pas vide
    If (IsNull([N° de Sérialisation]) Or ([N° de Sérialisation] = vbNullString)) Then
        MsgBox "Saisie OBLIGATOIRE d'un N° de Sérial !", 48, "Erreur de saisie"
        Me.SetFocus
        Exit Sub
    Else
    'Recherche si le N° de Sérial existe déjà
        Dim dbs As Database, rst As DAO.Recordset
        Set dbs = CurrentDb
        Set rst = dbs.OpenRecordset("IDENTIFICATION")
        rst.FindFirst "[N° de Sérialisation]='" & [N° de Sérialisation] & "'"
        'N° de Sérial inconnu passe au champ suivant
        If rst.NoMatch Then
             [Référence pièce].Locked = False
            [N° du four T3].Locked = False
            [Date T3].Locked = False
            [N° du four R2].Locked = False
            [Date R2].Locked = False
            [Anomalie].Locked = False
            [N° de série].Locked = False
        Else
        'N° de Sérial existant ==> Message d'erreur
            Dim reponse
         reponse = MsgBox("Le Sérial existe déjà" & Chr(13) & "Voulez Vous changer la référence ?", vbYesNo, "*** Erreur de Saisie ***")
       If reponse = vbYes Then:
         serial = [N° de sérialisation]
         DoCmd.Close
         DoCmd.OpenForm "Identification", , , "[N° de Sérialisation] = serial "
        End If
    End If
    rst.Close
    dbs.Close
    Set rst = Nothing
    Set dbs = Nothing
    End Sub
    Et je déclare la variable serial à ce niveau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Option Compare Database
    Option Explicit
    Public serial As String
    Mais quand j'exécute le programme, j'ai une fenêtre qui s'affiche me demandant de rentrer une valeur pour la variable 'serial'
    Et je ne vois pas comment résoudre ce problème.
    Merci de votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Vous avez déclaré la variable dans un module ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    au début du module Form_IDENTIFICATION (le module du formulaire)

  4. #4
    Invité
    Invité(e)
    Par défaut
    Vous cliquez sur Insertion, Module et vous faites un copier/coller de votre déclaration.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    j'ai toujours la fenètre "Entrer une valeur de paramètre" pour le 'serial' qui apparait.

Discussions similaires

  1. [AC-2007] Conservé une valeur pour utilisé dans différents formulaire
    Par theuma dans le forum Access
    Réponses: 6
    Dernier message: 09/05/2011, 11h51
  2. Réponses: 10
    Dernier message: 29/09/2009, 15h20
  3. Réponses: 2
    Dernier message: 03/02/2009, 00h07
  4. Conserver une valeur dans un formulaire
    Par mycrodom dans le forum Access
    Réponses: 4
    Dernier message: 01/10/2006, 17h18
  5. conserver une valeur dans un formulaire
    Par lawokgluot dans le forum Access
    Réponses: 1
    Dernier message: 20/06/2006, 14h13

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