Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/12/2010, 14h24   #1
Invité de passage
 
Michael Edwards
Inscription : décembre 2010
Messages : 1
Détails du profil
Informations personnelles :
Nom : Michael Edwards

Informations forums :
Inscription : décembre 2010
Messages : 1
Points : 0
Points : 0
Par défaut Envoi vers autre base sous conditions

Bonjour,
Je travaille sur un projet Access, et il y a un point sur lequel je bloque complètement. J'ai beaucoup cherché des sujets déjà existants, mais c'est difficile de trouver les bons mots clés.
J'ai plusieurs bases identiques qui listent tous les défauts apparus sur les machines d'un atelier. Les informations proviennent de l'automate qui gère les machines de l'atelier concerné.
Je souhaiterais regrouper toutes les informations dans une base commune "usine", mais sous conditions.
J'ai créé une requête qui m'énumère tous les défauts possibles à partir de la table contenant tous les défauts (90 défauts différents sur 38000 saisies).
Je voudrais pouvoir cocher un défaut dans ma requête (case à cocher) et lors de l'envoi vers la base centrale, il ne prend que les défauts qui ont une croix en face dans la requête. Je pensais utiliser un formulaire pour faciliter la saisie (affichage du défaut et case à cocher à coté), mais je n'arrive pas à lier le contenu de la case à cocher à un seul défaut, il l'applique à toute la colonne.
Pour info, le projet a pour but d'établir une grande base usine, afin d'avoir une traçabilité des défauts apparus par produit.
Merci d'avance pour votre aide
Michael Edwards
michaeledwards est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2010, 14h42   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour Michaeledwards,

Les PC liés aux machines sont-ils sur le réseau interne de l'usine ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2010, 11h18   #3
Membre régulier
 
Inscription : novembre 2010
Messages : 101
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2010
Messages : 101
Points : 81
Points : 81
Bonjour,
Peux tu modifier la structure des tables "distantes" afin d'y ajouter un champ OUI/NON ?

Le mieux (comme ça tu ne touches pas l'existant) passes par une table intermediaire dans laquelle tu reprends la structure des tables "distantes" plus le fameux champ OUI/NON.

Tu ajoutes les données des tables "distantes" dans la table intermédiaire.

Ensuite à l'aide d'un formulaire, tu selectionnes les enregistrements en cochant OUI/NON

Puis tu n'importes que les enregistrements sélectionnés dans ta table "usine".

N'oublies pas un RaZ de la table intermédiaire au début de la routine.

Bon courage !
JeanYves70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 09h27   #4
Membre confirmé
 
Jacques Lesueur
Inscription : mai 2006
Messages : 180
Détails du profil
Informations personnelles :
Nom : Jacques Lesueur

Informations forums :
Inscription : mai 2006
Messages : 180
Points : 209
Points : 209
Par défaut Résolution par attchement et requête UNION

Bonjour,
Une idée par attachement par création d'une de la table principale (Chapeau) attachant les tables "Usine":
Tu attaches chaque table Usine sous un nom différent Usine1, Usine2,...,Usine<n>. tu crées ensuite une requête Union avec le sql suivant :
Code :
1
2
3
4
5
6
SELECT *,"NomUsine1" as NomUsine from Usine1
Union All 
SELECT *,"NomUsine2" from Usine2
....
Union All 
SELECT *,"NomUsine<n>" from Usine<n>;
le résultat de ta requête Union aura la même structure que les tables Usines avec un champs supplémentaire localisant l'usine.

Il te suffit de construire des requêtes sur la requête Union en lieu et place de la table Usine. ==> ces requêtes pourront être construites sur tous les champ de USIne + NomUsine.

Si ces requêtes deviennent trop lentes, tu peux construire dans ta base "chapeau" une table Usine+NomUsine que tu rempliras par un "Insert" à partir de la requêtes union ==> dans ce cas tes requêtes d'extractions devront êtres construites sur la table Usine+NomUsine. Bien sur à chaque rechargement tu devras vider les enregistrements de la table Usine+NomUsine. En passant par une table consolidée Usine+NomUsine, tu retrouveras les possibilités d'indexation des champs de cette table.

Cette astuce reproduit le clustering sur les gros Sgbd (exemple Oracle)

Cette astuce peut être étendu à plusieurs tables locales.
Jack78960 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h12.


 
 
 
 
Partenaires

Hébergement Web