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 :

Problèmes gestion de formulaire [AC-2010]


Sujet :

IHM

  1. #1
    Candidat au Club
    Homme Profil pro
    étudiant en informatique
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant en informatique

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Problèmes gestion de formulaire
    Bonjour,

    J'ai commencer Access hier pour mon projet de stage et je rencontre un problème que je n'arrive pas décrire de manière simple, n'ayant pas encore le vocabulaire suffisant, de ce fait les recherches sur internet sont pour le moins compliqués.

    Mon projet est le suivant: Je fait une base de donnée A répertoriant les informations sur la maintenance de tiroir électronique, ma base donnée donne des informations alpha, beta, ect... sur chacun de c'est tiroir. C'est tiroir sont regroupé en 4 catégories et dans chaque catégories il y a un nombre x de tiroir.

    Pour l'instant j'ai réussi à faire un formulaire me permettant de choisir dans un premier temps la catégories, dans un menu déroulant, puis en fonction de cette catégorie choisir dans un autre menu déroulant son numéro parmi ceux existant.

    C'est ici que j'ai un problème j'aimerais qu'une fois ces deux informations sélectionner, il apparaisse les autres informations enregistré pour ce tiroir. (Par exemple la date de fabrication, les erreurs rencontrer,etc...) et si possible qu'il soit possible de les modifiés à sa convenance.

    J'avais réussi à faire un formulaire mais il posséder autant de page que j'avais de ligne dans mon tableau et il fallait faire attention à la page où on était pour changer les informations sinon ma BDD était complétement changé.

    J'espère être claire, comme vous pouvez le constater j'ai du mal à décrire mon problème simplement ^^
    Merci

  2. #2
    Candidat au Club
    Homme Profil pro
    étudiant en informatique
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant en informatique

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par aguerros Voir le message
    J'avais réussi à faire un formulaire mais il posséder autant de page que j'avais de ligne dans mon tableau et il fallait faire attention à la page où on était pour changer les informations sinon ma BDD était complétement changé.
    Petite rectification on ne pouvait changer que la ligne correspondant à la page ce qui rend la sélection de la catégorie et du tiroir légèrement inutile.^^

  3. #3
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Bonjour.
    1- est-ce que ton formulaire comporte un sous-formulaire permettant l'affichage des données que tu souhaites voir afficher ?
    2- est-ce que tu as pensé à écrire une requête qui te renvoie les informations que tu veux lors de la MAJ de tes listes déroulantes?

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 391
    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 391
    Points : 19 817
    Points
    19 817
    Billets dans le blog
    66
    Par défaut
    Bonjour à tous,

    Pour compléter les questions :

    Connaissez-vous le langage VBA ?

    Si c'est le cas, alors je pensais mettre ce code sur l'événenement afterupdate de la liste déroulante correspondant au numéro :

    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 Numero_AfterUpdate()
     
    With Me.RecordsetClone
     
       .FindFirst "[Numero] = '" & Me.Numero.Value & "'" ' recherche dans la source du formulaire
     
       If Not (.NoMatch) Then
          Me.Bookmark = .Bookmark ' Si présent déplacement sur l'enrg. correspondant.
       Else
          MsgBox ("Numéro non présent dans la base !") ' 
       End If
     
    End With
     
    End Sub
    Ensuite, une fois positionné sur le bon enregistrement, vous pourrez normalement le modifier.

    Cdlt,

  5. #5
    Candidat au Club
    Homme Profil pro
    étudiant en informatique
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant en informatique

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par bertiny Voir le message
    1- est-ce que ton formulaire comporte un sous-formulaire permettant l'affichage des données que tu souhaites voir afficher ?
    Non, je ne maitrise pas encore assez le logiciel, j'ai donc préférer éviter d'utiliser des sous-formulaire pour limiter ma marge d'erreur personnel. Cependant si cela peut être utile je suis preneur.

    Citation Envoyé par bertiny Voir le message
    2- est-ce que tu as pensé à écrire une requête qui te renvoie les informations que tu veux lors de la MAJ de tes listes déroulantes?
    J'ai essayer en événementiel avec un Numero_AfterUpdate(), code que j'ai utiliser pour rendre mon menu déroulant Numero dépendant de mon menu déroulant catégorie, cependant je ne connait pas équivalent du ".RowSource" pour une zone de texte.

    Citation Envoyé par User Voir le message
    Connaissez-vous le langage VBA ?
    Oui je l'ai utilisé pour rendre mes deux premier menu déroulant dépendant, je vais essayer ta solution.

    Merci à vous

  6. #6
    Candidat au Club
    Homme Profil pro
    étudiant en informatique
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant en informatique

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par bertiny Voir le message
    2- est-ce que tu as pensé à écrire une requête qui te renvoie les informations que tu veux lors de la MAJ de tes listes déroulantes?
    J'ai essaye avec la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT rac.Nombre_test FROM rac 
    WHERE (((rac.Categorie) = [Me![cmbCategorie]) AND ((rac.Numero) = [Me]![cmbNumero]));
    cmbCategorie et cmbNumero étant mes menus déroulants.

    Cela marche lorsque j'exécute ma recherche séparément et que l'on me demande de rentrer les valeurs pour cmbCategorie et cmbNumero, cependant une fois cette requête associer à ma zone de texte le message #ERREUR s'affiche peut importe les valeurs que je choisit.

  7. #7
    Candidat au Club
    Homme Profil pro
    étudiant en informatique
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant en informatique

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par User Voir le message
    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 Numero_AfterUpdate()
     
    With Me.RecordsetClone
     
       .FindFirst "[Numero] = '" & Me.Numero.Value & "'" ' recherche dans la source du formulaire
     
       If Not (.NoMatch) Then
          Me.Bookmark = .Bookmark ' Si présent déplacement sur l'enrg. correspondant.
       Else
          MsgBox ("Numéro non présent dans la base !") ' 
       End If
     
    End With
     
    End Sub
    Ensuite, une fois positionné sur le bon enregistrement, vous pourrez normalement le modifier.
    Merci beaucoup cela marche, j'ai fait une légère modification car les certains numéro sont identiques dans plusieurs catégories et que ma colonne Numero est en numérique (j'ai enlever les ' ') ainsi j'ai développer un peut plus votre méthode .FindFirst. Pour ceux que cela intéresse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .FindFirst "[Numero] = " & Me.cmbNumero.Value & " and [Categorie] = " & Me.cmbCategorie.Value & ""
    Merci encore pour votre aide je met le sujet en résolut

  8. #8
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Non, je ne maitrise pas encore assez le logiciel, j'ai donc préférer éviter d'utiliser des sous-formulaire pour limiter ma marge d'erreur personnel. Cependant si cela peut être utile je suis preneur.
    Dans ce genre de manipulation il faut un sous-formulaire qui exécutera ce que tu veux après modification des données du formulaire.
    Les données de ton sous formulaire seront le résultat de ta requête après exécution d'une procédure VBA
    Pour un formulaire appelé A et un sous formulaire appelé B tu auras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    'procédures mettant à jour le sous-formulaire dès changement d'une des listes déroulantes
    Private Sub cmbcategorie_Change()
    Forms![A]![B].Form.Requery
    End sub
    Private Sub cmbnumero_Change()
    Forms![A]![B].Form.Requery
    End sub
    Code du Sous-formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    'procédure au chargement du sous-formulaire 
    Private sub Form_Load ()
    Me.id_catégorie.ColumnHidden = True 
    Me.id_numero.ColumnHidden = True
    End Sub 
    'Procédure au chargement des données
    Private Sub Champ_que_tu_modifiera_Dirty (Cancel As Integer)
    'Mise à jour des champs du nouvel enregistrement dans la table que tu veux modifier les données
    Me![id_catégorie] = Forms![A]![Cmbcategorie]
    Me![id_numero] = Forms![A]![cmbnumero]
    End Sub
    Je l'ai saisi à la volée. tu essayeras d'adapter à ton contexte.
    Il faut noter qu'il est impératif d'avoir un formulaire et un sous-formulaire pour ce que tu veux faire

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

Discussions similaires

  1. problème "Gestion de photos par formulaire"
    Par mcharmat dans le forum IHM
    Réponses: 10
    Dernier message: 13/05/2008, 15h47
  2. Réponses: 50
    Dernier message: 27/03/2007, 08h31
  3. Problème gestion formulaire et repertoire destination
    Par noobspower dans le forum Langage
    Réponses: 5
    Dernier message: 28/02/2007, 13h59
  4. []Problème avec les formulaires Outlook
    Par davidinfo dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

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