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 :

Pb identifiant dans des formulaires de navigation


Sujet :

IHM

  1. #1
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Pb identifiant dans des formulaires de navigation
    * Bonjour, *

    J’ai un problème pour reprendre mes identifiants patients avec les formulaires navigations sous Access 2010. Ma base est constituée de 2 formulaires de navigation imbriqués (onglets horizontaux et onglets verticaux). Un onglet présent sur l’horizontale représente une atteinte et les onglets verticaux, différentes données sur cette atteinte (diagnostic [formulaire simple], imageries [formulaire tabulaire], chirurgies [formulaire tabulaire] et suivis [formulaire tabulaire]) . Chaque onglet correspond à un formulaire et un formulaire à une table.

    A partir du 1er onglet « Identité », on se positionne sur un patient donné, comment se positionner sur ce même patient dans les autres onglets ? Certains onglets contiennent un formulaire à colonne simple, d’autres un formulaire tabulaire. L’objectif est de créer une ligne (le patient) lorsque l’on est en mode saisie et de se positionner sur le patient lorsque celui-ci est déjà saisi et que l’on veut juste modifier une donnée.

    Comment faire pour reprendre mes identifiants ? Pour information, j’ai déjà créer les liens entre les tables.

    Merci pour votre aide.

  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 052
    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 052
    Points : 24 645
    Points
    24 645
    Par défaut
    Bonjour,

    Utilise le recordset de chaque sous-formulaire pour te positionner sur le patient ou pour créer des lignes.

    C'est un recordset DAO, tu peux donc utiliser les méthodes Findfirst, Addnew, Delete ...

    Cordialement,

  3. #3
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    J'ai écrit le programme suivant mais celui-ci ne fonctionne pas correctement :

    Quand je me positionne sur le patient 1 du formulaire identité et que j'entre dans mon formulaire de navigation sur l'onglet HPT (onglet sur l'horizontale) puis l'onglet diag (onglet sur la verticale), j'arrive à créer le premier patient. Lorsque je reviens sur le formulaire identité, que je crée un patient 2 et que je retourne sur l'onglet HPT - diag, l'identifiant se positionne sur le patient 2 mais récupère les données du patient 1. Lorsque je regarde dans la table HPT - diag, les données du premier patient sont enregistrées sur le patient 2 et la ligne concernant le patient 1 n'existe pas. J'espère avoir été claire en expliquant mon problème. Comment le résoudre ?

    Merci pour votre aide.


    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
    Private Sub BoutonNavigation7_Click()
     
    Dim RD As Recordset
    Dim identifiant As String
     
    Set RD = CurrentDb.OpenRecordset("HPT_diag")
     
    With RD
     
        identifiant = Form_Identite.ID_1
     
        .Index = "PrimaryKey"
        .Seek "=", identifiant
     
        If .NoMatch Then 'enregistrement non trouvé
     
            .AddNew 'on crée un nouvel enregistrement
            Form_HPT_diag.ID_1 = identifiant
     
        Else
     
            .FindFirst "Form_HPT_diag.ID_1='" & identifiant & "'" 'on localise le 1er enreg répondant au critère et en fait l'enreg courant
     
        End If
     
    End With
     
    End Sub

  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 052
    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 052
    Points : 24 645
    Points
    24 645
    Par défaut
    Bonjour,

    As-tu bien un index nommé "PrimaryKey" sur la table "HPT_diag" ?
    Porte-t-il bien sur le champ Identifiant ?

    Si ce n'est pas le cas, modifie ou crée cet index ou utilise le Findfirst.

    Note que dans ton code tu ouvres un recordset sur la table ou la requete "HPT_diag" et non sur le formulaire.

    Pour utiliser le recordset du formulaire c'est ceci qu'il faut utiliser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set rst = forms.monform.recordset
    Cordialement,

Discussions similaires

  1. injection des données dans des formulaires
    Par fraisa1985 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 13/12/2008, 00h39
  2. Réponses: 3
    Dernier message: 26/09/2008, 14h25
  3. Réponses: 2
    Dernier message: 27/06/2007, 10h42
  4. Listes dans des formulaires
    Par olivierF78 dans le forum Access
    Réponses: 1
    Dernier message: 13/02/2007, 11h37
  5. Ordre de tabulation dans des formulaires
    Par snoopy69 dans le forum Access
    Réponses: 6
    Dernier message: 04/04/2006, 11h13

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