[Résolu] 900.000 numéros

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

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.
CHRISTMA65
Membre lOOyal
Membre lOOyal
Messages : 32
Inscription : 28 oct. 2016 18:50

[Résolu] 900.000 numéros

Message par CHRISTMA65 »

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.
OpenOffice 4.1.1 sous Windows 8
Avatar de l’utilisateur
Astrée
Membre OOrganisé
Membre OOrganisé
Messages : 76
Inscription : 01 août 2017 21:45
Localisation : Paris + Ile déserte

Re: 900.000 numéros

Message par Astrée »

(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 :D
Astrée
Dernière modification par Astrée le 17 déc. 2017 20: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)
Avatar de l’utilisateur
Astrée
Membre OOrganisé
Membre OOrganisé
Messages : 76
Inscription : 01 août 2017 21:45
Localisation : Paris + Ile déserte

Re: 900.000 numéros

Message par Astrée »

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
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.
Image

AOO 4.1.14 sur Mac OSX 10.11.6
LibO 3.5.6.2 sur Windows XP
(obligation de versions)
Avatar de l’utilisateur
OOo - Ekel
SuppOOrter
SuppOOrter
Messages : 1271
Inscription : 10 nov. 2006 16:04
Localisation : F-Oise

Re: 900.000 numéros

Message par OOo - Ekel »

Astrée a écrit : Mais on va supposer que tu passes par CALC
Bonsoir,

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.
CHRISTMA65
Membre lOOyal
Membre lOOyal
Messages : 32
Inscription : 28 oct. 2016 18:50

Re: 900.000 numéros

Message par CHRISTMA65 »

Bonjour Astrée,
Un grand merci pour toutes ces explications que je vais tenter d'appliquer.
Bonne journée à toi :D
OpenOffice 4.1.1 sous Windows 8
CHRISTMA65
Membre lOOyal
Membre lOOyal
Messages : 32
Inscription : 28 oct. 2016 18:50

[Résolu] Re: 900.000 numéros

Message par CHRISTMA65 »

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. :D
Dernière modification par CHRISTMA65 le 18 déc. 2017 15:55, modifié 1 fois.
OpenOffice 4.1.1 sous Windows 8
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9224
Inscription : 28 août 2010 10:45

Re: 900.000 numéros

Message par micmac »

Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Répondre