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 :

Ouvrir formulaire sur un certain enregistrement


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 298
    Points : 67
    Points
    67
    Par défaut Ouvrir formulaire sur un certain enregistrement
    Bonjour,

    quand je clique sur un bouton, une clé primaire est générée et insérée dans une table, et un formulaire et ouvert.

    Est-il possible que le formulaire s'ouvre soit sur la valeur qui a été généré, ou soit sur la clé primaire la plus grande?

    merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    Salut,

    regarde du côté de onload ou alors sur ton bouton qui ouvre le formulaire

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 17
    Points : 20
    Points
    20
    Par défaut
    salut

    ce code veux dire envoyer la valeur de CIN_text qui et dans ma formulaire courante ver la zone de texte Texte0 qui et dans une autre formulaire "formulaire 2"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!formulaire2!Texte0.value = Me!CIN_text.value
    dispersais que tu et compris

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 298
    Points : 67
    Points
    67
    Par défaut
    merci j'essais ça

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 298
    Points : 67
    Points
    67
    Par défaut
    Ne serait-il pas plus pratique d'utiliser la fonction d'ouverture de formualire fournis dans les macros access que voici :

    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
     
    On Error GoTo Err_Valider_Click
     
        Dim stDocName As String
        Dim stLinkCriteria As String
     
        stDocName = "Formulaire_Principal"
        DoCmd.OpenForm stDocName, , , stLinkCriteria
     
    Exit_Valider_Click:
        Exit Sub
     
    Err_Valider_Click:
        MsgBox Err.Description
        Resume Exit_Valider_Click

  6. #6
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 406
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour,

    Peux-tu être plus explicite :
    quand je clique sur un bouton,
    j'en déduis que tu te trouves dans un formulaire.
    ... et un formulaire et ouvert
    je suppose un autre formulaire

    Que veux-tu faire exactement ? S'il s'agit d'ouvrir un second formulaire à partir d'une donnée du premier formulaire, effectivement tu peux utiliser le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "LeNomDuSecondFormulaire", , , Condition
    Ta Condition peut être, par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "idSecondFormulaire = " & me.lstCategorie
    Ce que l'on pourrait trauire par : ouvre le second formulaire dont le champ idSeconFormulaire est égal à la clé de la liste déroulante du premier formulaire.

    Bon courage

  7. #7
    Membre actif Avatar de psykodumarteau
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Points : 218
    Points
    218
    Par défaut
    Bonjour,

    Connais tu la valeur de la clé primaire que tu cherche? Si oui tu peux utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim rcs As Recordset
    Set rcs = Me.Recordset
    rcs.FindFirst "Id = MonId" 'si tu connais la valeur de l'Id que tu recherche
    rcs.MoveLast 'si tu veux te place sur le dernier enregistrement

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 298
    Points : 67
    Points
    67
    Par défaut
    voila ma fonction au complet :

    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
     
    Private Sub Valider_Click()
     
    ' Recherche le dernier numéro du champ MaClef dans la table Test
    ' et incrémente cette valeur de 1
    Dim rst As Recordset
    Dim vClef
    Dim db As Database
    Set db = CurrentDb
     
     
     
    If IsNull(Forms.Planning.Chrono.Value) And (Forms.Planning.Choix.Value = 1) Then
        Set rst = CurrentDb.OpenRecordset("SELECT TOP 1 Chrono FROM Visites ORDER BY Chrono DESC")
        vClef = Right(Year(Now), 2) & Format(Nz(Val(Right(rst!Chrono, 4)), 1) + 1, "0000")
     
        Forms.Planning.Chrono.Value = vClef
     
        db.Execute "INSERT INTO Visites (Chrono) VALUES (" & vClef & ")"
    End If
     
    On Error GoTo Err_Valider_Click
     
        Dim stDocName As String
        Dim stLinkCriteria As String
     
        stDocName = "Formulaire_Principal"
        DoCmd.OpenForm stDocName, , , "[Chrono] =" & Me.Chrono
     
    Exit_Valider_Click:
        Exit Sub
     
    Err_Valider_Click:
        MsgBox Err.Description
        Resume Exit_Valider_Click
     
     
     
     
    End Sub
    J'ai donc mon premier formulaire -> Planning
    et en cliquand sur un bouton de ce formulaire je dois ouvrir mon formulaire Formulaire_Principal.
    Celui ci dois s'ouvrir sur la clé primaire vClef.

    J'ai modifié la fonction d'ouverture, et effectivement cela s'ouvre sur ma clé primaire, mais il n'y a que cette enregsitrement qui apparait dans le formulaire, les autres ne sont pas présents

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 298
    Points : 67
    Points
    67
    Par défaut
    En fin de compte ce n'est pas grave car je voudrais bloquer l'enregistrement à la clé en cours et ne pas pouvoir créer d'autre enregistrement.

    Donc c'est là que je bloque.

    Meric beaucoup de votre aide

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    Salut,

    je pense que tu devrais regarder et t'inspirer de ce sujet:
    http://www.developpez.net/forums/d44...eciproquement/

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/05/2011, 22h46
  2. [AC-2003] Ouvrir formulaire sur enregistrement liste déroulante.
    Par Matt014 dans le forum IHM
    Réponses: 3
    Dernier message: 23/12/2010, 13h45
  3. Réponses: 6
    Dernier message: 23/09/2010, 12h59
  4. Ouvrir formulaire sur le dernier enregistrement
    Par bobosh dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/09/2008, 13h32
  5. Réponses: 2
    Dernier message: 21/12/2006, 09h26

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