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

Access Discussion :

Afficher, et éventuellement modifier, les valeurs de champs de plusieurs enregistrements dans un formulaire


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Projeteur DAO, developpeur
    Inscrit en
    Octobre 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Projeteur DAO, developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2012
    Messages : 39
    Points : 29
    Points
    29
    Par défaut Afficher, et éventuellement modifier, les valeurs de champs de plusieurs enregistrements dans un formulaire
    Bonjour à tous,
    comment fait on pour afficher dans un formulaire les champs de plusieurs enregistrements,
    (laissés vides quand ils sont différents) pour pouvoir les modifier simultanément ?

    le choix des enregistrements serait fait au préalable par une sélection dans une liste sur la clef primair ou un identifiant, ou alors le resultat d'une requête

    c'est possible ?
    merci

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonjour,

    comment fait on pour afficher dans un formulaire les champs de plusieurs enregistrements,
    Tu fais un formulaire tabulaire (ou plusieurs éléments aussi devrait le faire)
    (laissés vides quand ils sont différents)
    ça je n'ai pas compris
    pour pouvoir les modifier simultanément ?
    Une requête mise à jour permet de modifier un ensemble de valeurs d'une table selon un critère qui je pense rejoint ce que tu mets :.
    le choix des enregistrements serait fait au préalable par une sélection dans une liste sur la clef primaire ou un identifiant, ou alors le résultat d'une requête
    c'est possible ?
    Oui :

    1- Créer un formulaire de recherche (multi-critères) et mettre les résultats dans un sous-formulaire tabulaire.
    2- Créer une requête mise à jour pour modifier simultanément tes enregistrements.
    3- Créer un bouton et y rattacher un code VBA avec la requête mise à jour du 2 + une Actualisation du sous-formulaire à la fin.

    Ca devrait le faire.

    Bonne continuation

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Projeteur DAO, developpeur
    Inscrit en
    Octobre 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Projeteur DAO, developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2012
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    salut et merci de ta réponse,
    Citation Envoyé par madefemere Voir le message
    Tu fais un formulaire tabulaire (ou plusieurs éléments aussi devrait le faire)
    Ok, j'ai vu, ce n'est pas ça que je cherche, car il y a une ligne par enregistrement,
    j’aurais voulu une ligne pour tous les enregistrements, de la le "blanc" quand les valeurs sont différentes

    Une requête mise à jour permet de modifier un ensemble de valeurs d'une table selon un critère qui je pense rejoint ce que tu mets :.
    Ok, j'ai trouvé créer requête sélection, la transformer en mise à jour.
    en gros c'est le mécanisme que je voulais automatiser


    1- Créer un formulaire de recherche (multi-critères)
    ça je n'ai pas trouvé, dans tous les cas ça m'interrese:
    je n'ai pas cette option lors de la création d'un formulaire

    2- Créer une requête mise à jour pour modifier simultanément tes enregistrements.
    3- Créer un bouton et y rattacher un code VBA avec la requête mise à jour du 2 + une Actualisation du sous-formulaire à la fin.
    ça c'est ce que je voulais justement éviter de faire (par paresse ... )
    j'ai une application DAO (Autocad), je voulais sélectionner des entités, à partir de leur identifiant lancer une requête sélection sur les identifiants récoltés,
    et ouvrir un beau formulaire qui me permet de modifier globalement les valeurs en utilisant le mécanisme de contrôle des valeurs d'access.

    Avec Autocad j'ai la possibilité de modifier globalement des valeurs, mais sans contrôle, je voulais utiliser le mécanisme d'access, et ses belles boites de dialogue, ainsi que la facilité du VBA, car sous Autocad, je n'ai plus de VBA, je suis obligé
    de passer au .Net, qui est mieux que le VBA sous pleins d'aspect, mais dont le debogage n'est pas intégré, ce qui complique sérieusement le développement.

    gérald

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonsoir,

    Ca s'assombrit un peu à mon niveau :

    j’aurais voulu une ligne pour tous les enregistrements, de la le "blanc" quand les valeurs sont différentes
    Il faudrait un exemple ou un schéma parce que je suis perdu là.

    1- Créer un formulaire de recherche (multi-critères)
    ça je n'ai pas trouvé, dans tous les cas ça m'interrese:
    je n'ai pas cette option lors de la création d'un formulaire
    Après ton explication, peut-être inutile avec :
    je voulais sélectionner des entités, à partir de leur identifiant lancer une requête sélection sur les identifiants récoltés,
    et ouvrir un beau formulaire qui me permet de modifier globalement les valeurs en utilisant le mécanisme de contrôle des valeurs d'access.
    Ou comment vois-tu cela? Tu trouveras des tutos sur les formulaires de recherche ici
    2- Créer une requête mise à jour pour modifier simultanément tes enregistrements.
    3- Créer un bouton et y rattacher un code VBA avec la requête mise à jour du 2 + une Actualisation du sous-formulaire à la fin.
    ça c'est ce que je voulais justement éviter de faire (par paresse ... )
    Là tu le dis bien : c'est 3 lignes de code quand la requête mise à jour est faite.

    Je dirais que ce qu'il faudrait comme info complémentaire, c'est :
    1- Comment sont injectés les données dans ta base Access ?
    2- Comment est la structure de la table sur laquelle tu vas travailler ?
    3- Est-ce que les valeurs que tu veux mettre à jour sont déjà un résultat de requête ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Projeteur DAO, developpeur
    Inscrit en
    Octobre 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Projeteur DAO, developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2012
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    salut, merci de suivre le sujet, je vais essayer d'éclaircir.

    Citation Envoyé par madefemere Voir le message
    Bonsoir,
    Ca s'assombrit un peu à mon niveau :
    Il faudrait un exemple ou un schéma parce que je suis perdu là.
    don imaginons une table qui contiendrait (entre autre) ces enregistrements
    Nom : Table.png
Affichages : 1974
Taille : 5,6 Ko

    si je fais un sélection par commune = "Monthion", j'aurais dans mon formulaire :

    Nom : boutons.png
Affichages : 1874
Taille : 1,9 Ko

    la case bon client est blanche, mais si je clique dessus, je veux la liste déroulante "oui" "non",
    avec le même mécanisme de controle des valeurs que pour un formulaire classique qui travaille sur un enregistrement à la fois

    Tu trouveras des tutos sur les formulaires de recherche ici
    merci, Je vais regarder ces tutos

    Là tu le dis bien : c'est 3 lignes de code quand la requête mise à jour est faite.
    Non, car si je passe par le VBA, il va falloir que je me tape plein de listbox à initialiser / gérer
    alors que j'ai déjà fait ce travail pour créer ma base

    Je dirais que ce qu'il faudrait comme info complémentaire, c'est :
    1- Comment sont injectés les données dans ta base Access ?
    Au départ, les données on été saisies une par une avec un formulaire
    2- Comment est la structure de la table sur laquelle tu vas travailler ?
    C'est une table qui contient des champs de nature très différentes, dont certaine valeurs sont entièrement libre, alors que d'autre proviennent de tables, verrouillées ou modifiable
    3- Est-ce que les valeurs que tu veux mettre à jour sont déjà un résultat de requête ?
    Oui, je vais faire un requête sur ma base principale à partir d'un critère (ex : commune = monthion")
    Gérald

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Projeteur DAO, developpeur
    Inscrit en
    Octobre 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Projeteur DAO, developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2012
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Bonjour,
    j'ai regardé ces tutos, ou j'ai bien trouvé la méthode pour faire une sélection
    (certains tutos sont assez complexes d'ailleurs, avec les listes combinées)
    je vois que la frontière entre formulaire et état est tenue, puisqu'on peut avoir le résultat de sa requête dans un formulaire.
    dans ce tuto (très clair avec de nombreux rappels)
    on vois comment modifier UN enregistrement
    je n'ai pas trouvé de méthode simple (autre qu'un développement finalement assez conséquent en VBA) permettant de modifier plusieurs enregistrements à la fois en utilisant les outils basics d'Access
    Gérald

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Projeteur DAO, developpeur
    Inscrit en
    Octobre 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Projeteur DAO, developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2012
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Salut,
    je pense avoir trouvé une piste pour faire ce que je veux, avant de me lancer j'aimerai avoir un avis sur la possibilité de la chose.
    Je rappelle de manière synthétique mon objectif :
    - Sélectionner des enregistrements Via une requête sélection
    - Sélectionner de nouvelles valeurs pour cette sélection, les valeurs admissibles sont controllées par Access (liste de valeurs issue de tables etc ...)
    - Requête sélection transformée en requête mise à jour.

    la table que je veux sélectionner modifier sera "T_principale"

    Ce que je vois comme solution :
    - Créer un formulaire sélection/affichage du résultat/mise à jour sur ma table "T_principale"
    - Créer un table "T_Clone" qui a exactement le même format que "T_principale", mais qui n'aura qu'un enregistrement
    - ajouter une ligne de controle dans mon formulaire, au dessus de la zone d'affichage de la requête sélection, qui pointe sur la table "T_Clone"
    - Créer un bouton VBA "Appliquer_Modifs"
    - une fois ma requête sélection effectuée, en VBA je synthétise les valeurs obtenues et je rempli le 1er enregistrement de T_Clone:
    Plusieurs valeurs différentes par colonne -> Null
    Une seule valeur par colonne -> cette valeur
    Si je choisis une nouvelle valeur pour un champ de T_Clone, je stocke le nom du champ dans un tableau "champ_a_modifier"
    quand j'ai finit, le VBA de "Appliquer_Modifs" lit les nouvelles valeurs de T_Clone et les applique à la sélection de "T_principale" via un requête mise à jour, puis il vide "champ_a_modifier"

    ça parait alambiqué, mais ce qui m'interresse c'est d'utiliser au maximum des controles Access standard, ce qui me permet d'avoir une évolution assez souple de ma base
    (les contrôles utilisés pour la table T_Clone seront un simple copier/collé de ceux que j'utilise pour editer ma table "T_principale")

    Madefemere, peut tu me dire si c'est cohérent ?

    Gérald

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonjour,

    A priori ça devrait marcher mais je n'ai pas compris le but.
    Est ce que ce serait ça :Pièce jointe 141469
    parce que je n'ai pas trop compris le but final.

    Dans ta démarche, pourquoi veux-tu créer une table T_clone? Tu devrais pouvoir créer des contrôles indépendants dans ton formulaire et utiliser leur valeur pour la mise à jour de la table T_principal.

    Bonne continuation et racontes-nous

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Projeteur DAO, developpeur
    Inscrit en
    Octobre 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Projeteur DAO, developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2012
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Salut et merci,
    Citation Envoyé par madefemere Voir le message
    Bonjour,
    Dans ta démarche, pourquoi veux-tu créer une table T_clone? Tu devrais pouvoir créer des contrôles indépendants dans ton formulaire et utiliser leur valeur pour la mise à jour de la table T_principal.
    Que veut dire contrôle independant ?
    C'est un controle dont le traitement est controlé par le VBA ?
    Moi je ne veux pas utiliser des controles pilotés par VBA, car après je dois me taper une deuxième fois tout le "controle" du controle:
    quelle valeur il affiche, as on le droit de modifier une valeur, d'en ajouter une, nombre, chaine, mixte etc ...
    j'ai déjà fait ça pour mon formulaire de saisie, et je veux donc réutiliser les controles de ce formulaire, en changeant simplement leur destination.
    je veux pointer vers T_clone car comme ça je bénéficie des contraintes de cette table qui interdiront des valeurs farfelues

    comme je sais d'avance que j'aurais plusieurs types de table à gérer de cette manière, je veux une méthode qui me permet d'optimiser le temps de développement
    et modifier d'un coup plusieurs enregistrement est une obligation pour moi.

    Je vais faire mes tests, et je reviendrais les expliquer
    Merci
    Gérald

Discussions similaires

  1. Reporter les valeurs de champs d'une popup dans un écran
    Par freestyler1982 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/07/2014, 14h35
  2. Réponses: 2
    Dernier message: 28/03/2014, 09h31
  3. Modifier les valeurs des champs en utilisant pentaho
    Par nandy.c dans le forum kettle/PDI
    Réponses: 2
    Dernier message: 12/03/2012, 17h04
  4. Réponses: 5
    Dernier message: 23/04/2007, 13h37
  5. modifier les valeurs de champ
    Par stoyak dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 15/11/2006, 11h18

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