[Résolu]importation de données excel dans ma base
Modérateur : Vilains modOOs
Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
-
- Membre lOOyal
- Messages : 27
- Inscription : 13 mars 2018 09:59
[Résolu]importation de données excel dans ma base
bonjour,
je voudrais importer un fichier excel (fichier comportant des indemnisations de personnes pour des études)
fichier de ce type :
etude 1 etude 2 etude 3 etude 50
sujet 1 10
sujet 2 8 10
sujet 3 16
sujet 2000 20 10
comment l'importer directement dans ma base ? je ne veux et peux pas rentrer manuellement ces données.
merci pour votre aide.
je voudrais importer un fichier excel (fichier comportant des indemnisations de personnes pour des études)
fichier de ce type :
etude 1 etude 2 etude 3 etude 50
sujet 1 10
sujet 2 8 10
sujet 3 16
sujet 2000 20 10
comment l'importer directement dans ma base ? je ne veux et peux pas rentrer manuellement ces données.
merci pour votre aide.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Beetle le 26 mars 2018 20:28, modifié 3 fois.
Raison : Ajout de la balise "[Résolu]", la coche verte seule ne suffit pas.
Raison : Ajout de la balise "[Résolu]", la coche verte seule ne suffit pas.
open office 4.1.0 sur windows 10
-
- Grand Maître de l'OOffice
- Messages : 16960
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: importation de données excel dans ma base
Bonjour,
Comme le fichier du tableur a des en-têtes de colonnes et pas de lignes vides (enfin, je suppose, car il n'est pas joint), tu sélectionnes la zone de cellules, puis copier et coller dans la Base, soit dans une Table existante soit dans une nouvelle Table.
Comme le fichier du tableur a des en-têtes de colonnes et pas de lignes vides (enfin, je suppose, car il n'est pas joint), tu sélectionnes la zone de cellules, puis copier et coller dans la Base, soit dans une Table existante soit dans une nouvelle Table.
Ajout : Je vois que tu cites une étude 50, cela veut-il dire qu'il peut y avoir 50 études rémunérées pour le même participant ? |
Dernière modification par jeanmimi le 19 mars 2018 12:07, modifié 2 fois.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- Membre lOOyal
- Messages : 27
- Inscription : 13 mars 2018 09:59
Re: importation de données excel dans ma base
bonjour,
merci pour votre réponse. Je connais cette manipulation, mais le soucis c'est que dans ma base actuellement (base refaite sur les conseils des différents modo du site) je ne vois pas comment l'incrémenter en le copiant... et il faudrait qu'il soit raccordé dans ma table ...
mon fichier excel possède actuellement une colonne nom (que je peux changer par l'id coordonnées) et des colonnes correspondant aux différentes études réalisées. Certaines lignes (donc certaines personnes) n'ont pas forcément participé à des séances donc il se peut qu'il y ait des lignes vides. Est-ce un problème?
merci pour votre réponse. Je connais cette manipulation, mais le soucis c'est que dans ma base actuellement (base refaite sur les conseils des différents modo du site) je ne vois pas comment l'incrémenter en le copiant... et il faudrait qu'il soit raccordé dans ma table ...
mon fichier excel possède actuellement une colonne nom (que je peux changer par l'id coordonnées) et des colonnes correspondant aux différentes études réalisées. Certaines lignes (donc certaines personnes) n'ont pas forcément participé à des séances donc il se peut qu'il y ait des lignes vides. Est-ce un problème?
open office 4.1.0 sur windows 10
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: importation de données excel dans ma base
Bonjour
A+
Joins un fichier tableur avec la même structure que ton fichier de travail mais avec des données anonymes.jeanmimi a écrit :car il n'est pas joint)
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- Grand Maître de l'OOffice
- Messages : 16960
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: importation de données excel dans ma base
Ce qui pose problème, c’est lorsque le Tableur source n'a pas d'en-êtes de colonnes et que des lignes vides ont été laissées pour faire joli.yerffoj a écrit :Certaines lignes (donc certaines personnes) n'ont pas forcément participé à des séances donc il se peut qu'il y ait des lignes vides. Est-ce un problème?
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- Membre lOOyal
- Messages : 27
- Inscription : 13 mars 2018 09:59
Re: importation de données excel dans ma base
voici mon fichier anonyme.
les lignes vides sont intentionnelles dans mon cas.
merci par avance
les lignes vides sont intentionnelles dans mon cas.
merci par avance
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
open office 4.1.0 sur windows 10
-
- Grand Maître de l'OOffice
- Messages : 16960
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: importation de données excel dans ma base
En regardant ton tableau, je vois que, pour la même étude, la rémunération peut être variable.
Est-ce le cas ?
Est-ce le cas ?
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: importation de données excel dans ma base
Bonjour
Une solution éventuelle
Dans un premier temps ajouter les Etudes dans la table Etudes.
Puis créer une table temporaire "temp" dans ta base (refCoord Integer clef primaire, refEtude Integer, Montant Double).
Dans ton fichier tableur sélectionner les colonne A1:B1251, Menu Données > Filtre > Standard. Filtrer la colonne etude 1 sur la valeur - non vide -. Copier le résultat du filtrage, le coller dans la table temp en faisant correspondre id coordonnées avec refCoord et etude 1 avec Montant.
Ensuite, Ajouter la référence à l'étude dans l'outil SQL
Enfin mettre à jour la table Participationtoujours dans l'outil SQL. la manip est à recommencer pour chaque étude après avoir vidé la table temp.
A+
Une solution éventuelle
Dans un premier temps ajouter les Etudes dans la table Etudes.
Puis créer une table temporaire "temp" dans ta base (refCoord Integer clef primaire, refEtude Integer, Montant Double).
Dans ton fichier tableur sélectionner les colonne A1:B1251, Menu Données > Filtre > Standard. Filtrer la colonne etude 1 sur la valeur - non vide -. Copier le résultat du filtrage, le coller dans la table temp en faisant correspondre id coordonnées avec refCoord et etude 1 avec Montant.
Ensuite, Ajouter la référence à l'étude
Code : Tout sélectionner
UPDATE "temp" SET "refEtude" = valeur de l'identifiant de l'étude
Enfin mettre à jour la table Participation
Code : Tout sélectionner
INSERT INTO "Participation" ("refCoordonnees","refEtude","Montant")
SELECT "refCoord", "refEtude","montant" FROM "temp"
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- Grand Maître de l'OOffice
- Messages : 16960
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: importation de données excel dans ma base
J'avais testé aussi une autre méthode, mais aussi très longue avec les 50 études à traiter et à isoler.
J'avais copié tout le tableau dans une Table, puis par 50 requêtes successives, extrait les participants à chaque étude et la rémunération servie.
J'avais copié tout le tableau dans une Table, puis par 50 requêtes successives, extrait les participants à chaque étude et la rémunération servie.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- Membre lOOyal
- Messages : 27
- Inscription : 13 mars 2018 09:59
Re: importation de données excel dans ma base
bonjour,
et merci pour vous réponses. je vais bien prendre le temps de lire vos réponses et je reviendrais vers vous en cas de besoin. Il faut que je teste...
Cela me parait assez complexe, n'y a-t-il pas plus simple?
merci encore en tout cas.
et merci pour vous réponses. je vais bien prendre le temps de lire vos réponses et je reviendrais vers vous en cas de besoin. Il faut que je teste...
Cela me parait assez complexe, n'y a-t-il pas plus simple?
merci encore en tout cas.
open office 4.1.0 sur windows 10
-
- Grand Maître de l'OOffice
- Messages : 16960
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: importation de données excel dans ma base
Dans le tableur que tu veux traiter, la feuille s'apparente à un État de sortie de base de données. Il faut donc reconstituer la source, ce qui est long, mais sans doute moins que de saisir à nouveau les centaines de données.yerffoj a écrit :Cela me parait assez complexe, n'y a-t-il pas plus simple ?
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- Membre lOOyal
- Messages : 27
- Inscription : 13 mars 2018 09:59
Re: importation de données excel dans ma base
bonjour,
j'ai pu me pencher sur la proposition de Piaf et cela marche très bien
enfin j'ai pu rentrer sans difficulté mes 2 premières études, mais à partir de la 3ème y a un HIC :s
je détaille le soucis :
toutes les étapes du départ fonctionne
"
Dans un premier temps ajouter les Etudes dans la table Etudes.
Puis créer une table temporaire "temp" dans ta base (refCoord Integer clef primaire, refEtude Integer, Montant Double).
Dans ton fichier tableur sélectionner les colonne A1:B1251, Menu Données > Filtre > Standard. Filtrer la colonne etude 1 sur la valeur - non vide -.
Filtre.png
Copier le résultat du filtrage, le coller dans la table temp en faisant correspondre id coordonnées avec refCoord et etude 1 avec Montant.
Ensuite, Ajouter la référence à l'étude
CODE : TOUT SÉLECTIONNER AGRANDIR
UPDATE "temp" SET "refEtude" = valeur de l'identifiant de l'étude
dans l'outil SQL
"
et une fois que je veux passer la dernière commande " INSERT INTO "Participation" ("refCoordonnees","refEtude","Montant")
SELECT "refCoord", "refEtude","montant" FROM "temp" "
j'ai un message d'erreur qui s'affiche "1: Integrity constraint violation - no parent SYS_FK_269 table: Table Coordonnées"
je ne comprend pas ce qui ne fonctionne pas car j'ai procédé exactement de la même manière pour les 2 premières études et cela a marché parfaitement.
merci pour votre aide.
j'ai pu me pencher sur la proposition de Piaf et cela marche très bien
enfin j'ai pu rentrer sans difficulté mes 2 premières études, mais à partir de la 3ème y a un HIC :s
je détaille le soucis :
toutes les étapes du départ fonctionne
"
Dans un premier temps ajouter les Etudes dans la table Etudes.
Puis créer une table temporaire "temp" dans ta base (refCoord Integer clef primaire, refEtude Integer, Montant Double).
Dans ton fichier tableur sélectionner les colonne A1:B1251, Menu Données > Filtre > Standard. Filtrer la colonne etude 1 sur la valeur - non vide -.
Filtre.png
Copier le résultat du filtrage, le coller dans la table temp en faisant correspondre id coordonnées avec refCoord et etude 1 avec Montant.
Ensuite, Ajouter la référence à l'étude
CODE : TOUT SÉLECTIONNER AGRANDIR
UPDATE "temp" SET "refEtude" = valeur de l'identifiant de l'étude
dans l'outil SQL
"
et une fois que je veux passer la dernière commande " INSERT INTO "Participation" ("refCoordonnees","refEtude","Montant")
SELECT "refCoord", "refEtude","montant" FROM "temp" "
j'ai un message d'erreur qui s'affiche "1: Integrity constraint violation - no parent SYS_FK_269 table: Table Coordonnées"
je ne comprend pas ce qui ne fonctionne pas car j'ai procédé exactement de la même manière pour les 2 premières études et cela a marché parfaitement.
merci pour votre aide.
open office 4.1.0 sur windows 10
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: importation de données excel dans ma base
Bonjour
Je ne reproduis pas avec le fichier donné en exemple A+
Je ne reproduis pas avec le fichier donné en exemple A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- Membre lOOyal
- Messages : 27
- Inscription : 13 mars 2018 09:59
Re: importation de données excel dans ma base
bonjour,Piaf a écrit :Bonjour
Je ne reproduis pas avec le fichier donné en exemple A+
je n'ai pas compris votre réponse.Pouvez-vous m'expliquer ce qui ne va pas svp?
merci.
open office 4.1.0 sur windows 10
-
- Membre lOOyal
- Messages : 27
- Inscription : 13 mars 2018 09:59
Re: importation de données excel dans ma base
je crois avoir identifier mon problème !
Enfait j'ai importé ma liste de personne dans la table coordonnées, j'ai importé une liste de 2180 personnes au total et apparemment il n'y en a que 2159 qui ont été enregistré dans ma base.
j'ai du coup recommencé l'importation et cela m'a fait la même chose 2159 sur 2180 personnes, mais un message d'erreur c'est affiché :
"value too long in statement [INSERT INTO "Table Coordonnées" ("ID_coordonnées","Nom","Prénom","Sexe","DateNaissance","Email","Tel portable","Tel fixe", "Adresse", "Code postal", "Ville", "Date d'inscription/mise à jour") VALUES(?,?,?,?,?,?,?,?,?,?,?,?)"
Je comprend qu'il y a quelque chose de trop long mais quoi? j'ai donc augmenté la taille dans ma table de toutes variables et cela marche puisque j'ai mes 2180 personnes
J'ai ensuite refait la méthode donné par Piaf et cela marche parfaitement maintenant. En fait il me manquait des id coordonnées donc il n'y avait pas de correspondance.
en tout cas merci beaucoup. je clôture le sujet
Enfait j'ai importé ma liste de personne dans la table coordonnées, j'ai importé une liste de 2180 personnes au total et apparemment il n'y en a que 2159 qui ont été enregistré dans ma base.
j'ai du coup recommencé l'importation et cela m'a fait la même chose 2159 sur 2180 personnes, mais un message d'erreur c'est affiché :
"value too long in statement [INSERT INTO "Table Coordonnées" ("ID_coordonnées","Nom","Prénom","Sexe","DateNaissance","Email","Tel portable","Tel fixe", "Adresse", "Code postal", "Ville", "Date d'inscription/mise à jour") VALUES(?,?,?,?,?,?,?,?,?,?,?,?)"
Je comprend qu'il y a quelque chose de trop long mais quoi? j'ai donc augmenté la taille dans ma table de toutes variables et cela marche puisque j'ai mes 2180 personnes
J'ai ensuite refait la méthode donné par Piaf et cela marche parfaitement maintenant. En fait il me manquait des id coordonnées donc il n'y avait pas de correspondance.
en tout cas merci beaucoup. je clôture le sujet
Dernière modification par Beetle le 26 mars 2018 20:36, modifié 1 fois.
Raison : Suppression de la coche verte inutile ici en fin de fil de discussion.
Raison : Suppression de la coche verte inutile ici en fin de fil de discussion.
open office 4.1.0 sur windows 10