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

Modélisation Discussion :

aide pour une requete sous ACCESS


Sujet :

Modélisation

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 37
    Points : 25
    Points
    25
    Par défaut aide pour une requete sous ACCESS
    Bonjour,
    je veux creer une base de donnees sous ACCESS à partir de plusieurs fichiers excel qui ont la meme format i-e des colonnes en communs(exp : Nom, prenom, ville...) mais il n'y a aucune relation entre ces tables ( bd non relationnelle) .
    Le but est de faire des requetes sur les colonnes en communs mais je n'y arrive pas. pouviez vous me fournir une solution ou une proposition qui peut m'aider à arrive à ce but.
    Merci

  2. #2
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Bonjour,

    Nous n'avons pas assez d'élements pour déterminer si une telle action est possible.
    Pourriez-vous donner un exemple de valeurs dans les tables ainsi que les énoncés des requêtes que vous désirez effectuer ?

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Une base de données n'est pas un tableur !

    Il faut donc réfléchir d'abord à la structure des données avant de penser à la mise en forme des résultats qu'on voudra afficher à partir des données.

    Si ce que vous voulez faire est bien de passer vos données actuellement sous Excel dans une base de données Access, il faut faire ça méthodiquement.

    1) Vérifier les données Excel avant importation
    a) Y a t-il des données identiques écrites avec des différences ?
    Exemple : Jean Dupont, Trifouilly les oies et J. Dupont, Trifouilly-Les-Oies

    b) Y a t-il des données incomplètes à certains endroits qui peuvent être complétées par d'autres ?
    Exemple : Patient 254 avec une adresse complète une fois et incomplète une autre

    c) Y a t-il des données erronées ?
    Exemple : département 950 au lieu de 95, un prénom et un nom inversés, un âge canonique (> 150 par exemple)

    d) Y a t-il des données mentionnées inconnues de manière différentes ?
    Exemple : Inconnu, Inconnue (et les variantes aux orthographes fantaisistes), Non connu, Non-connu, NC, 0, ***, 000000...

    Bref, repérer les données douteuses dans les tableaux Excel.

    2) Corriger au maximum ces données
    Si le volume de données est trop important, il peut être utile de le faire par une procédure semi-automatisée plus tard sous Access avec des requêtes de mise à jour.

    3) Repérer les colonnes des tableaux qui vont permettre d'identifier de manière unique les jeux de données à gérer.
    Exemples : Un numéro de patient, un tuple (nom + prénom + date de naissance)...

    5) Etape la plus importante : Faire le modèle de données
    Par exemple en utilisant la méthode Merise.

    6) Implanter ce modèle dans Access
    C'est à dire créer les tables et les associations (relations) entre les tables.

    7) Importer les tableaux Excel dans des tables temporaires.

    8) Alimenter les tables du modèle à l'aide de requêtes sur les tables temporaires.
    En commençant par les tables qui n'ont pas de clés étrangères.

    Ensuite vous pouvez supprimer vos tables temporaires et passer à l'interface graphique (les formulaires Access).

    Bon courage.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 37
    Points : 25
    Points
    25
    Par défaut aide requete ACCESS
    bonjour,
    voici un exemple sur deux tables :
    table1(incident technique) : champs : intitulé, date debut, date fin, impacts, ...
    table2(intervention future) : champs : intitulé, date debut, date fin, impacts, ..

    ces champs sont les seuls champs en communs entres ces tables, et ma requete sera l'affaichage de ces champs en communs i-e :
    intitulé, date debut, date fin, impacts.

    Merci

  5. #5
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Attention ! Ce n'est pas parce qu'il y a des champs (colonnes) identiques qu'il faut les mélanger !

    Imaginons deux tables :
    Contrat(Num, DateDebut, DateFin)
    Vacances(Num, DateDebut, DateFin)

    Vous mélangez les contrats et les vacances vous ?

    Dans votre cas j'ai l'impression que c'est pareil. Vous voulez vraiment mélanger les incidents techniques et les interventions futures ?

    Par contre ces deux tables peuvent être associées si les interventions futures sont déclenchées à cause des incidents techniques mais on parle de deux choses différentes donc on ne mélange pas les colonnes.

    Appliquez la méthode Merise pour concevoir votre base de données et vous verrez très vite où placer vos données.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 37
    Points : 25
    Points
    25
    Par défaut
    Bonjour,
    En effet, je veux melanger les donnees.
    Je vous explique :
    En faite je veux faire des previsionning, et j'ai besoin de tous les informations formelles et informelles pour chaque semaine,
    Donc les intitulés sont differents mais pas les semaines;

    Merci

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour,

    On peut imaginer quelque chose qui ressemblerait à :

    Avec :
    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
    29
    30
    31
    32
    33
    34
    35
    SELECT " " AS _, tbl_incidenTechnique.intitulé, tbl_incidenTechnique.DteDebut AS Début,
     "" AS [~], tbl_incidenTechnique.DteFin AS Fin, tbl_incidenTechnique.Impacts, "" AS[*],
     IIf([DteFin]-[DteDebut]+1<=1,[DteFin]-[DteDebut]+1 & " jour",[DteFin]-[DteDebut]+1 & " jours") AS Durée,
     "" AS [-], IIf(Work_Days([DteDebut],[DteFin])<=1,Work_Days([DteDebut],[DteFin]) & " jour",
    Work_Days([DteDebut],[DteFin]) & " jours") AS [Travaillés]
    FROM tbl_incidenTechnique;
    UNION SELECT " *" AS _, "" AS intitulé, "" AS Début, "" AS [~], " " AS Fin, "" AS Impacts,
     "" AS[*], "" AS Durée, "" AS [-], "" AS [Travaillés]
    FROM tbl_incidenTechnique
    GROUP BY "", "", "", "", " ", "", "", "", "", "";
    UNION SELECT  " " AS _, "" AS intitulé, " " AS Début, "  TOTAL" AS [~], "INTERVENTIONS :" AS Fin,
     "   --------->" AS Impacts, Count(tbl_incidenTechnique.N°) AS[*], "" AS Durée, "" AS [-], "" AS [Travaillés]
    FROM tbl_incidenTechnique
    GROUP BY " ", "", " ", "  TOTAL", "INTERVENTIONS :", "   --------->", "", "", "";
    UNION SELECT "*" AS _, "" AS intitulé, " " AS Début, "  TOTAL" AS [~], "FUTUR :" AS Fin, "   --------->" AS Impacts,
     Count(tbl_interventionFuture.N°) AS[*], "" AS Durée, "" AS [-], "" AS [Travaillés]
    FROM tbl_interventionFuture
    GROUP BY " ", "", " ", "  TOTAL", "FUTUR :", "   --------->", "", "", "";
    UNION SELECT "* " AS _, tbl_interventionFuture.intitulé, tbl_interventionFuture.DteDebut AS Début,
     "" AS [~], tbl_interventionFuture.DteFin AS Fin, tbl_interventionFuture.Impacts, "" AS[*],
     IIf([DteFin]-[DteDebut]+1<=1,[DteFin]-[DteDebut]+1 & " jour",[DteFin]-[DteDebut]+1 & " jours") AS Durée,
     "" AS [-], IIf(Work_Days([DteDebut],[DteFin])<=1,Work_Days([DteDebut],[DteFin]) & " jour",
    Work_Days([DteDebut],[DteFin]) & " jours") AS [Travaillés]
    FROM tbl_interventionFuture;
    UNION SELECT " " AS _, "Durée :" AS intitulé, "   -------->" AS Début, Avg([DteFin]-[DteDebut]+1) & " jours" AS [~],
     " " AS Fin, "MOYENNE" AS Impacts, " TRAVAIL :" AS[*], "--------->" AS Durée,
     Avg(Work_Days([DteDebut],[DteFin])) & " jours" AS [-], "" AS [Jours Travaillés]
    FROM tbl_incidenTechnique
    GROUP BY "MOYENNE ", "INTERVENTION :", "   -------->", "MOYENNE", " TRAVAIL :", "--------->", "";
    UNION SELECT "* " AS _, "Durée :" AS intitulé, "   -------->" AS Début, 
    Avg([DteFin]-[DteDebut]+1) & " jours" AS [~], " " AS Fin, "MOYENNE" AS Impacts, 
    " TRAVAIL :" AS[*], "--------->" AS Durée, Avg(Work_Days([DteDebut],[DteFin])) & " jours" AS [-],
     "" AS [Jours Travaillés]
    FROM tbl_interventionFuture
    GROUP BY "* ", "Durée :", "   -------->", "MOYENNE", " TRAVAIL :", "--------->", "";
    Ou j'utilise Work_Days pour le calcul de jours ouvrables :
    http://access.developpez.com/faq/?pa...nip#NbJourOuvr

    Cordialement.
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

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

Discussions similaires

  1. Besoin d'aide pour une requete
    Par jnc dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/07/2005, 11h54
  2. aide pour une requete
    Par graphicsxp dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/03/2005, 15h02
  3. Aide pour une requete SQL
    Par hpghost dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 08/01/2005, 15h01
  4. Aide pour une requete SQL
    Par hpghost dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 08/01/2005, 10h15
  5. Aide pour une requete ... "COUNT(*)"
    Par mechantebestiole dans le forum Langage SQL
    Réponses: 13
    Dernier message: 25/05/2004, 16h27

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