Bonjour,
Je suis débutant avec ODB.
J'ai besoin d'importer régulièrement des numéros de téléphone mobile dans une base.
J'ai besoin de les dédoublonner.
Est-ce le programme approprié ?
Merci pour votre aide.
[Résolu] 900.000 numéros
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 : 32
- Inscription : 28 oct. 2016 16:50
[Résolu] 900.000 numéros
OpenOffice 4.1.1 sous Windows 8
-
- Membre OOrganisé
- Messages : 76
- Inscription : 01 août 2017 19:45
- Localisation : Paris + Ile déserte
Re: 900.000 numéros
(message largement modifié depuis son premier post qui comportait des erreurs)
Bonjour,
Il faudrait savoir dans quel type de fichier sont tes numéros de téléphone au départ (Calc, txt, odt, doc, xls etc ?). Mais on va supposer que tu passes par CALC.
1) tu mets donc tes numéros de tél dans CALC
2) tu crées dans BASE une base de données nouvelle avec deux tables :
- 'TABLE_IMPORT' qui comprend deux champs. Le premier champ, "ID", de type INTEGER avec la propriété "Autovaleur". Tu le déclares en clé primaire. Le second, "NUMERO", de type VARCHAR (10) (je suppose ici des n° à 10 chiffres, si c'est plus long tu augmentes la taille du VARCHAR, c'est juste une limite maximum de nombres de caractères). N'utilise surtout pas un champ de type numérique (tu perdrais les 0 des numéros commençant par 01, 06 + tu risquerais d'avoir des nombres à décimales etc).
- NUMEROS_SANS_DOUBLON, avec aussi deux champs : a) champ "ID", type INTEGER avec la propriété "Autovaleur", et déclaré en clé primaire b) champ "NUMERO", type VARCHAR (10) (ou plus si tu veux mettre des numéros de téléphone comme "+ 33 1 06 99 etc")
3) tu importes la sélection de ton onglet CALC dans la table 'TABLE_IMPORT' (c'est un copier-coller. Pour le mode opératoire détaillé il y a de nombreux posts et liens vers des tutoriels à ce sujet dans ce forum)
4) Par le menuOutils / SQL, tu écris et exécutes la requête SQL suivante :
INSERT INTO NUMEROS_SANS_DOUBLON (NUMERO)
(SELECT DISTINCT NUMERO
FROM TABLE_IMPORT
WHERE NUMERO NOT IN
(SELECT NUMERO
FROM NUMEROS_SANS_DOUBLON));
En VF, ça fait : importer les numéros qui n'y sont pas déjà.
Attention, OpenOffice perdra cette requête après l'avoir exécutée avec succès (ou plutôt : ce ne sera pas si facile à retrouver), je te conseille de la copier vers un bloc-note par exemple, et à chaque fois que tu en as besoin, de la coller dans la petite fenêtre du menu Outils / SQL. Evidemment, il faut copier vers le bloc-note la version définitive de la requête (celle qui a vraiment fonctionné).
Quand tu as un nouveau lot de numéros à importer, le plus simple est de vider la table TABLE_IMPORT, ça peut aussi se faire par une requête de type DELETE (sauf si tu veux la garder pour archives, auquel cas, tu en crées une nouvelle à chaque fois : TABLE_IMPORT_1, TABLE_IMPORT_2 etc, et tu modifies alors son nom dans la requête d'insertion ci-dessus).
Bon travail du dimanche
Astrée
Bonjour,
Il faudrait savoir dans quel type de fichier sont tes numéros de téléphone au départ (Calc, txt, odt, doc, xls etc ?). Mais on va supposer que tu passes par CALC.
1) tu mets donc tes numéros de tél dans CALC
2) tu crées dans BASE une base de données nouvelle avec deux tables :
- 'TABLE_IMPORT' qui comprend deux champs. Le premier champ, "ID", de type INTEGER avec la propriété "Autovaleur". Tu le déclares en clé primaire. Le second, "NUMERO", de type VARCHAR (10) (je suppose ici des n° à 10 chiffres, si c'est plus long tu augmentes la taille du VARCHAR, c'est juste une limite maximum de nombres de caractères). N'utilise surtout pas un champ de type numérique (tu perdrais les 0 des numéros commençant par 01, 06 + tu risquerais d'avoir des nombres à décimales etc).
- NUMEROS_SANS_DOUBLON, avec aussi deux champs : a) champ "ID", type INTEGER avec la propriété "Autovaleur", et déclaré en clé primaire b) champ "NUMERO", type VARCHAR (10) (ou plus si tu veux mettre des numéros de téléphone comme "+ 33 1 06 99 etc")
3) tu importes la sélection de ton onglet CALC dans la table 'TABLE_IMPORT' (c'est un copier-coller. Pour le mode opératoire détaillé il y a de nombreux posts et liens vers des tutoriels à ce sujet dans ce forum)
4) Par le menuOutils / SQL, tu écris et exécutes la requête SQL suivante :
INSERT INTO NUMEROS_SANS_DOUBLON (NUMERO)
(SELECT DISTINCT NUMERO
FROM TABLE_IMPORT
WHERE NUMERO NOT IN
(SELECT NUMERO
FROM NUMEROS_SANS_DOUBLON));
En VF, ça fait : importer les numéros qui n'y sont pas déjà.
Attention, OpenOffice perdra cette requête après l'avoir exécutée avec succès (ou plutôt : ce ne sera pas si facile à retrouver), je te conseille de la copier vers un bloc-note par exemple, et à chaque fois que tu en as besoin, de la coller dans la petite fenêtre du menu Outils / SQL. Evidemment, il faut copier vers le bloc-note la version définitive de la requête (celle qui a vraiment fonctionné).
Quand tu as un nouveau lot de numéros à importer, le plus simple est de vider la table TABLE_IMPORT, ça peut aussi se faire par une requête de type DELETE (sauf si tu veux la garder pour archives, auquel cas, tu en crées une nouvelle à chaque fois : TABLE_IMPORT_1, TABLE_IMPORT_2 etc, et tu modifies alors son nom dans la requête d'insertion ci-dessus).
Bon travail du dimanche
Astrée
Dernière modification par Astrée le 17 déc. 2017 19:39, modifié 14 fois.
AOO 4.1.14 sur Mac OSX 10.11.6
LibO 3.5.6.2 sur Windows XP
(obligation de versions)
LibO 3.5.6.2 sur Windows XP
(obligation de versions)
-
- Membre OOrganisé
- Messages : 76
- Inscription : 01 août 2017 19:45
- Localisation : Paris + Ile déserte
Re: 900.000 numéros
J'oubliais : 900 000 numéros, ça risque de faire gros pour BASE (et pour CALC aussi d'ailleurs).
Mais il y a des experts là dessus sur le forum.
Astrée
Mais il y a des experts là dessus sur le forum.
Astrée
La modération vous a écrit: Merci de ne pas poster plusieurs messages à la suite, si vous devez ajouter un complément d'information, le bouton "Editer" à la droite du message permet d'y remédier.
AOO 4.1.14 sur Mac OSX 10.11.6
LibO 3.5.6.2 sur Windows XP
(obligation de versions)
LibO 3.5.6.2 sur Windows XP
(obligation de versions)
-
- SuppOOrter
- Messages : 1274
- Inscription : 10 nov. 2006 15:04
- Localisation : F-Oise
Re: 900.000 numéros
Bonsoir,Astrée a écrit : Mais on va supposer que tu passes par CALC
Le message étant posté dans la section Base de données... j'ai des doutes... qu'il utilise Calc.
Par contre ce qui est certain c'est que la demande n'est pas assez précise.
Cordialement.
Ekel
KUbuntu Jammy Jellyfish (22.04) : LibreOffice 24.2.0.3 Officielle
AMD Ryzen 5 5600G
AMD Radeon RX 6650 XT
22" + 22"
16 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
KUbuntu Jammy Jellyfish (22.04) : LibreOffice 24.2.0.3 Officielle
AMD Ryzen 5 5600G
AMD Radeon RX 6650 XT
22" + 22"
16 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
-
- Membre lOOyal
- Messages : 32
- Inscription : 28 oct. 2016 16:50
Re: 900.000 numéros
Bonjour Astrée,
Un grand merci pour toutes ces explications que je vais tenter d'appliquer.
Bonne journée à toi
Un grand merci pour toutes ces explications que je vais tenter d'appliquer.
Bonne journée à toi
OpenOffice 4.1.1 sous Windows 8
-
- Membre lOOyal
- Messages : 32
- Inscription : 28 oct. 2016 16:50
[Résolu] Re: 900.000 numéros
Bonjour Astrée,
Du coup, cela me paraît plus simple sur Calc, compte-tenu de mes besoins (Créer une base de numéros de téléphone uniques - sans doublons).
Je vais donc clôturer nos échanges et me diriger vers le forum Calc.
Encore merci pour ton aide.
Du coup, cela me paraît plus simple sur Calc, compte-tenu de mes besoins (Créer une base de numéros de téléphone uniques - sans doublons).
Je vais donc clôturer nos échanges et me diriger vers le forum Calc.
Encore merci pour ton aide.
Dernière modification par CHRISTMA65 le 18 déc. 2017 14:55, modifié 1 fois.
OpenOffice 4.1.1 sous Windows 8
-
- RespOOnsable forum
- Messages : 9255
- Inscription : 28 août 2010 08:45
Re: 900.000 numéros
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac