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 :

MAJ Table via sous-formulaire [AC-2007]


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur poste de travail
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur poste de travail

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Points : 2
    Points
    2
    Par défaut MAJ Table via sous-formulaire
    Bonjour,

    Je vous présente mon besoin:

    J'ai dans ma BD Access 2007 servant à gérer une migration de postes de travail (pour l'instant):

    4 tables:
    1. MATERIEL
    2. LOGICIEL
    3. VAGUE
    4. MIGRATION


    Des formulaires:
    • Creation_Vague : permet de créer les vagues de migration
    • Liste_Materiel_vag (formulaire listant les matériel)
    • VAGUE : basé sur la table vague avec comme sous formulaire: Liste_Materiel_vag (Nom : 2014-03-11_112713.png
Affichages : 304
Taille : 29,8 Ko)


    Je souhaite mettre à jour la table migration avec le N° de vague et les postes sélectionnés dans le sous-formulaire.

    A la base, je voulais faire une case à cocher devant chaque poste...
    Mais n'y arrivant pas, j'ai voulu essayer un bouton avec un code évènementielle qui fait une MAJ de la table MIGRATION avec le N° de vague et l'Etiquette du poste.

    Quel est selon vous, la meilleure solution ?
    Le but étant de ensuite de pouvoir gérer les vagues de migration !

    Merci de vos réponses/avis.

  2. #2
    Expert éminent

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

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

    Sans le détails de la structure de tes tables et de ta base de données, il est un peu difficile d'apporter des solutions.
    Pourquoi tu n'utilises pas un formulaire lié à un sous-formulaire des migrations à effectuer. Ce qui te permet d'ajouter uniquement par vague les matériels à migrer pour chaque vague avec une liste déroulante (une relation avec intégrité référentielle correcte vérifiera automatiquement l'ajout d'un nouveau matériel dans une vague)). Je trouve que c'est plus simple. après à toi de voir. Je te joint un fichier joint à toutes fins utiles.

    Bonne continuation
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur poste de travail
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur poste de travail

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Merci madefemere pour ton retour rapide.

    Ta solution est intéressante, mais inexploitable dans mon cas car j'ai près de 900 postes clients ! Et dans la liste déroulante, ce n'est pas gérable...

  4. #4
    Expert éminent

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Re-,

    Comme je te disais, n'ayant pas la structure exacte de ta base, on ne peut faire que des suppositions
    Dans la prolongation de mon idée (pour chaque vague), je propose dans ce cas :
    1- Je rajouterai un champ FlagMigration Oui/Non dans la table MIGRATION avec valeur par défaut Non.
    2- Lors de la création d'une vague, on ajoute tous les matériels dans la table migration avec une requête INSERT.
    3- Tu choisis tes matos en cochant les cases FlagMigration.
    4- Lors de la validation de la migration de la vague, tu supprimes les matériels dont FlagMigration sont égal à Non.

    La base modifiée est jointe

    @+
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur poste de travail
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur poste de travail

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci de retour madefemere.
    Je joints ma BD pour avoir une bonne "base" de travail...

    Pour aider la personne qui fera la gestion des vagues, je vais intégrer une recherche sur le service, sur le "Type équipement informatique", et sur l'étiquette. Je pensais mettre les résultats dans une formulaire-liste avec un flag migration (case à cocher) permettant de valider les postes de la vague.

    Donne-moi ton avis.
    Fichiers attachés Fichiers attachés

  6. #6
    Expert éminent

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

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

    Est-ce que tu as regardé la dernière base que j'ai envoyé?
    J'ai regardé ta base et nos 2 bases sont similaires si tu apportes les modifcations suivantes à la tienne (et ma proposition sera applicable) :
    1 - Définir une intégration référentielle dans la relation entre les tables MATERIEL_SCOPE et MIGRATION (avec MAJ en cascade).
    2 - Modifier le type du champ Num_vag dans la table MIGRATION en Numérique (après avoir supprimer la relation avec VAGUE).
    3 - Rétablir la relation entre VAGUE et MIGRATION par les champs N° et Num_vag et définir une intégrité référentielle (avec MAJ en cascade).
    4 - Ajouter un champ FlagMigration de type Boolean dans la table MIGRATION.
    5 - Tu crées un formulaire tabulaire à partir de la table MIGRATION qui va être utilisé comme sous-formulaire dans le formulaire VAGUE à la place de Liste_Materiel_vag. (Tu pourras filtrer ce sous-formulaire après, mais je te montre pour le moment comment arriver au même fonctionnement que la base que j'ai proposée).
    6 - Tu mets ce sous-formulaire dans le formulaire VAGUE en établissant une relation Père/Fils entre les champs N° et Num_vag (Normalement un DRAG & DROP va établir automatiquement cette relation)

    7 - Ajouter un bouton qui sur click va ajouter TOUS LES MATERIELS dans la vague sélectionnée.(Regarde le code que j'ai mis sur mon bouton et essaies d'adapter). Là, tous les matériels sont dans la vague de migration, il faut cocher ou décocher FlagMigration pour chaque matériel (à toi de voir comment filtrer et faciliter la saisie) *

    8 - Ajouter une bouton de validation qui va supprimer les matériels qui n'ont pas été choisis dans cette vague. (Voir le code que j'ai mis sur l'autre bouton)

    * : Si tu veux appliquer des filtres à ton sous-formulaire, il faudrait modifier sa source en la basant sur une requête à partir de la table MIGRATION et la table MATERIEL_SCOPE et ajouter les champs auxquels tu veux appliquer le filtre. Ajouter ces champs dans le sous-formulaire.

    La base modifiée est jointe

    Bonne continuation.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  7. #7
    Candidat au Club
    Homme Profil pro
    Ingénieur poste de travail
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur poste de travail

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Au moment ou je t'ai écrit hier, je prenais connaissance de ton message précédent.

    Merci pour tes explications détaillées qui m'ont permis d'avancer.
    Mais je me heurte maintenant aux requêtes pour faire les injections et les filtres.

    J'ai un peu de mal pour les jonctions entre les tables:
    exemple dans le code je souhaiterais faire :
    Filtre du SF MIGRATION_VAGUE
    StrSql = "SELECT MIGRATION.Num_vag, MIGRATION.Etiquette, MIGRATION.FlagMigration, MATERIEL_SCOPE.Etiquette, MATERIEL_SCOPE.Service, MATERIEL_SCOPE.[Type équipement informatique], MATERIEL_SCOPE.Modèle" FROM MATERIEL_SCOPE RIGHT JOIN MIGRATION ON MATERIEL_SCOPE.[Etiquette] = MIGRATION.[Etiquette] WHERE " & ReqCrit & " ORDER BY MATERIEL_SCOPE.Etiquette;"
    Fichiers attachés Fichiers attachés

  8. #8
    Expert éminent

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

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

    Désolé, mais je crois bien que j'ai oublié d'indiquer un petit truc qui a son importance.
    Dans la table MIGRATION, il faudrait définir les champs Num_vag et Etiquette comme étant un clé primaire complexe.
    Cette structure évitera l'erreur de saisir un matériel 2 fois dans la même vague.
    Au fait, je n'ai pas compris pourquoi tu as modifié la requête pour insérer tous les matériels?

    Ceci fait, passons au filtre du sous-formulaire.
    L'idée de changer la source du sous-formulaire n'est pas la bonne à mon avis.
    La meilleure façon pour moi serait de baser le sous-formulaire sur une requête avec les champs à filtrer, comme la requête MIGRATION_REQUETE.

    Dans l'ordre, on fera :
    1- Enlever le filtre Vrai du champ Etiquette dans la requête MIGRATION_Requête (Attention avec tes noms d'objet : pas d'espace et caractères particuliers).
    2- Modifier la source du sous-formulaire par la requête MIGRATION_Requête.
    3- Déplacer les 4 champs pour le filtre cbo...,lst,... dans le formulaire principal.
    4- Je modifierais la source de la zone de liste lst_typeP en une requête de regroupement des valeurs du champ Type équipement informatique de la table MATERIEL_SCOPE. (plus facile à maintenir).
    5- La grosse partie du travail à ce niveau :
    Filtrer le sous-formulaire selon les valeurs des champs filtres en utilisant la propriété Filter et FilterOn du sous formulaire.
    Il faut créer l'expression filtre en concaténant les différents filtres sur les 4 champs et en tenant compte des différentes possibilités.
    6- Ajouter un bouton pour annuler le filtre en cours et mettre à zéro les valeurs à rechercher sur les 4 champs.

    Et voilà le travail

    Bonne continuation
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  9. #9
    Candidat au Club
    Homme Profil pro
    Ingénieur poste de travail
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur poste de travail

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Points : 2
    Points
    2
    Par défaut Suite des réjouissances
    Bonjour madefemere,

    Merci de ton retour, que je n'ai pu mettre en œuvre avec succès q'hier à d'autres sujets sur le feu!
    Mais bien sûr, d'autres demandes me posent problèmes...

    Dans le formulaire de VAGUE:
    • Lors du clic sur le bouton "AJOUTER LES POSTES" faire en sorte qu'il reste sur la vague qui vient d'être alimentée car après le clic il revient au 1er enregistrement 1ère vague)
    • Lors du clic sur le bouton "AJOUTER LES POSTES" ajouter "toutes" les informations de la table MATERIEL_SCOPE dans la table MIGRATION
    • Ajouter un critère supplémentaire sur le bouton "AJOUTER LES POSTES" (poste non présent dans la table MIGRATION filtré sur le critère d'unicité (Etiquette + matricule) et dont la souche n'est pas "Neptune V2"
    • Ajouter un état de migration par poste (Migré, en cours, Annulé)
    • Lors du clic sur bouton "VALIDER DE LA VAGUE" passer le statut des postes possédant le flag MIGRATION au statut "En cours"
    • Nettoyer la table Migration en quittant le formulaire


    Dans le code VBA, j'ai des soucis de longueur de ligne pour ajouter les infos de la table MATERIEL dans MIGRATION!
    Et du coup, avec les retours à la ligne, les " et les & je m'y perds un peu...

    Pourrais-tu (encore une fois) m'éclairer stp ?

    Merci d'avance.

  10. #10
    Expert éminent

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

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

    Essayons de faire tout cela pas à pas :

    Lors du clic sur le bouton "AJOUTER LES POSTES" faire en sorte qu'il reste sur la vague qui vient d'être alimentée car après le clic il revient au 1er enregistrement 1ère vague)
    1- J'ai pas bien compris le résultat voulu. Pour diriger le focus vers un contrôle déterminé, il faut utiliser Me.NomControl.SetFocus.

    Lors du clic sur le bouton "AJOUTER LES POSTES" ajouter "toutes" les informations de la table MATERIEL_SCOPE dans la table MIGRATION
    2- Pas la peine (sauf si tu m'expliques le but). Vu que la clé primaire Etiquette est présente dans la table MIGRATION, on peut retrouver toutes les informations sur le matériel en ayant cette information.

    Ajouter un critère supplémentaire sur le bouton "AJOUTER LES POSTES" (poste non présent dans la table MIGRATION filtré sur le critère d'unicité (Etiquette + matricule) et dont la souche n'est pas "Neptune V2"
    3- A voir. Est-ce que le critère sera toujours Souche<> "Neptune V2" ou ce sera dynamique après?

    Ajouter un état de migration par poste (Migré, en cours, Annulé)
    Lors du clic sur bouton "VALIDER DE LA VAGUE" passer le statut des postes possédant le flag MIGRATION au statut "En cours"
    4- Demande un peu floue (avec la suite) qui appelle une autre question est-ce ça veut dire que nous n'avons qu'une seule VAGUE DE MIGRATION ?
    Nettoyer la table Migration en quittant le formulaire
    5- Solution selon réponse point précédent.

    Dans le code VBA, j'ai des soucis de longueur de ligne pour ajouter les infos de la table MATERIEL dans MIGRATION!
    Et du coup, avec les retours à la ligne, les " et les & je m'y perds un peu...
    6- Normalement point inutile suite au point 2.

    J'essaie de mouliner quelque chose (je garantis pas le délai, ce ne sera pas dans 1 an, c'est sûr). Mais si tu peux donner plus d'informations sur mes questions pour t'orienter.

    Bonne continuation
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  11. #11
    Candidat au Club
    Homme Profil pro
    Ingénieur poste de travail
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur poste de travail

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Lors du clic sur le bouton "AJOUTER LES POSTES" faire en sorte qu'il reste sur la vague qui vient d'être alimentée car après le clic il revient au 1er enregistrement 1ère vague)
    1- J'ai pas bien compris le résultat voulu. Pour diriger le focus vers un contrôle déterminé, il faut utiliser Me.NomControl.SetFocus.
    Simplement que quand on est sur la vague n° 5 par exemple, quand on clic sur le bouton pour ajouter les postes, l'affichage revient sur la première vague !

    Lors du clic sur le bouton "AJOUTER LES POSTES" ajouter "toutes" les informations de la table MATERIEL_SCOPE dans la table MIGRATION
    2- Pas la peine (sauf si tu m'expliques le but). Vu que la clé primaire Etiquette est présente dans la table MIGRATION, on peut retrouver toutes les informations sur le matériel en ayant cette information.
    Cette action me permettra de garder un historique de tous mes postes, car l'étape suivante dans mes actions sera un mécanisme de MAJ de ma table MATERIEL_SCOPE avec un inventaire de mon parc de postes (MAJ mensuel).

    Ajouter un critère supplémentaire sur le bouton "AJOUTER LES POSTES" (poste non présent dans la table MIGRATION filtré sur le critère d'unicité (Etiquette + matricule) et dont la souche n'est pas "Neptune V2"
    3- A voir. Est-ce que le critère sera toujours Souche<> "Neptune V2" ou ce sera dynamique après?
    Oui, "Neptune V2" c'est le statut cible de la migration.

    Ajouter un état de migration par poste (Migré, en cours, Annulé)
    Lors du clic sur bouton "VALIDER DE LA VAGUE" passer le statut des postes possédant le flag MIGRATION au statut "En cours"
    4- Demande un peu floue (avec la suite) qui appelle une autre question est-ce ça veut dire que nous n'avons qu'une seule VAGUE DE MIGRATION ?
    Non, il n'y a pas qu'une seule vague de migration. L'état à positionner, est par poste dans chaque vague.
    Lorsqu’on a choisi les postes constituant une vague avec le flag migration, on valide pour nettoyer la table MIGRATION et par la même passer l'Etat des postes restants dans la vague à "En cours".

    Nettoyer la table Migration en quittant le formulaire
    5- Solution selon réponse point précédent.
    Après réflexion, si le point N°2 est bien traité, ça ne devrait plus être nécessaire.

    Dans le code VBA, j'ai des soucis de longueur de ligne pour ajouter les infos de la table MATERIEL dans MIGRATION!
    Et du coup, avec les retours à la ligne, les " et les & je m'y perds un peu...
    6- Normalement point inutile suite au point 2.
    Toujours d'actualité mais joint au point N° 2.


    J'espère avoir été plus clair...
    Merci de ton aide.

  12. #12
    Expert éminent

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

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

    Pour le point 1, Il faut modifier l'actualisation après l'ajout des postes. (Me.Requery). Il faudrait actualiser uniquement le sous-formulaire avec un code du genre : Me.NomDuSousFormulaire.Requery. Je pense qu'il faut aussi modifier la même ligne lors de la validation de la vague.

    Pour le point 3,
    a- Est-ce que ce nouveau critère devra être vérifié AVEC les autres critères ou VRAIMENT à part ?
    poste non présent dans la table MIGRATION filtré sur le critère d'unicité (Etiquette + matricule) et dont la souche n'est pas "Neptune V2"
    b- Est-ce que ça veut dire que ce sont les postes dont FlagMigration<>OUI ET Souche <>"Neptune V2" et qu'est ce que tu entends par le critère d'unicité (Etiquette + matricule)
    De toutes les façons, pour aborder ce point 3, il faudrait rajouter le champ "Souche" dans la requête "MIGRATION Requête" et dans le sous-formulaire. Il faudrait modifier SELON la réponse à la question a- le code pour filtrer le sous-formulaire et les informations complémentaires que tu as sur le point b.

    Pour le point 2,4,5 et 6.
    Je suis un peu paumé parce que je ne vois pas la nécessité de conserver toutes les informations d'un même élément (id unique par étiquette) dans 2 tables différentes même pour une historique.
    Pour moi si tu veux un historique, il te faudrait te constituer une table T_Historique avec les champs : Date_Statut - Etiquette - Statut - Autres informations complémentaires que tu alimentes après la validation de chaque vague.

    Dis-nous si tu as d'autres soucis et informations.

    Bonne continuation
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  13. #13
    Candidat au Club
    Homme Profil pro
    Ingénieur poste de travail
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur poste de travail

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Pour le point 1 OK, c'est fait !

    Pour le point 3,
    a- Est-ce que ce nouveau critère devra être vérifié AVEC les autres critères ou VRAIMENT à part ?
    poste non présent dans la table MIGRATION filtré sur le critère d'unicité (Etiquette + matricule) et dont la souche n'est pas "Neptune V2"
    Il doit être avec, ce qui donne 3 critères :
    (((MATERIEL_SCOPE.Etiquette <> MIGRATION.Etiquette) AND(MATERIEL_SCOPE.Matricule <> MIGRATION.Matricule)) AND (MATRIEL_SCOPE.Souche <>"Neptune V2"))

    Il peut par exemple arriver qu'un poste avec une étiquette soit déjà dans la table MIGRATION mais avec un matricule différent (cas de réaffectation de poste déjà migré à un nouvel utilisateur, mais dans l'ancienne version !)

    Pour le point 2,4,5 et 6.
    Je suis un peu paumé parce que je ne vois pas la nécessité de conserver toutes les informations d'un même élément (id unique par étiquette) dans 2 tables différentes même pour une historique.
    Pour moi si tu veux un historique, il te faudrait te constituer une table T_Historique avec les champs : Date_Statut - Etiquette - Statut - Autres informations complémentaires que tu alimentes après la validation de chaque vague.
    Justement non, l'ID de l'étiquette n'est pas unique car des postes peuvent être réattribués par exemple après le départ d'un utilisateur...

    Lors de la validation de chaque Vague, l'état de migration des postes de cette vague doivent passer au status "En cours".

    Dites-moi si c'est suffisamment clair ou pas ?

    Merci pour votre attention.

    Lionel

  14. #14
    Candidat au Club
    Homme Profil pro
    Ingénieur poste de travail
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur poste de travail

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Avez-vous eu un peu de temps à m'accorder sur mon sujet ?

    Merci de votre retour.
    Yoyo78

  15. #15
    Expert éminent

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

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

    Désolé pour le silence, mais je suis assez occupé en ce moment et ton sujet n'est pas des plus simples. De plus, les informations complémentaires que tu donnes ne sont pas de nature à simplifier la chose.

    Pour y voir plus clair , tu as des matériels qui sont inscrits dans ta table MATERIEL_SCOPE. Ils sont identifiés de manière unique par le champ Etiquette (c'est une clé primaire). Ton but est de suivre leur migration de leur statut actuel (identifié par le champ SOUCHE) vers un statut « NEPTUNE V2 ». Cette migration se fera par vague de machines (selon divers critères).
    1- Donc si une machine est présente dans la première vague, normalement elle ne sera plus présente dans la seconde ou les suivantes ? (indépendamment de son attribution).
    2- Dans tout ton mic-mac, est-ce que tu peux expliquer à quel moment on changerait le statut d'un poste en : Migré - En cours - Annulé.
    Est-ce que c'est : Migré <===> SOUCHE = "NEPTUNE V2"
    En cours <===>SOUCHE <>"NEPTUNE V2" et FlagMigration = Oui
    Annulé <===>SOUCHE <>"NEPTUNE V2" et FlagMigration = Non
    Parce que pour le moment on ne parle que du passage de Annulé vers En cours.

    @+
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  16. #16
    Candidat au Club
    Homme Profil pro
    Ingénieur poste de travail
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur poste de travail

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par madefemere Voir le message
    Bonsoir,

    Désolé pour le silence, mais je suis assez occupé en ce moment et ton sujet n'est pas des plus simples. De plus, les informations complémentaires que tu donnes ne sont pas de nature à simplifier la chose.

    Pour y voir plus clair , tu as des matériels qui sont inscrits dans ta table MATERIEL_SCOPE. Ils sont identifiés de manière unique par le champ Etiquette (c'est une clé primaire). Ton but est de suivre leur migration de leur statut actuel (identifié par le champ SOUCHE) vers un statut « NEPTUNE V2 ». Cette migration se fera par vague de machines (selon divers critères).
    1- Donc si une machine est présente dans la première vague, normalement elle ne sera plus présente dans la seconde ou les suivantes ? (indépendamment de son attribution).
    Presque, car une machine migrée peut être réinstallé à un nouvel utilisateur par exemple suite au départ de son propriétaire précédent et dans un mode non migré. Car la migration s'effectue au fil de l'eau.

    2- Dans tout ton mic-mac, est-ce que tu peux expliquer à quel moment on changerait le statut d'un poste en : Migré - En cours - Annulé.
    Est-ce que c'est : Migré <===> SOUCHE = "NEPTUNE V2"
    En cours <===>SOUCHE <>"NEPTUNE V2" et FlagMigration = Oui
    Annulé <===>SOUCHE <>"NEPTUNE V2" et FlagMigration = Non
    Parce que pour le moment on ne parle que du passage de Annulé vers En cours.
    OK pour les 2 premiers cas. Pour le dernier, les conditions seraient plutôt pour les postes non encore inclus dans une vague!

    J'espère avoir été assez clair?
    Si ce n'est pas le cas, tiens moi au courant.

    Lionel

  17. #17
    Candidat au Club
    Homme Profil pro
    Ingénieur poste de travail
    Inscrit en
    Mars 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur poste de travail

    Informations forums :
    Inscription : Mars 2014
    Messages : 10
    Points : 2
    Points
    2
    Par défaut Réalisé
    Bonjour,

    Voici ce que j'ai codé pour l'ajout de postes :

    Private Sub BtnAjoutMateriels_Click()

    Dim StrSql As String

    StrSql = "INSERT INTO MIGRATION ( Num_vag) " _
    & "SELECT " & Me.N° & ", MATERIEL_SCOPE.* FROM MATERIEL_SCOPE LEFT JOIN MIGRATION ON (MATERIEL_SCOPE.Matricule = MIGRATION.Matricule) AND (MATERIEL_SCOPE.Etiquette = MIGRATION.Etiquette) WHERE (((MIGRATION.Etiquette) Is Null) AND ((MATERIEL_SCOPE.Souche) NOT Like ""NEPTUNE 2." & "*""));"

    DoCmd.SetWarnings False
    DoCmd.RunSQL StrSql

    DoCmd.SetWarnings False
    Me.[MIGRATION_VAGUE].Form.Requery

    End Sub

    Et pour la suppression :

    Private Sub BtnValidationVague_Click()

    Dim StrSql As String
    'Dim StrCrit As String

    Dim oRst As DAO.Recordset
    Dim oDb As DAO.Database
    Set oDb = CurrentDb
    Set oRst = oDb.OpenRecordset("SELECT EtatPoste FROM MIGRATION WHERE (((MIGRATION.Num_vag) = " & Me.N° & ") And ((MIGRATION.FlagMigration) = True) And (MIGRATION.EtatPoste IS NULL))", dbOpenDynaset)
    While Not oRst.EOF
    'Passe en mode modification
    oRst.Edit
    'Affecte le statut EN COURS aux postes concernés
    oRst.Fields("EtatPoste").Value = "En cours"
    'Met à Jour
    oRst.Update
    'Passe au suivant
    oRst.MoveNext
    Wend

    'Libération des objets
    oRst.Close
    oDb.Close
    Set oRst = Nothing
    Set oDb = Nothing

    StrSql = " Delete MIGRATION.Num_vag, MIGRATION.FlagMigration FROM MIGRATION " _
    & "WHERE (((MIGRATION.Num_vag)=" & Me.N° & ") AND ((MIGRATION.FlagMigration)=False));"

    DoCmd.SetWarnings False
    DoCmd.RunSQL StrSql

    DoCmd.SetWarnings True
    Me.[MIGRATION_VAGUE].Form.Requery
    'Me.Requery

    End Sub
    Si ça peut aider les autres...

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

Discussions similaires

  1. [AC-2003] MAJ Champ table depuis sous-formulaire
    Par Jojo____ dans le forum IHM
    Réponses: 3
    Dernier message: 05/06/2012, 09h41
  2. update de table via sous formulaire
    Par profane dans le forum IHM
    Réponses: 3
    Dernier message: 01/03/2007, 11h35
  3. MAJ d'1 sous formulaire
    Par cyrille.blanchard dans le forum Access
    Réponses: 3
    Dernier message: 02/04/2006, 09h26
  4. Réponses: 3
    Dernier message: 02/01/2006, 11h53
  5. Une table --> 2 sous formulaires d'édition ?
    Par Neilos dans le forum IHM
    Réponses: 2
    Dernier message: 20/06/2005, 16h10

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