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 :

Problème de création de table à partir de fichier Excel


Sujet :

Modélisation

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Points : 7
    Points
    7
    Par défaut Problème de création de table à partir de fichier Excel
    Bonjour à tous,
    j'essaye désespérement de créer une table dans Access 2003...je suis débutant mais j'ai lu différents sujets (FAQ, tuto,....) sans trouver de réponse.

    J'ai une base de données découpée en 30 fichiers Excel (récupérer à partir de fichier .txt) qui au total fait environ 40 colonnes sur environ 400000 lignes...j'aimerai donc avoir un seul fichier Access pour pouvoir tester certains paramètre de ma base.

    Lorsque j'importe le premier fichier Excel pas de problème, mais impossible de mettre le deuxième.
    J'y suis arrivé une fois : au total j'avais bien le même nombre de lignes que la somme des 2 fichiers Excel mais en regardant les 100 dernières lignes il m'en manquait un grand nombre (en recherchant les lignes manquantes, impossible de les retrouver)!!! Mystère!!!??
    Je précise que je suis débutant en Access... merci pour votre aide....
    Jb

  2. #2
    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 : 61
    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 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Tes fichiers Excel ont-ils tous la même structure ou sont-ils différents ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Ils ont tous la même structure (même noms de colonnes, même format de cellules...)

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Si j'ai bien compris tu veux mettre tes fichiers les uns derrière les autres dans une table.

    Est-ce que par hasard, lorsque tu importes ton premier fichier tu ne mettrais pas une colonne comme clé primaire ?

    Starec

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Tu as bien compris...je veux tout mes fichiers les uns à la suite des autres.
    Au niveau de la clef primaire comme je suis débutant et que je ne sais pas encore à quoi ca correspond , je clique tjs sur suivant dans l'Assistant d'importation en ne modifiant rien sur ca!!!!

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Starec Voir le message
    Est-ce que par hasard, lorsque tu importes ton premier fichier tu ne mettrais pas une colonne comme clé primaire ?
    Ok je faisais ca...j'avais bien une première colonne avec mes numero de lignes. J'ai donc refais tout en ne mettant aucune clef primaire (j'ai lu des truc mais ca reste un peu flou pour moi cette histoire de clef!!!) et maintenant Access refuse d'importer mon deuxième fichier Excel...

  7. #7
    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 : 61
    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 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Jibi64 Voir le message
    Access refuse d'importer mon deuxième fichier Excel...
    Quel est le message d'erreur ?

    ca reste un peu flou pour moi cette histoire de clef!
    Tu as besoin d'apprendre les concepts essentiels des bases de données. Voir les tutoriels de Développez.com. Notamment sur la méthode Merise.

    En gros une clé primaire permet de donner un identifiant à chaque ligne de données, ce qui permet de faciliter les associations entre les tables par la suite et d'éviter des problèmes de redondances de données et potentiellement d'erreurs sur les données saisies.

    Un exemple...
    Une table de Personnes(Nom, Prenom, DateNaissance)
    On veut utiliser cette table pour enregistrer les rendez-vous qu'on a eu avec certaines de ces personnes :
    RendezVous(NomContact, PrenomContact, DateRendezVous)
    Ce schéma fonctionne jusqu'au jour où :
    - il y a un deuxième Jean Dupont - comment les différencier ?
    - ou qu'un utilisateur saisit Dupond au lieu de Dupont dans la table des rendez-vous : il n'y a plus de correspondance entre les données.

    On devrait avoir le schéma suivant :
    Personnes -0,n----Fixer----0,1- RendezVous
    Ce qui signifie qu'on peut fixer 0 à plusieurs rendez-vous à une personne mais qu'un rendez-vous n'est fixé qu'à une personne.
    On a alors les tables :
    Personnes(PersId, PersNom, PersPrenom, PersDateNaissance, ...)
    RendezVous(RdVId, RdV_FK_IdPersonne, RdVDateRendezVous, ...)

    PersId et RdVId sont les clés primaires des deux tables.

    Dans la table RendezVous, la colonne RdV_FK_IdPersonne est une clé étrangère qui contient l'identifiant de la personne à laquelle on a fixé un rendez-vous. Comme ça pas d'erreur de saisie et s'il y a deux Jean Dupont, il est probable que d'autres données de la table Personnes permettront de les différencier, PersDateNaissance par exemple, ou l'adresse...

    Pour en revenir à ton problème, je te recommande de réfléchir aux données que tu veux traiter, à leur structure, à leurs liens entre elles. Si tu utilises Access comme un Excel qui ne serait pas limité par les 36565 lignes, ce n'est peut-être pas une bonne idée.

  8. #8
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Quel est le message d'erreur ?
    Pour en revenir à ton problème, je te recommande de réfléchir aux données que tu veux traiter, à leur structure, à leurs liens entre elles. Si tu utilises Access comme un Excel qui ne serait pas limité par les 36565 lignes, ce n'est peut-être pas une bonne idée.
    Le message est basique : "une erreur est survenue lors de l'imporation du fichier X. Le fichier n'a pas été importé"...bref ca n'apprend pas grand chose!!!

    Sinon merci pour l'explication des clefs primaires...bcp mieux expliqué que tout ce que j'avais put lire.
    Bref en gros je voulais faire ce que tu disais : "utiliser Access comme un Excel sans limite" de lignes... car je voulais juste vérifier que mes données dans ma base sont correctes et ainsi sortir des stat sur le nombre de "code postaux" erronnés par exemple. Bref si qq'un a des conseils ou une méthode je suis prenneur...

  9. #9
    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 : 61
    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 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    1) Quelle est la structure de tes fichiers Excel ?
    2) Dois-tu éliminer les doublons dans ta table Access ?

  10. #10
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    1) Quelle est la structure de tes fichiers Excel ?
    2) Dois-tu éliminer les doublons dans ta table Access ?
    1) Mes fichiers Excel sont issu d'un fichier .txt donc les cellules sont au format texte (si c'est ca que tu entends par structure!?). Les fichiers .txt sont généré par le système de gestion de ma boite (possibilité de les avoirs directement en .xls mais dans ce cas ca bug encore plus, du coup je les enregistre en .txt puis "ouvrir avec" Excel et enregistrement en .xls)
    2) peut importe les doublons...si il y en a ca n'a aucune importance.

  11. #11
    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 : 61
    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 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Quand je disais 'structure de tes fichiers Excel' je voulais dire 'nom des colonnes' avec éventuellement une explication sur leur contenu.
    Mais vu ce que tu veux faire c'est pas grave.

    Je viens de faire le test d'importer deux fois le même onglet Excel dans la même table Access (version 2003) et je n'ai pas rencontré de difficulté.
    La seule précaution est qu'il faut choisir de ne pas créer de clé primaire. D'ailleurs dans ton utilisation, la clé primaire est à peu près inutile puisque tu ne feras pas d'association avec d'autres tables semble t-il.

    Mais je persiste à penser qu'utiliser Access en tant que super Excel n'est peut-être pas une bonne idée.

    Si tu nous disais plus précisément ce que tu as besoin de faire, on pourrait te guider vers une démarche plus rigoureuse en matière de base de données.

  12. #12
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Ce que je veux faire est assez simple: mes fichiers Excel comporte plusieurs colonnes de type "numero de dossier", "nom client", "adresse client", "code postal", "reference facture", etc... ces infos ont été entrée à la main années après années et donc il y en a un certain nombre qui ont été mal tapé (du type un code postal qui n'a que 4 chiffres, vérifier que la valeur des factures n'est pas inférieur à un certains montant,...). Je veux donc pouvoir quantifier le nombres d'erreurs en les détectant par rapport à des conditions (chose que je sais faire sous Excel mais la je voulais avoir tout dans un meme fichier Access plutot que 30 fichier Excel)...

  13. #13
    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 : 61
    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 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Jibi64 Voir le message
    Ce que je veux faire est assez simple: mes fichiers Excel comporte plusieurs colonnes de type "numero de dossier", "nom client", "adresse client", "code postal", "reference facture", etc...
    Comme tu as précédemment dit qu'il pouvait y avoir des doublons, j'en conclus qu'un client peut avoir plusieurs dossiers ?

    Donc moi je vois au moins une entité Clients et une entité Dossiers avec le schéma :
    Clients -0,n----Avoir----1,1- Dossiers
    Et donc les tables :
    Clients(CliId, CliNom, CliPrenom, CliAdresse...)
    Dossiers(DosId, Dos_FK_IdClient, DosRefFacture, ...)

    Peut-être aussi que pour un même dossier tu peux avoir plusieurs factures ?
    Voilà le genre de réflexion qui te permettra de construire une base de données robuste.

    Maintenant comment récupérer les données dans ce schéma ?
    1) Importer les fichiers Excel dans une table Access. As-tu réessayé sans spécifier de clé primaire ?
    2) Créer la structure de la table Clients
    3) Chercher dans la table d'import quelles colonnes permettent d'identifier de manière unique un client (son numéro de client peut-être, ou l'ensemble [nom, prénom, adresse]...)
    4) Faire une requête pour extraire les clients distincts de la table d'import. Par exemple si l'unicité d'un client est définie par le triplet (nom, prénom, adresse) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DISTINCT nom, prenom, adresse
    FROM tableimport
    ORDER BY nom, prenom, adresse
    Tu devrais déjà trouver à vue d'oeil quelques doublons mal écrits. Mais quoi choisir entre :
    - 'Dupond' 'Jean' '3 rue Aristide Passerieu 31100 Toulouse'
    - 'Dupont' 'Jean' '3 rue Ariste Passerieu 31000 Toulouse'
    Dupond ou Dupont ? Ariste ou Aristide ? 31100 ou 31000 ?

    Bref, sans numéro de client, tu es mal pour distinguer les clients. Et avec, quoi choisir comme info exacte ?

  14. #14
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Merci pour cette réponse précise,

    je vais reflechir dans ce sens la, mais le gros problème reside dans le fait que le seul numero unique est le numero de prestation et que il y a plus de 40 champs pour détailler ce numero (client, adresse, code postal, facture,etc...) et il y a 4 champs d'adresse (je ne sais pas pourquoi...c'est vraiment idiot!!!) bref cette multiplication des données rend mon problème asez long à traiter et en moins d'une semaine ca me parrait juste!!!!
    Je pense qu'une macro appliquée aux 30 fichiers excel serait plus simple pour mon problème (surtout qu'une fois les erreurs quantifiées = base à la poubelle!!!)

    Dans tout les cas, merci pour votre aide...et pour la rapidité de réponse!!!

  15. #15
    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 : 61
    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 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    N'est-ce pas plutôt l'extraction de données faite sur le système d'origine qui est mal faite ?
    Parce que j'espère que celui-ci contient une base de clients à peu près fiable et que les coordonnées des clients ne sont pas répétées dans les tables de prestations sinon c'est ce vieux système mal foutu qu'il faut foutre à la poubelle !

  16. #16
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Le système est à peu près fiable mais après discussion à l'instant (merci la machine à café!!!) avec qq pro d'Access de ma boite le problème vient probablement de la...et le système passe de toutes les facons à la poubelle dans qq temps (refonte total)

    Donc d'après eux inutil de me casser le c... plus que ca!!!
    Merci pour votre aide et votre temps... et je vais rester dans le coin pour un peu de lecture instrucitve sur Access (ca m'intrigue maintenant tout ca )

  17. #17
    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 : 61
    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 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Jibi64 Voir le message
    un peu de lecture instrucitve sur Access (ca m'intrigue maintenant tout ca )
    Plus que de la lecture instructive sur Access, cherche à acquérir les concepts des bases de données relationnelles, par exemple par la méthode Merise.
    Cherche dans les tutoriels de Développez.com, tu y trouveras ton bonheur et notamment les excellents articles de SQLPro.

    Je te donne aussi quelques liens sur Merise :
    http://www.compucycles.com/nouveausi...Article_07.htm
    http://www.wikituto.org/index.php/Ca...e:Cours_Merise
    http://www.sam-mag.com/P77default.aspx

  18. #18
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Merci...

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/05/2014, 19h07
  2. VBA : Creation de table à partir de fichier texte
    Par titof90 dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/03/2007, 10h34
  3. Réponses: 2
    Dernier message: 26/06/2006, 02h15
  4. création de tables à partir d'un fichier XML
    Par magic charly dans le forum Oracle
    Réponses: 2
    Dernier message: 03/04/2006, 13h39
  5. Problème de création de table sous MySql
    Par ducamba dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/06/2003, 09h59

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