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 un enregistrement d'un formulaire à partir d'une zone de texte


Sujet :

VBA Access

  1. #1
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut Ouvrir un enregistrement d'un formulaire à partir d'une zone de texte
    à tous,
    voilà, j'ai encore un mini problème qui me gache mon existence et m'empêche d'avancer.
    je voudrais savoir si l'on peut ouvrir un enregistrement d'un formulaire sur un enregistrement d'une zone de texte :

    j'ai une table nommée groupe ===> Afin de créer des groupe je l'ai transformée en formulaire1 ou l'on rempli IDGROUPE(Numauto) et nom_groupe.
    Ces information s'enregistrent dans ma table mais également dans un zone de texte d'un autre formulaire (récapitualitif des id et nom de groupe)
    Lorsque je clique sur un enregistrementde ma zone de texte, je voudrais ouvrir ce formulaire1 dont les controle sont rempli par les champs et modifier mon enregistrement ou le supprimer et enregistrer les modification.(le formulaire1 s'ouvre vide, pour entrer de nouvelle données)

    merciiii
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,

    Il faut soit faire une copie avec des instructions d'affectation en VBA.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    forms.formulaire1.montexte = forms.formulaire2.montexte
    etc
    Soit faire une requete ajout basée sur l'id courant.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Citation Envoyé par loufab Voir le message
    Bonjour,

    Il faut soit faire une copie avec des instructions d'affectation en VBA.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    forms.formulaire1.montexte = forms.formulaire2.montexte
    etc
    Soit faire une requete ajout basée sur l'id courant.

    Cordialement,
    OK, mais pouvez vous être un peu plus explicite svp
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,

    C'est difficile d'être plus explicite vu les informations fournies.

    Tu peux facilement tester la première solution pour voir le comportement et l'adapter suivant tes besoins.

    Pour cela crée un bouton de commande, dans le formulaire1 qui servira à tester le code (plus tard tu pourras le mettre sur un événement se qui évitera le clic)

    Ouvre le formulaire2 pour voir les effets des instructions d'affectations.

    Le fonctionnement est le suivant : Destination = Source

    Dans le code cel se traduit comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms.Lenomduformulaire.lenomducontrole = Forms.lenomduformulaire.lenomducontrole
    Note qu'il existe un tuto et un tableau récapitulatif de ces instructions d'appels. Regarder le tableau sans avoir lu le tuto ne sert à rien. ACCESS demande un investissement important et il ne te rends que ce que tu lui donnes.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    ça va être dur, et comment fais t-on à partir d'une zone de liste déroulante...
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    Je ne sais pas si c'est ce que tu recherches, mais j'ai fais quelque chose dans ce genre là sauf que ce n'est pas un formulaire que j'ouvre mais un état. En fait je choisis dans ma liste déroulante ce que je veux afficher (pour moi c'est une commande), ensuite par rapport à un modèle, il me crée une requête, qui ensuite ouvre l'état du résultat de cette requête tout le monde me comprend ?

    Code de mon formulaire quand je valide mon choix de la liste déroulante :
    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
    Private Sub BtnValider_Click()
     
    Dim Db As DAO.Database
    Dim QryModele As DAO.QueryDef
    Dim strSQLModele As String
    Dim NomCmd As String
     
    NomCmd = lstCommande
     
    Set Db = CurrentDb
    'qryChxCommande_modele : nom de ma requete modele
    Set QryModele = Db.QueryDefs("qryChxCommande_modele")
    strSQLModele = QryModele.SQL
    ' "[Sélectionnez une commande]" : Ceci est à l'identique dans ma requetemodele, il est extrait pour le remplacer par le choix sélectionné dans ma liste déroulante------------------
    strSQLModele = Replace(strSQLModele, "[Sélectionnez une commande]", Chr(34) & Nz(lstCommande) & Chr(34))
     
    'Si la requête existe déjà alors (TesteExistenceRequete est un module)
    If TesteExistenceRequete("qryChxCommande") Then
      'alors modifier le code de la requête
      Db.QueryDefs("qryChxCommande").SQL = strSQLModele
    'Sinon
    Else
      'Créer la nouvelle requête
      Db.CreateQueryDef "qryChxCommande", strSQLModele
    End If
     
    'Ferme le formulaire
    DoCmd.Close acForm, Me.Name
    'Ouvre le rapport
    stDocName = "RptCommande"
    DoCmd.OpenReport stDocName, acPreview, , , , NomCmd
     
    End Sub
    Cela a été trouvé sur ce site dans le FAQ. Peut-être que cela te servira

  7. #7
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Oulaaaa du calme du calme, déjà tout change étant donné que c'est dans un module appartenant au formulaire, je veux tout simplement ouvrir un enregistrement
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Ok,
    Peut-être que cette solution sera plus sympas :
    - ouvrir un enregistrement pour le modifier
    ici, je demande dans un formulaire d'en ouvrir un autre. Qui récupéra l'enregistrement pour l'afficher dans le nouveau. Je me sers pour cela du passage d'arguments; l'argument est l'enregistrement en cours :
    Application.DoCmd.OpenForm stDocName, , , , acFormAdd, , Me.CurrentRecord
    Ensuite dans le nouveau formulaire, lors de l'ouverture, j'exécute cette procédure, cela me permet d'ouvrir la base, et de me déplacer dedans jusqu'au numéro d'enregistrement voulu (celui passé en argument). Il n'y a plus qu'ensuite à remplir ses champs du formulaire.
    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
    Private Sub Form_Open(Cancel As Integer)
     
    Dim Arg As Integer
    Dim retour As Integer
     
    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
    'ouverture de la table
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("Liste_Hardware", dbOpenDynaset)
     
    If IsNull(Me.OpenArgs) Then
        'rien à faire
    Else
        'se déplacer dans la table jusqu'à l'enregistrement
        Arg = CLng(Me.OpenArgs)
        Arg = Arg - 1
        rst.Move (Arg)
     
        'remplir les champs du formulaires
        TxtNumSerie = rst.Fields("NumSerie").Value    
    End If
     
    Set dbs = Nothing
    Set rst = Nothing
     
    End Sub
    J'espère que cela sera plus clair que le précédent.
    Bonne journée

  9. #9
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Le problème c'est que cette enregistrement, je veux qu'il soit ouvert en (double)cliquant sur un enregistrement d'une zone de liste....
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

  10. #10
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    Citation Envoyé par Milyshyn76 Voir le message
    Le problème c'est que cette enregistrement, je veux qu'il soit ouvert en (double)cliquant sur un enregistrement d'une zone de liste....
    Je m'exprime peut être mal, parce que le module que tu m'a proposer à l'air d'etre un module standard, qui n'est pas propore à une formulaire...(en reflechissant, ton module devait être un module de classe propre au formulaire...
    Je recommence car c'est le fouilli dans ma tête :

    J'ai une zone de liste venant du d'une table, cette zone de liste je la remplie grace à une formulaire avec ces contrôles etc....

    Lorsque je clique sur un enregistrement de cette fameuse zone de liste, et que je clique sur modifier, je veux(ou j'aimerais..) qu'il m'ouvre un autre formulaire avec dans les zones de texte du formulaire, les données donc saisies auparavant, mais evidement à resaisir.
    voilà est-ce assez clair...
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/07/2010, 13h35
  2. Réponses: 34
    Dernier message: 20/03/2010, 01h58
  3. [AC-2003] Mise à jour d'un sous-formulaire à partir d'une zone de liste
    Par SIENWEST dans le forum IHM
    Réponses: 3
    Dernier message: 10/03/2010, 17h10
  4. [AC-2002] Filtrer un sous formulaire à partir d'une zone de liste
    Par peacefull dans le forum IHM
    Réponses: 4
    Dernier message: 30/10/2009, 15h29
  5. Réponses: 7
    Dernier message: 26/12/2007, 13h36

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