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 :

Soucis de modification de champ via formulaire


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 16
    Points : 8
    Points
    8
    Par défaut Soucis de modification de champ via formulaire
    Bonjour,

    J'ai mis en place une base de données contenant un certain nombre de formulaires.
    Il se trouve, par exemple, que lorsque je sélectionne le deuxième enregistrement via les boutons de mon formulaire et que je ferme ce dernier, le nom du champ de ce second enregistrement vient écraser le premier.

    J'ai essayé de modifier les options dans propriété du formulaire (onglet donnée, NON sur modifier, ajout etc ...) mais cela rends inutilisable la zone de liste ou le menu déroulant (on ne peut plus cliquer pour sélectionner un champ).

    Merci par avance de votre aide,

    Symph

  2. #2
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Bonjour,
    Citation Envoyé par symphyle Voir le message
    Il se trouve, par exemple, que lorsque je sélectionne le deuxième enregistrement via les boutons de mon formulaire et que je ferme ce dernier, le nom du champ de ce second enregistrement vient écraser le premier.
    en es-tu sûr?

    As-tu vérifié dans tes tables que l'enregistrement en question n'existe plus?
    Je crois non.

    Il s'agit tout simplement d'un problème d'affichage dans le formulaire. Alors peux-tu être plus explicite?
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    Non l'enregistrement est bel et bien effacé au profit d'un autre.

    Par exemple j'ai un formulaire cinéma faisant référence a une table cinéma contenant une liste de cinémas Nom, Adresse, et N°Cinéma pour les identifier.

    - J'ouvre le formulaire cinéma. Je sélectionne un nom de cinéma a l'aide de la liste déroulante. Cet événement est censé afficher dans le champ de texte en dessous l'adresse correspondante.7

    - Dans ce formulaire j'ai créée un bouton fermer pour quitter ce formulaire.

    - J'observe en bas du formulaire une barre indiquant sur quel enregistrement on se trouve et des flèches de navigations ...

    - Quand je sélectionne le deuxième cinéma dans la liste et que je clique. L'adresse s'affiche correctement dans le champ du dessous mais quand je ferme le formulaire le nom du premier cinéma a été remplacé par celui du deuxième cinéma (celui que j'avais sélectionné dans la liste pour connaître son adresse).

    Voici mon code :

    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
    Private Sub Cinéma_liste_Change()
    Dim mini_projet As DAO.Database
    Set mini_projet = CurrentDb
    Dim nomCinéma As String
    nomCinéma = Me.Cinéma_liste.Value
    Dim eng As DAO.Recordset
    Set eng = mini_projet.OpenRecordset("Select Cinéma.[N°Cinéma], Cinéma.[Nom], Cinéma.[Adresse] from Cinéma where Cinéma.Nom='" & nomCinéma & "'")
    'Set eng = mini_projet.OpenRecordset("Cinéma")
    While eng.EOF = False
        Cinéma_nom.Value = eng.Fields("Nom").Value
        cinéma_adresse.Value = eng.Fields("Adresse").Value
        eng.MoveNext
    Wend
    eng.Close
    End Sub
    Symph

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 430
    Points
    19 430
    Billets dans le blog
    63
    Par défaut
    Salut,

    normal tu modifie un Textbox ayant une source(champ "nom" de ta table cinéma),
    en fait il te faut agir sur le recordset clone,

    avec un code du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Me.Filter = ""
     
    Set eng = Me.Recordset.Clone
     
    eng.FindFirst "[nom] = '" & nomCinéma & "'"
     
    Me.Bookmark = eng.Bookmark
    de plus,
    avec ta boucle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    While eng.EOF = False
        Cinéma_nom.Value = eng.Fields("Nom").Value
        cinéma_adresse.Value = eng.Fields("Adresse").Value
        eng.MoveNext
    Wend
    Tu parcours tous les enregistrement de ta requête ,
    et a chaque fois tu stockes ces valeurs dans les contrôles de ton formulaire...

    conclusion, a la fin les contrôles Cinéma_nom et cinéma_adresse contiennent toujours le "nom" et l'"adresse" du dernier enregistrement de ta requête...

    @+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

Discussions similaires

  1. [AC-2003] Base fractionnée - Modification champs via formulaire - Erreur.
    Par Pacma dans le forum Access
    Réponses: 1
    Dernier message: 08/04/2014, 18h19
  2. Réponses: 25
    Dernier message: 03/05/2007, 15h40
  3. Code si modification sur champ dans formulaire
    Par guiguikawa dans le forum IHM
    Réponses: 1
    Dernier message: 14/06/2006, 15h31
  4. Mise à jour champs modifés via formulaire
    Par Al3x dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/01/2006, 17h31
  5. Modification critére requête via formulaire
    Par frevale dans le forum Access
    Réponses: 1
    Dernier message: 02/11/2005, 21h30

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