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 :

Mise à jour d'une table à partir de donnée d'une autre table ?


Sujet :

Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 18
    Points : 8
    Points
    8
    Par défaut Mise à jour d'une table à partir de donnée d'une autre table ?
    Bonjour à tous,
    Voici mon problème:

    Je travaille sous access 97.

    J'ai une table1 qui contient un champ N°Boite et un champ Objet.
    J'ai une seconde table2 qui contient Ces mêmes champs et un champ N°Casier.

    La table2 ne doit contenir que 10 enregistrements, certains enregistrements ont une valeur pour le champ objet, d'autre n'en ont pas.

    Mon objectif est de remplir la table2 avec les enregistrement de la table1 sans modifié les enregistrement de la table2 qui contiendrait une donnée dans le champ Objet.

    Au final, j'ai par exemple 20 Boites contenant chacune 10 casiers.
    Certains casiers sont pleins tandit que d'autre sont vide.
    Chaque type d'objet ne peut aller que dans une boite mais dans n'importe quel casiers de la boite.
    Dès que je receptionne un objet je souhaiterai que le système me place automatiquement (ou avec demande de confirmation) les objets dans les bonne boite et bien sûr dans un casier disponible.

    J'ai créer 3 tables, une table Boite (champs: N°Boite, nom boite), une table Casier (champs:N°Casier,N°Boite du casier,Objet contenu) et une table Objet (champs: N°Objet, nom objet, boite de destination).

    Les tables Boite et Casier sont liés par une relation 1 à plusieurs.

    J'ai essayer de m'en sortir grace aux requettes mais je n'y suis pas parvenu.
    Est-ce que la base que j'ai posé est correcte ?
    Je pense que ma solution passera par de la prog VB (Je suis débutant )
    J'ai fais des recherches dans la FAQ, les Tutoiels et le Forum mais sans succès
    Pourriez vous me guider un peu ? Un grand merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Un casier peut-il recevoir plusieurs objets ?
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Heureux-oli
    Un casier peut-il recevoir plusieurs objets ?
    Bonjour,
    non, un casier ne peut contenir qu'un seul objet.

    Cld.

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    quelqu'un a t'il une idée

    J'ai essayer en passant par des requette mais je n'y parvient pas.
    Encore merci

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    tu dois avoir une tables avec toutes les boîtes, soit 20 enregistrements.

    Tu dois avoir une table avec tous les casiers, soir 20 fois 10 casiers maximum.

    table boîte
    NoBte
    CategorieObjet

    tableCasier
    NoBoite
    NoCasier
    NoObjet

    tableObjet
    NoObjet
    CategorieObjet
    DescriptionObjet

    Dans la table casier la clef primaire : association de NoBoite et NoCasier.

    La table 2 devra contenir plus de 10 enregistrements. (200)

    Avec une catégorie d'objet par boîte, tu peux déterminer dans quelle boîte tu peux le mettre et avec une requête, vérifier qu'il y a un casier de libre, soit en comptant le nombre de casier déjà attribué, soit en déterminant le libre si il sont tous présent.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  6. #6
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Heureux-oli
    tu dois avoir une tables avec toutes les boîtes, soit 20 enregistrements.

    Tu dois avoir une table avec tous les casiers, soir 20 fois 10 casiers maximum.

    table boîte
    NoBte
    CategorieObjet

    tableCasier
    NoBoite
    NoCasier
    NoObjet

    tableObjet
    NoObjet
    CategorieObjet
    DescriptionObjet

    Dans la table casier la clef primaire : association de NoBoite et NoCasier.

    La table 2 devra contenir plus de 10 enregistrements. (200)

    Avec une catégorie d'objet par boîte, tu peux déterminer dans quelle boîte tu peux le mettre et avec une requête, vérifier qu'il y a un casier de libre, soit en comptant le nombre de casier déjà attribué, soit en déterminant le libre si il sont tous présent.
    C'est ce que j'ai fait, une requette m'indique quels sont les casiers libres pour les objets qui ont le droit d'y aller.
    L'autre requette m'indique les objet pouvant aller dans la boite.
    Par contre comment basculer l'objet dans le casier vide ? Par une requette mise à jour ?

    Encore merci.

  7. #7
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Non, dans un formulaire avec un combo.
    Si tu cherche les objets qui ne sont pas encore dans des boîtes ou casiers, il suffit de les placer avec ce combo.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  8. #8
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    bonjour, je pense avoir suivis tes conseils et sur un boutons de formulaire, j'ai associer le code suivant:

    DoCmd.RunSQL ("UPDATE Table_boite AS A, objetrecus AS B SET A.[Contenu de boite] = B.[Nom de l'objet]" & _
    "WHERE (((A.[Contenu de boite]) Is Null) AND ((A.[N°Boite])=3));")
    Cependant je ne parvient pas à faire en sorte que les objets soient placé uniquement dans un seul casier.
    Comment dois-je faire ?
    Merci

Discussions similaires

  1. [AC-2007] Mettre à jour une table à partir de données d'une requette
    Par didi_morel dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/01/2011, 14h50
  2. [RegEx] Mise à jour d'un fichier à partir des données d'un tableau
    Par saramery dans le forum Langage
    Réponses: 21
    Dernier message: 03/11/2008, 23h58
  3. Update d'une table à partir des données d'une autre
    Par gregoryacf dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/04/2008, 14h02

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