[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible [résolu]

2012-02-15 Par sujet Claude FRICARD
Au départ je n'avais pas effectivement compris comment depuis un fichier 
Calc , vous arriviez à des structures de Table dans Base. Je suis 
heureux pour vous que certains dont Bernard aient apporté une solution.
Il reste que cette fonction Export/import manque cruellement dans Base! 
La solution Copier/coller certes fonctionne mais on ne peut pas dire que 
ce se soit très ''classe".
Ainsi  il l'a été déjà dit Base reste le parent pauvre des suites 
bureautiques OOo et Libo


Claude


Le 14/02/2012 21:41, Lucien RUBEMPRE a écrit :

Le 14/02/2012 16:35, Bernard Ribot a écrit :

Le 11/02/2012 19:14, Lucien RUBEMPRE a écrit :
Par contre, il faut bien faire des aller-retour entre la boîte de 
dialogue SQL et la table,


Quand tu insères une ligne avec une clé dupliquée dans le champ 
ClairPays sur lequel tu as posé la contrainte, un message d'erreur 
s'affiche pour te signaler que tu as déjà cette valeur dans une ligne 
de la table. Pourquoi as-tu besoin d'aller supprimer la ligne 
précédente vu qu'il n'y a aucun champ susceptible de prendre une 
valeur différente (les deux seuls attributs sont : ClairPays, qui lui 
ne change pas - forcément - et ref_continent qui lui, n'a aucune 
raison d'être modifié) ? Il suffit donc de faire OK au message 
d'erreur. Il n'y a pas d'aller-retour.


Bernard

Parfaitement exact !

Me voici donc ravi de clôturer ce fil comme "résolu"

La question d'origine était (synthétisée) : Sur deux tables "communes" 
et "pays", l'une rejette les doublons lors de la saisie (par un 
message d'erreur) et l'autre pas. Savez-vous pourquoi ?


36 contributions et six jours plus tard... (merci à tous),

la réponse (synthétisée) est : - Pour détecter les doublons d'une 
table (lors de la saisie), il faut utiliser la formule suivante :
*ALTER TABLE t_pays ALTER COLUMN ClairPays UNIQUE KEY `ClairPays` 
(`ClairPays`)*

dans la boîte de dialogue Outils | SQL...


   - Pour détecter 
tous les doublons a posteriori, il faut utiliser :

*ALTER TABLE t_pays DROP CONSTRAINT 'ClairPays' (ClairPays')*


Et nous avons glané, au passage, une astuce (pour ceux qui 
l'ignoraient) en marge du sujet :
La fonction Export n'existant pas dans Base, pour exporter seulement 
certaines tables d'une bdd, il suffit d'ouvrir une feuille Calc et de 
sélectionner la bdd comme source par Affichage | Sources de données 
(ou F4), puis de faire ensuite un copier-coller.





--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible [résolu]

2012-02-14 Par sujet Lucien RUBEMPRE

/Le 14/02/2012 23:17, Bernard Ribot a écrit :/

/Le 14/02/2012 21:41, Lucien RUBEMPRE a écrit :
/
/Pour détecter les doublons d'une table (lors de la saisie), il faut 
utiliser la formule suivante :

/
/*ALTER TABLE t_pays ALTER COLUMN ClairPays UNIQUE KEY `ClairPays` 
(`ClairPays`)*

/

/Non, j'avais rectifié. C'est :
ALTER TABLE t_pays ADD CONSTRAINT  nom_contrainte  UNIQUE (ClairPays);

/

/Pour détecter tous les doublons a posteriori, il faut utiliser :
/

/*ALTER TABLE t_pays DROP CONSTRAINT 'ClairPays' (ClairPays')*
/
/Non, ça, c'est pour supprimer la contrainte UNIQUE KEY ajoutée sur le 
champ ClairPays pour éviter la création de doublons sur ce champ. La 
syntaxe exacte est : ALTER TABLE t_pays DROP KEY nom_contrainte;


Pour les repérer à posterio c'est ça :
SELECT t_pays.IDPays, t_pays.ClairPays, COUNT(*) FROM t_pays GROUP BY 
t_pays.ClairPays

HAVING COUNT(*) > 1;

On peut même les supprimer automatiquement avec cette séquence de 
commandes à exécuter l'une après l'autre :
CREATE TEMPORARY TABLE table_temp SELECT idpays FROM t_pays GROUP BY 
ClairPays;

ALTER TABLE table_temp ADD UNIQUE (idpays);
DELETE FROM t_pays WHERE idpays NOT IN (SELECT idpays FROM table_temp);
DROP TEMPORARY TABLE table_temp;
OPTIMIZE TABLE t_pays;
Ce n'est pas de moi mais je l'ai testée sur une de mes tables : ça 
fonctionne.


Bernard /

Houlà, bon : alors je revoie ma copie :

- Pour empêcher les doublons sur un champ d'une table (lors de la 
saisie), il faut utiliser, la formule suivante (en l'adaptant à vos 
appellations locales) :

*ALTER TABLE t_pays ADD CONSTRAINT  anti_doublon  UNIQUE (ClairPays)*


- Pour annuler la "contrainte" anti-doublons ci-dessus, ce serait :

*ALTER TABLE t_pays DROP KEY anti_doublons*


- Pour lister les doublons a posteriori (au cas où des petits malins 
auraient réussi à passer au travers ;-) ) :

faire une requête contenant cette formule SQL :
*SELECT t_pays.IDPays, t_pays.ClairPays, COUNT(*) FROM t_pays GROUP BY 
t_pays.ClairPays

HAVING COUNT(*) > 1*


/_NB_ : trois formules testées et certifiées en état de marche par votre 
serviteur, sous LibreOffice 3.5.0rc3 /


Et enfin, une fois qu'on les noms de ceux qui font les c...
il suffit de leur porter le coup de grâce, à l'aide du dernier alinea du 
post de Bernard (voir plus haut). Et encore merci à lui pour son 
incroyable patience.



--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible [résolu]

2012-02-14 Par sujet Bernard Ribot

Le 14/02/2012 21:41, Lucien RUBEMPRE a écrit :
Pour détecter les doublons d'une table (lors de la saisie), il faut 
utiliser la formule suivante :
*ALTER TABLE t_pays ALTER COLUMN ClairPays UNIQUE KEY `ClairPays` 
(`ClairPays`)*

Non, j'avais rectifié. C'est :
ALTER TABLE t_pays ADD CONSTRAINT  nom_contrainte  UNIQUE (ClairPays);


Pour détecter tous les doublons a posteriori, il faut utiliser :

*ALTER TABLE t_pays DROP CONSTRAINT 'ClairPays' (ClairPays')*
Non, ça, c'est pour supprimer la contrainte UNIQUE KEY ajoutée sur le 
champ ClairPays pour éviter la création de doublons sur ce champ. La 
syntaxe exacte est : ALTER TABLE t_pays DROP KEY nom_contrainte;


Pour les repérer à posterio c'est ça :
SELECT t_pays.IDPays, t_pays.ClairPays, COUNT(*) FROM t_pays GROUP BY 
t_pays.ClairPays

HAVING COUNT(*) > 1;

On peut même les supprimer automatiquement avec cette séquence de 
commandes à exécuter l'une après l'autre :
CREATE TEMPORARY TABLE table_temp SELECT idpays FROM t_pays GROUP BY 
ClairPays;

ALTER TABLE table_temp ADD UNIQUE (idpays);
DELETE FROM t_pays WHERE idpays NOT IN (SELECT idpays FROM table_temp);
DROP TEMPORARY TABLE table_temp;
OPTIMIZE TABLE t_pays;
Ce n'est pas de moi mais je l'ai testée sur une de mes tables : ça 
fonctionne.


Bernard

--

Bernard Ribot
LibreOffice.org 3.5.0rc3 / Windows 7 SP1
LibreOffice.org 3.3.4 / Windows XP SP3
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible [résolu]

2012-02-14 Par sujet Lucien RUBEMPRE

Le 14/02/2012 16:35, Bernard Ribot a écrit :

Le 11/02/2012 19:14, Lucien RUBEMPRE a écrit :
Par contre, il faut bien faire des aller-retour entre la boîte de 
dialogue SQL et la table,


Quand tu insères une ligne avec une clé dupliquée dans le champ 
ClairPays sur lequel tu as posé la contrainte, un message d'erreur 
s'affiche pour te signaler que tu as déjà cette valeur dans une ligne 
de la table. Pourquoi as-tu besoin d'aller supprimer la ligne 
précédente vu qu'il n'y a aucun champ susceptible de prendre une 
valeur différente (les deux seuls attributs sont : ClairPays, qui lui 
ne change pas - forcément - et ref_continent qui lui, n'a aucune 
raison d'être modifié) ? Il suffit donc de faire OK au message 
d'erreur. Il n'y a pas d'aller-retour.


Bernard

Parfaitement exact !

Me voici donc ravi de clôturer ce fil comme "résolu"

La question d'origine était (synthétisée) : Sur deux tables "communes" 
et "pays", l'une rejette les doublons lors de la saisie (par un message 
d'erreur) et l'autre pas. Savez-vous pourquoi ?


36 contributions et six jours plus tard... (merci à tous),

la réponse (synthétisée) est : - Pour détecter les doublons d'une 
table (lors de la saisie), il faut utiliser la formule suivante :
*ALTER TABLE t_pays ALTER COLUMN ClairPays UNIQUE KEY `ClairPays` 
(`ClairPays`)*

dans la boîte de dialogue Outils | SQL...


   - Pour détecter 
tous les doublons a posteriori, il faut utiliser :

*ALTER TABLE t_pays DROP CONSTRAINT 'ClairPays' (ClairPays')*


Et nous avons glané, au passage, une astuce (pour ceux qui l'ignoraient) 
en marge du sujet :
La fonction Export n'existant pas dans Base, pour exporter seulement 
certaines tables d'une bdd, il suffit d'ouvrir une feuille Calc et de 
sélectionner la bdd comme source par Affichage | Sources de données (ou 
F4), puis de faire ensuite un copier-coller.




--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-14 Par sujet Bernard Ribot

Le 11/02/2012 19:14, Lucien RUBEMPRE a écrit :
Par contre, il faut bien faire des aller-retour entre la boîte de 
dialogue SQL et la table,


Quand tu insères une ligne avec une clé dupliquée dans le champ 
ClairPays sur lequel tu as posé la contrainte, un message d'erreur 
s'affiche pour te signaler que tu as déjà cette valeur dans une ligne de 
la table. Pourquoi as-tu besoin d'aller supprimer la ligne précédente vu 
qu'il n'y a aucun champ susceptible de prendre une valeur différente 
(les deux seuls attributs sont : ClairPays, qui lui ne change pas - 
forcément - et ref_continent qui lui, n'a aucune raison d'être modifié) 
? Il suffit donc de faire OK au message d'erreur. Il n'y a pas 
d'aller-retour.


Bernard
--

Bernard Ribot
LibreOffice.org 3.5.0rc3 / Windows 7 SP1
LibreOffice.org 3.3.4 / Windows XP SP3
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-13 Par sujet Bernard Ribot

Le 13/02/2012 18:29, Bernard Ribot a écrit :

Le 13/02/2012 18:14, Bernard Ribot a écrit :

Le 11/02/2012 19:14, Lucien RUBEMPRE a écrit :

/Le 11/02/2012 08:50, Bernard Ribot a écrit :/

/Le 10/02/2012 23:09, Lucien RUBEMPRE a écrit :
/

//Le 10/02/2012 19:06, Bernard Ribot a écrit :/
/
//Ça marche aussi avec MySQL (je l'ai essayé aussi). Il n'y a pas 
besoin des guillemets :
ALTER TABLE nom_table ADD CONSTRAINT nom_contrainte UNIQUE 
(ClairPays) /

/

/Effectivement ça fonctionne.
Mais c'est une méthode "pas-à-pas". En effet : la formule 
t'indique le premier doublon. Tu vas l'effacer dans la table. Puis 
tu remets la formule (en effet elle ne reste pas en mémoire dans 
la boîte de commande SQL) et tu obtiens le doublon suivant. tu 
retournes dans la table pour le supprimer, etc.

/
/Ça m'étonne quand tu dis qu'il faut "remettre la formule" (sic) 
après chaque détection de doublon. La contrainte a été ajoutée au 
schéma et ce, de façon permanente. Elle fait maintenant partie de 
la structure.


Je ferai quelques tests en rentrant de week-end :-)

Bernard

/
Ce n'est pas la peine Bernard : effectivement, on n’est pas obligé 
de ressaisir la formule à chaque fois. Par contre, il faut bien 
faire des aller-retour entre la boîte de dialogue SQL et la table, 
pour supprimer les doublons un à un.


Bonjour, me revoilà :-)

Au lieu d'essayer d'éliminer les doublons au fil de l'eau, ce serait 
peut-être moins pénible de les supprimer en bloc a posteriori.

Pour les retrouver, on peut par exemple utiliser ce genre de requête :
SELECT t_pays.IDPays, t_pays.ClairPays, COUNT(*) FROM t_pays GROUP BY 
t_pays.ClairPays HAVING COUNT(*) > 1;


Bernard


Si tu utilises cette 2ème méthode, il faudra supprimer la contrainte 
qui avait èté mise sur ClairPays (quelque chose comme : ALTER TABLE 
t_pays DROP CONSTRAINT nom_contrainte).


Bernard



Rectificatif :
c'est DROP KEY (et non DROP CONSTRAINT).

--

Bernard Ribot
LibreOffice.org 3.5.0rc3 / Windows 7 SP1
LibreOffice.org 3.3.4 / Windows XP SP3
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-13 Par sujet Bernard Ribot

Le 10/02/2012 23:17, Lucien RUBEMPRE a écrit :

/Le 10/02/2012 22:31, Bernard Ribot a écrit :
/
/Alors la clé doit être l'ensemble code du département et commune. Il 
faut donc sélectionné les deux champs et les définir comme clé primaire.

Tout à fait d'accord avec toi.

Bernard /
Très bien. Seulement le problème c'est que ma clef primaire était 
définie sur un champ "IDCommune".
Quand je tente la manip indiquée, je bute sur une série de messages 
d'erreur pas trop rassurants :








J'avoue que j'ai eu peur de répondre "oui" à la première boîte de 
dialogue : j'ai 1712 communes dans ma table :-[
Sur quels champs devraient être définis la clé primaire : IDCommune + 
ref_deptprov ?


Bernard
--

Bernard Ribot
LibreOffice.org 3.5.0rc3 / Windows 7 SP1
LibreOffice.org 3.3.4 / Windows XP SP3
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-13 Par sujet Bernard Ribot

Le 13/02/2012 18:14, Bernard Ribot a écrit :

Le 11/02/2012 19:14, Lucien RUBEMPRE a écrit :

/Le 11/02/2012 08:50, Bernard Ribot a écrit :/

/Le 10/02/2012 23:09, Lucien RUBEMPRE a écrit :
/

//Le 10/02/2012 19:06, Bernard Ribot a écrit :/
/
//Ça marche aussi avec MySQL (je l'ai essayé aussi). Il n'y a pas 
besoin des guillemets :
ALTER TABLE nom_table ADD CONSTRAINT nom_contrainte UNIQUE 
(ClairPays) /

/

/Effectivement ça fonctionne.
Mais c'est une méthode "pas-à-pas". En effet : la formule t'indique 
le premier doublon. Tu vas l'effacer dans la table. Puis tu remets 
la formule (en effet elle ne reste pas en mémoire dans la boîte de 
commande SQL) et tu obtiens le doublon suivant. tu retournes dans 
la table pour le supprimer, etc.

/
/Ça m'étonne quand tu dis qu'il faut "remettre la formule" (sic) 
après chaque détection de doublon. La contrainte a été ajoutée au 
schéma et ce, de façon permanente. Elle fait maintenant partie de la 
structure.


Je ferai quelques tests en rentrant de week-end :-)

Bernard

/
Ce n'est pas la peine Bernard : effectivement, on n’est pas obligé de 
ressaisir la formule à chaque fois. Par contre, il faut bien faire 
des aller-retour entre la boîte de dialogue SQL et la table, pour 
supprimer les doublons un à un.


Bonjour, me revoilà :-)

Au lieu d'essayer d'éliminer les doublons au fil de l'eau, ce serait 
peut-être moins pénible de les supprimer en bloc a posteriori.

Pour les retrouver, on peut par exemple utiliser ce genre de requête :
SELECT t_pays.IDPays, t_pays.ClairPays, COUNT(*) FROM t_pays GROUP BY 
t_pays.ClairPays HAVING COUNT(*) > 1;


Bernard


Si tu utilises cette 2ème méthode, il faudra supprimer la contrainte qui 
avait èté mise sur ClairPays (quelque chose comme : ALTER TABLE t_pays 
DROP CONSTRAINT nom_contrainte).


Bernard

--

Bernard Ribot
LibreOffice.org 3.5.0rc3 / Windows 7 SP1
LibreOffice.org 3.3.4 / Windows XP SP3
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-13 Par sujet Bernard Ribot

Le 11/02/2012 19:14, Lucien RUBEMPRE a écrit :

/Le 11/02/2012 08:50, Bernard Ribot a écrit :/

/Le 10/02/2012 23:09, Lucien RUBEMPRE a écrit :
/

//Le 10/02/2012 19:06, Bernard Ribot a écrit :/
/
//Ça marche aussi avec MySQL (je l'ai essayé aussi). Il n'y a pas 
besoin des guillemets :
ALTER TABLE nom_table ADD CONSTRAINT nom_contrainte UNIQUE 
(ClairPays) /

/

/Effectivement ça fonctionne.
Mais c'est une méthode "pas-à-pas". En effet : la formule t'indique 
le premier doublon. Tu vas l'effacer dans la table. Puis tu remets 
la formule (en effet elle ne reste pas en mémoire dans la boîte de 
commande SQL) et tu obtiens le doublon suivant. tu retournes dans la 
table pour le supprimer, etc.

/
/Ça m'étonne quand tu dis qu'il faut "remettre la formule" (sic) 
après chaque détection de doublon. La contrainte a été ajoutée au 
schéma et ce, de façon permanente. Elle fait maintenant partie de la 
structure.


Je ferai quelques tests en rentrant de week-end :-)

Bernard

/
Ce n'est pas la peine Bernard : effectivement, on n’est pas obligé de 
ressaisir la formule à chaque fois. Par contre, il faut bien faire des 
aller-retour entre la boîte de dialogue SQL et la table, pour 
supprimer les doublons un à un.


Bonjour, me revoilà :-)

Au lieu d'essayer d'éliminer les doublons au fil de l'eau, ce serait 
peut-être moins pénible de les supprimer en bloc a posteriori.

Pour les retrouver, on peut par exemple utiliser ce genre de requête :
SELECT t_pays.IDPays, t_pays.ClairPays, COUNT(*) FROM t_pays GROUP BY 
t_pays.ClairPays HAVING COUNT(*) > 1;


Bernard


--

Bernard Ribot
LibreOffice.org 3.5.0rc3 / Windows 7 SP1
LibreOffice.org 3.3.4 / Windows XP SP3
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-12 Par sujet Lucien RUBEMPRE

/Le 12/02/2012 12:10, Claude FRICARD a écrit :/

/vous pouvez utiliser : http://dl.free.fr/
Pour déposer des fichiers.
/
/Claude/
C'est, en effet, très pratique (une adresse que je vais garder). Merci 
Claude.


http://dl.free.fr/reHHw6RJA : pour t_communes

http://dl.free.fr/edK16dRpi : pour t_pays
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-12 Par sujet Claude FRICARD

vous pouvez utiliser : http://dl.free.fr/
Pour déposer des fichiers.

Claude


Le 11/02/2012 20:36, Marc Lanchas a écrit :

Le 11/02/2012 19:17, Lucien RUBEMPRE a écrit :

/Le 10/02/2012 23:49, Marc Lanchas a écrit :/

/
N'ayant pas le pourquoi et le comment de la base, ni le schéma, il 
est difficile d'aller au fond du problème./
Si quelqu'un sait comment faire pour exporter seulement les tables 
"t_communes" et "t_pays" de ma BBD, je suis prêt à les partager en 
ligne quelque part (ci-joint.fr n'existe plus).



__ Information provenant d'ESET NOD32 Antivirus, version de 
la base des signatures de virus 6876 (20120211) __


Le message a été vérifié par ESET NOD32 Antivirus.

http://www.eset.com

Bonsoir,
j'ai la vague impression que la fonction d'export n'existe pas !
Par contre en prenant la base comme source de données dans calc, cela 
ne peut que fonctionner.

Marc


__ Information provenant d'ESET NOD32 Antivirus, version de la 
base des signatures de virus 6877 (20120211) __


Le message a été vérifié par ESET NOD32 Antivirus.

http://www.eset.com

--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-11 Par sujet Lucien RUBEMPRE

Et, pour faire suite à mon précédent message, voici les définitions :


-- Table structure for table `robase`.`t_communes`
--

DROP TABLE IF EXISTS `t_communes`;
CREATE TABLE `t_communes` (
  `IDCommune` mediumint(7) NOT NULL,
  `ClairCommune` varchar(37) DEFAULT NULL,
  `ref_deptprov` mediumint(7) NOT NULL,
  PRIMARY KEY (`IDCommune`),
  UNIQUE KEY `ClairCommune` (`ClairCommune`),
  KEY `ref_deptprov` (`ref_deptprov`),
  CONSTRAINT `t_communes_ibfk_1` FOREIGN KEY (`ref_deptprov`) 
REFERENCES `t_dptprov` (`IDDptProv`) ON DELETE CASCADE ON UPDATE CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 et


-- Table structure for table `robase`.`t_pays`
--

DROP TABLE IF EXISTS `t_pays`;
CREATE TABLE `t_pays` (
  `IDPays` mediumint(10) NOT NULL AUTO_INCREMENT,
  `ClairPays` varchar(50) NOT NULL,
  `ref_continent` mediumint(7) DEFAULT NULL,
  PRIMARY KEY (`IDPays`),
  UNIQUE KEY `ClairPays` (`ClairPays`),
  KEY `ref_continent` (`ref_continent`),
  CONSTRAINT `t_pays_ibfk_1` FOREIGN KEY (`ref_continent`) REFERENCES 
`t_continents` (`IDContinent`) ON DELETE CASCADE ON UPDATE CASCADE

) ENGINE=InnoDB AUTO_INCREMENT=163 DEFAULT CHARSET=latin1;


--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-11 Par sujet Lucien RUBEMPRE

/Le 11/02/2012 20:36, Marc Lanchas a écrit :/

/Le 11/02/2012 19:17, Lucien RUBEMPRE a écrit : /

/Le 10/02/2012 23:49, Marc Lanchas a écrit : /

/
N'ayant pas le pourquoi et le comment de la base, ni le schéma, il 
est difficile d'aller au fond du problème./
/Si quelqu'un sait comment faire pour exporter seulement les tables 
"t_communes" et "t_pays" de ma BBD, je suis prêt à les partager en 
ligne quelque part (ci-joint.fr n'existe plus).



/

/Bonsoir,
j'ai la vague impression que la fonction d'export n'existe pas !
Par contre en prenant la base comme source de données dans calc, cela 
ne peut que fonctionner.

Marc/

Les tables sont disponibles ici :

http://dl.dropbox.com/u/49052531/t_communes.ods

http://dl.dropbox.com/u/49052531/t_communes.ods
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-11 Par sujet Marc Lanchas

Le 11/02/2012 19:17, Lucien RUBEMPRE a écrit :

/Le 10/02/2012 23:49, Marc Lanchas a écrit :/

/
N'ayant pas le pourquoi et le comment de la base, ni le schéma, il 
est difficile d'aller au fond du problème./
Si quelqu'un sait comment faire pour exporter seulement les tables 
"t_communes" et "t_pays" de ma BBD, je suis prêt à les partager en 
ligne quelque part (ci-joint.fr n'existe plus).



__ Information provenant d'ESET NOD32 Antivirus, version de la 
base des signatures de virus 6876 (20120211) __


Le message a été vérifié par ESET NOD32 Antivirus.

http://www.eset.com

Bonsoir,
j'ai la vague impression que la fonction d'export n'existe pas !
Par contre en prenant la base comme source de données dans calc, cela ne 
peut que fonctionner.

Marc



__ Information provenant d'ESET NOD32 Antivirus, version de la base des 
signatures de virus 6877 (20120211) __

Le message a été vérifié par ESET NOD32 Antivirus.

http://www.eset.com

--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-11 Par sujet Lucien RUBEMPRE

/Le 10/02/2012 23:49, Marc Lanchas a écrit :/

/
N'ayant pas le pourquoi et le comment de la base, ni le schéma, il est 
difficile d'aller au fond du problème./
Si quelqu'un sait comment faire pour exporter seulement les tables 
"t_communes" et "t_pays" de ma BBD, je suis prêt à les partager en ligne 
quelque part (ci-joint.fr n'existe plus).

--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-11 Par sujet Lucien RUBEMPRE

/Le 11/02/2012 08:50, Bernard Ribot a écrit :/

/Le 10/02/2012 23:09, Lucien RUBEMPRE a écrit :
/

//Le 10/02/2012 19:06, Bernard Ribot a écrit :/
/
//Ça marche aussi avec MySQL (je l'ai essayé aussi). Il n'y a pas 
besoin des guillemets :
ALTER TABLE nom_table ADD CONSTRAINT  nom_contrainte  UNIQUE 
(ClairPays) /

/

/Effectivement ça fonctionne.
Mais c'est une méthode "pas-à-pas". En effet : la formule t'indique 
le premier doublon. Tu vas l'effacer dans la table. Puis tu remets la 
formule (en effet elle ne reste pas en mémoire dans la boîte de 
commande SQL) et tu obtiens le doublon suivant. tu retournes dans la 
table pour le supprimer, etc.

/
/Ça m'étonne quand tu dis qu'il faut "remettre la formule" (sic) après 
chaque détection de doublon. La contrainte a été ajoutée au schéma et 
ce, de façon permanente. Elle fait maintenant partie de la structure.


Je ferai quelques tests en rentrant de week-end :-)

Bernard

/
Ce n'est pas la peine Bernard : effectivement, on n'est pas obligé de 
ressaisir la formule à chaque fois. Par contre, il faut bien faire des 
aller-retour entre la boîte de dialogue SQL et la table, pour supprimer 
les doublons un à un.

--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Bernard Ribot

Le 10/02/2012 23:17, Lucien RUBEMPRE a écrit :

/Le 10/02/2012 22:31, Bernard Ribot a écrit :
/
/Alors la clé doit être l'ensemble code du département et commune. Il 
faut donc sélectionné les deux champs et les définir comme clé primaire.

Tout à fait d'accord avec toi.

Bernard /
Très bien. Seulement le problème c'est que ma clef primaire était 
définie sur un champ "IDCommune".
Quand je tente la manip indiquée, je bute sur une série de messages 
d'erreur pas trop rassurants :








J'avoue que j'ai eu peur de répondre "oui" à la première boîte de 
dialogue : j'ai 1712 communes dans ma table :-[
Le problème vient du fait qu'il doit exister des relations entre les 
tables. Il faudra les supprimer et les recréer.


Bon week-end à tous,
Bernard

--

Bernard Ribot
LibreOffice.org 3.5.0rc3 / Windows 7 SP1
LibreOffice.org 3.3.4 / Windows XP SP3
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Bernard Ribot

Le 10/02/2012 23:09, Lucien RUBEMPRE a écrit :

/Le 10/02/2012 19:06, Bernard Ribot a écrit :/
/Ça marche aussi avec MySQL (je l'ai essayé aussi). Il n'y a pas 
besoin des guillemets :
ALTER TABLE nom_table ADD CONSTRAINT  nom_contrainte  UNIQUE 
(ClairPays) /

Effectivement ça fonctionne.
Mais c'est une méthode "pas-à-pas". En effet : la formule t'indique le 
premier doublon. Tu vas l'effacer dans la table. Puis tu remets la 
formule (en effet elle ne reste pas en mémoire dans la boîte de 
commande SQL) et tu obtiens le doublon suivant. tu retournes dans la 
table pour le supprimer, etc.
Ça m'étonne quand tu dis qu'il faut "remettre la formule" (sic) après 
chaque détection de doublon. La contrainte a été ajoutée au schéma et 
ce, de façon permanente. Elle fait maintenant partie de la structure.


Je ferai quelques tests en rentrant de week-end :-)

Bernard


--

Bernard Ribot
LibreOffice.org 3.5.0rc3 / Windows 7 SP1
LibreOffice.org 3.3.4 / Windows XP SP3
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Marc Lanchas

Le 10/02/2012 23:17, Lucien RUBEMPRE a écrit :

/Le 10/02/2012 22:31, Bernard Ribot a écrit :
/
/Alors la clé doit être l'ensemble code du département et commune. Il 
faut donc sélectionné les deux champs et les définir comme clé primaire.

Tout à fait d'accord avec toi.

Bernard /
Très bien. Seulement le problème c'est que ma clef primaire était 
définie sur un champ "IDCommune".
Quand je tente la manip indiquée, je bute sur une série de messages 
d'erreur pas trop rassurants :



1 - tout dépend ces relations établies et de la volumétrie des données 
sachant qu'une requête de mise à jour n'est pas toujours possible.
2 - En fonction de la condition 1, les relations peuvent t'elles être 
modifiées ?
3 - Si oui facilement,  juste un problème de patience pour ajouter un 
champ complémentaire. Il me semble qu'il faut au moins ajouter soit le 
code département, soit le code postal, soit le code INSEE (qui n'est pas 
le code postal) et modifier la clé primaire.
4 - pour la table pays, il existe aussi des codes INSEE (attention , il 
y a un historique, le monde évolue).
Les puristes diront qu'il faut travailler avec un identifiant. Après 20 
ans de bases de données et des schémas avec des milliers de tables , 
j'ai mis de l'eau dans mon vin (absolument dégueulasse) et pourquoi ne 
pas prendre le nom du pays comme clé ?


N'ayant pas le pourquoi et le comment de la base, ni le schéma, il est 
difficile d'aller au fond du problème.


Marc







J'avoue que j'ai eu peur de répondre "oui" à la première boîte de 
dialogue : j'ai 1712 communes dans ma table :-[





__ Information provenant d'ESET NOD32 Antivirus, version de la base des 
signatures de virus 6875 (20120210) __

Le message a été vérifié par ESET NOD32 Antivirus.

http://www.eset.com

--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Lucien RUBEMPRE

/Le 10/02/2012 19:06, Bernard Ribot a écrit :/
/Ça marche aussi avec MySQL (je l'ai essayé aussi). Il n'y a pas 
besoin des guillemets :

ALTER TABLE nom_table ADD CONSTRAINT  nom_contrainte  UNIQUE (ClairPays) /

Effectivement ça fonctionne.
Mais c'est une méthode "pas-à-pas". En effet : la formule t'indique le 
premier doublon. Tu vas l'effacer dans la table. Puis tu remets la 
formule (en effet elle ne reste pas en mémoire dans la boîte de commande 
SQL) et tu obtiens le doublon suivant. tu retournes dans la table pour 
le supprimer, etc.

--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Bernard Ribot

Le 10/02/2012 22:25, Marc Lanchas a écrit :



/
/ 

/

Bonsoir,
Sur le fond il faut pouvoir éliminer les doublons même si le champ 
n'est pas la clé primaire.


Sur la forme, il y a des doublons sur les 36000 communes de France 
et de Navarre.
La clé d'une commune est officiellement le code insee 
(éventuellement le nom en plus) . Il est possible d'utiliser le code 
postal ou bien le numéro de département.

Marc
La liste est récupérable sur le site de l'Insee./

Bonsoir,
Oui, mais dans le cas de ma table "t_communes", il existe un champ 
"département" : c'est de cette façon qu'on s'affranchit des homonymes 
(qui sont plutôt rares dans un même département, du moins je pense).



__ Information provenant d'ESET NOD32 Antivirus, version de 
la base des signatures de virus 6875 (20120210) __


Le message a été vérifié par ESET NOD32 Antivirus.

http://www.eset.com
Alors la clé doit être l'ensemble code du département et commune. Il 
faut donc sélectionné les deux champs et les définir comme clé primaire.

Cela fonctionne soit dans la table soit dans un formulaire


Tout à fait d'accord avec toi.

Bernard
--

Bernard Ribot
LibreOffice.org 3.5.0rc3 / Windows 7 SP1
LibreOffice.org 3.3.4 / Windows XP SP3
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Marc Lanchas



/
/ 

/

Bonsoir,
Sur le fond il faut pouvoir éliminer les doublons même si le champ 
n'est pas la clé primaire.


Sur la forme, il y a des doublons sur les 36000 communes de France et 
de Navarre.
La clé d'une commune est officiellement le code insee (éventuellement 
le nom en plus) . Il est possible d'utiliser le code postal ou bien 
le numéro de département.

Marc
La liste est récupérable sur le site de l'Insee./

Bonsoir,
Oui, mais dans le cas de ma table "t_communes", il existe un champ 
"département" : c'est de cette façon qu'on s'affranchit des homonymes 
(qui sont plutôt rares dans un même département, du moins je pense).



__ Information provenant d'ESET NOD32 Antivirus, version de la 
base des signatures de virus 6875 (20120210) __


Le message a été vérifié par ESET NOD32 Antivirus.

http://www.eset.com
Alors la clé doit être l'ensemble code du département et commune. Il 
faut donc sélectionné les deux champs et les définir comme clé primaire.

Cela fonctionne soit dans la table soit dans un formulaire



__ Information provenant d'ESET NOD32 Antivirus, version de la base des 
signatures de virus 6875 (20120210) __

Le message a été vérifié par ESET NOD32 Antivirus.

http://www.eset.com

--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Lucien RUBEMPRE

/Le 10/02/2012 18:29, Marc Lanchas a écrit :/

/Le 10/02/2012 09:44, Bernard Ribot a écrit : /

/Le 09/02/2012 21:07, Lucien RUBEMPRE a écrit :
/

/Merci Claude et Barnard, pour vos réponses.

En fait, je pense avoir trouvé la solution :
il suffisait de rajouter :
/

/  UNIQUE KEY `ClairPays` (`ClairPays`),
/ 
/dans la structure de la table (à condition de savoir éditer cette 
dernière, bien sûr).


/ 

/
Je pense qu'il faut faire un ALTER TABLE ALTER COLUMN via l'éditeur 
SQL (Outils > SQL).


Bernard

/ 

/

Bonsoir,
Sur le fond il faut pouvoir éliminer les doublons même si le champ 
n'est pas la clé primaire.


Sur la forme, il y a des doublons sur les 36000 communes de France et 
de Navarre.
La clé d'une commune est officiellement le code insee (éventuellement 
le nom en plus) . Il est possible d'utiliser le code postal ou bien le 
numéro de département.

Marc
La liste est récupérable sur le site de l'Insee./

Bonsoir,
Oui, mais dans le cas de ma table "t_communes", il existe un champ 
"département" : c'est de cette façon qu'on s'affranchit des homonymes 
(qui sont plutôt rares dans un même département, du moins je pense).

--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Bernard Ribot

Le 10/02/2012 18:30, Lucien RUBEMPRE a écrit :

/Le 10/02/2012 14:02, Bernard Ribot a écrit :/

/Le 10/02/2012 13:11, Lucien RUBEMPRE a écrit :
/

//Le 10/02/2012 09:44, Bernard Ribot a écrit :/
/

//
Je pense qu'il faut faire un ALTER TABLE ALTER COLUMN via l'éditeur 
SQL (Outils > SQL).


Bernard /

/ 

/J'ai tenté ceci :
/
/ALTER TABLE t_pays ALTER COLUMN ClairPays UNIQUE KEY `ClairPays` 
(`ClairPays`)

/

/et j'obtiens cela :

/
/You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to 
use near 'UNIQUE KEY `ClairPays` (`ClairPays`)' at line 1

/

/Alors, j'ai peut-être pas bien compris ta solution ?
/
/En supposant que c'est une base HSQLDB (SGBD intégré à OOo) la 
syntaxe est la suivante :
ALTER TABLE "nom_table" ADD CONSTRAINT  "nom_contrainte"  UNIQUE 
("ClairPays")

nom_contrainte est un nom choisi par toi, par exemple : c_ClairPays

Bernard
/

En fait c'est une base avec un moteur MySQL (JDBC).

--
Ma config. : W7 FP - SP1 64 bits | AMD Athlon(tm) II X4 645 3.10 GHz | 
RAM 8 Go

Libre Office 3.4.5 OOO340m1 (Build:502)


Ça marche aussi avec MySQL (je l'ai essayé aussi). Il n'y a pas besoin 
des guillemets :

ALTER TABLE nom_table ADD CONSTRAINT  nom_contrainte  UNIQUE (ClairPays)
--

Bernard Ribot
LibreOffice.org 3.5.0rc3 / Windows 7 SP1
LibreOffice.org 3.3.4 / Windows XP SP3
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Lucien RUBEMPRE

/Le 10/02/2012 13:49, Jean-Francois Nifenecker a écrit :/

/Le 10/02/2012 13:11, Lucien RUBEMPRE a écrit :
/

/
/

/You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use
near 'UNIQUE KEY `ClairPays` (`ClairPays`)' at line 1
/

/Alors, j'ai peut-être pas bien compris ta solution ?
/

/
Erreur de syntaxe : peut-être une histoire d'apostrophes ou de 
guillemets ?


Essaie avec
ALTER TABLE t_pays ALTER COLUMN ClairPays UNIQUE KEY "ClairPays"
("ClairPays")

Je ne suis pas spécialiste MySQL mais bon... /


Hélas non : ça ne marche pas.
corresponds to your MySQL server version for the right syntax to use 
near 'UNIQUE KEY "ClairPays"

("ClairPays")' at line 1


--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Lucien RUBEMPRE

/Le 10/02/2012 14:02, Bernard Ribot a écrit :/

/Le 10/02/2012 13:11, Lucien RUBEMPRE a écrit :
/

//Le 10/02/2012 09:44, Bernard Ribot a écrit :/
/

//
Je pense qu'il faut faire un ALTER TABLE ALTER COLUMN via l'éditeur 
SQL (Outils > SQL).


Bernard /

/ 

/J'ai tenté ceci :
/
/ALTER TABLE t_pays ALTER COLUMN ClairPays UNIQUE KEY `ClairPays` 
(`ClairPays`)

/

/et j'obtiens cela :

/
/You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use 
near 'UNIQUE KEY `ClairPays` (`ClairPays`)' at line 1

/

/Alors, j'ai peut-être pas bien compris ta solution ?
/
/En supposant que c'est une base HSQLDB (SGBD intégré à OOo) la 
syntaxe est la suivante :
ALTER TABLE "nom_table" ADD CONSTRAINT  "nom_contrainte"  UNIQUE 
("ClairPays")

nom_contrainte est un nom choisi par toi, par exemple : c_ClairPays

Bernard
/

En fait c'est une base avec un moteur MySQL (JDBC).

--
Ma config. : W7 FP - SP1 64 bits | AMD Athlon(tm) II X4 645 3.10 GHz | 
RAM 8 Go

Libre Office 3.4.5 OOO340m1 (Build:502)
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Marc Lanchas

Le 10/02/2012 09:44, Bernard Ribot a écrit :

Le 09/02/2012 21:07, Lucien RUBEMPRE a écrit :

Merci Claude et Barnard, pour vos réponses.

En fait, je pense avoir trouvé la solution :
il suffisait de rajouter :

  UNIQUE KEY `ClairPays` (`ClairPays`),
dans la structure de la table (à condition de savoir éditer cette 
dernière, bien sûr).




Je pense qu'il faut faire un ALTER TABLE ALTER COLUMN via l'éditeur 
SQL (Outils > SQL).


Bernard




Bonsoir,
Sur le fond il faut pouvoir éliminer les doublons même si le champ n'est 
pas la clé primaire.


Sur la forme, il y a des doublons sur les 36000 communes de France et de 
Navarre.
La clé d'une commune est officiellement le code insee (éventuellement le 
nom en plus) . Il est possible d'utiliser le code postal ou bien le 
numéro de département.

Marc
La liste est récupérable sur le site de l'Insee.



__ Information provenant d'ESET NOD32 Antivirus, version de la base des 
signatures de virus 6874 (20120210) __

Le message a été vérifié par ESET NOD32 Antivirus.

http://www.eset.com

--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Bernard Ribot

Le 10/02/2012 13:11, Lucien RUBEMPRE a écrit :

/Le 10/02/2012 09:44, Bernard Ribot a écrit :/

/
Je pense qu'il faut faire un ALTER TABLE ALTER COLUMN via l'éditeur 
SQL (Outils > SQL).


Bernard /


J'ai tenté ceci :
ALTER TABLE t_pays ALTER COLUMN ClairPays UNIQUE KEY `ClairPays` 
(`ClairPays`)

et j'obtiens cela :

You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use 
near 'UNIQUE KEY `ClairPays` (`ClairPays`)' at line 1

Alors, j'ai peut-être pas bien compris ta solution ?
En supposant que c'est une base HSQLDB (SGBD intégré à OOo) la syntaxe 
est la suivante :
ALTER TABLE "nom_table" ADD CONSTRAINT  "nom_contrainte"  UNIQUE 
("ClairPays")

nom_contrainte est un nom choisi par toi, par exemple : c_ClairPays

Bernard

--

Bernard Ribot
LibreOffice.org 3.5.0rc3 / Windows 7 SP1
LibreOffice.org 3.3.4 / Windows XP SP3
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Jean-Francois Nifenecker

Le 10/02/2012 13:11, Lucien RUBEMPRE a écrit :



You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use
near 'UNIQUE KEY `ClairPays` (`ClairPays`)' at line 1

Alors, j'ai peut-être pas bien compris ta solution ?


Erreur de syntaxe : peut-être une histoire d'apostrophes ou de guillemets ?

Essaie avec
ALTER TABLE t_pays ALTER COLUMN ClairPays UNIQUE KEY "ClairPays"
("ClairPays")

Je ne suis pas spécialiste MySQL mais bon...
--
Jean-Francois Nifenecker, Bordeaux
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Lucien RUBEMPRE

/Le 10/02/2012 09:44, Bernard Ribot a écrit :/

/
Je pense qu'il faut faire un ALTER TABLE ALTER COLUMN via l'éditeur 
SQL (Outils > SQL).


Bernard /


J'ai tenté ceci :
ALTER TABLE t_pays ALTER COLUMN ClairPays UNIQUE KEY `ClairPays` 
(`ClairPays`)

et j'obtiens cela :

You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use 
near 'UNIQUE KEY `ClairPays` (`ClairPays`)' at line 1

Alors, j'ai peut-être pas bien compris ta solution ?
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Bernard Ribot

Le 09/02/2012 21:07, Lucien RUBEMPRE a écrit :

Merci Claude et Barnard, pour vos réponses.

En fait, je pense avoir trouvé la solution :
il suffisait de rajouter :

  UNIQUE KEY `ClairPays` (`ClairPays`),
dans la structure de la table (à condition de savoir éditer cette 
dernière, bien sûr).




Je pense qu'il faut faire un ALTER TABLE ALTER COLUMN via l'éditeur SQL 
(Outils > SQL).


Bernard

--

Bernard Ribot
LibreOffice.org 3.5.0rc3 / Windows 7 SP1
LibreOffice.org 3.3.4 / Windows XP SP3
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-10 Par sujet Claude FRICARD

Lucien,
Donc sans SQL pas de salut ? c'est une solution certes mais 
d'informaticien et pas pour le grand public. Pardon mais avec Access il 
suffit de préciser dans les propriétés d'un champ : sans doublon ...
Ce qui n'est pas qui n'est pas recevable c'est la réaction de 
l'application en cas de champ dupliqué : la saisie est bloquée , c'est 
seulement en fermant le formulaire qu'il nous est indiqué la duplication 
de clefs.
Pour ma part dans mon cours en association je préconiserai l'utilisation 
de clef primaire en autovaleur : ID_commune (integer) par exemple , et 
un champ commune et  idem pour les pays.Certes il pourrait y avoir des 
communes en double mais c'est gérable.


Claude


Le 09/02/2012 21:07, Lucien RUBEMPRE a écrit :

Merci Claude et Barnard, pour vos réponses.

En fait, je pense avoir trouvé la solution :
il suffisait de rajouter :

  UNIQUE KEY `ClairPays` (`ClairPays`),
dans la structure de la table (à condition de savoir éditer cette 
dernière, bien sûr).



--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-09 Par sujet Lucien RUBEMPRE

Merci Claude et Barnard, pour vos réponses.

En fait, je pense avoir trouvé la solution :
il suffisait de rajouter :

  UNIQUE KEY `ClairPays` (`ClairPays`),
dans la structure de la table (à condition de savoir éditer cette 
dernière, bien sûr).


--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-09 Par sujet Claude FRICARD
Mettre une clé sur un champ non "integer" c'est se priver de la 
possibilité de l'Autovaleur. Après il faut gérer soi-même les doublons ...


Claude


Le 09/02/2012 11:00, Bernard Ribot a écrit :

Le 08/02/2012 21:29, Lucien RUBEMPRE a écrit :

/Le 08/02/2012 19:28, Claude FRICARD a écrit :/
/Les tables t_communes et t_paysont-elles des clé primaires en 
autovaleur ?/

Oui, c'est le cas.
C'est bizarre, pour la table t_communes il semble que la clé primaire 
soit sur la commune, d'où le doublon.
Pour la table t_pays la clé primaire doit effectivement être un champ  
incrémenté, ce qui fait que tu n'auras jamais de doublon même si tu 
saisis 2 fois le même pays.


Bernard


--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-09 Par sujet Bernard Ribot

Le 08/02/2012 21:29, Lucien RUBEMPRE a écrit :

/Le 08/02/2012 19:28, Claude FRICARD a écrit :/
/Les tables t_communes et t_paysont-elles des clé primaires en 
autovaleur ?/

Oui, c'est le cas.
C'est bizarre, pour la table t_communes il semble que la clé primaire 
soit sur la commune, d'où le doublon.
Pour la table t_pays la clé primaire doit effectivement être un champ  
incrémenté, ce qui fait que tu n'auras jamais de doublon même si tu 
saisis 2 fois le même pays.


Bernard

--

Bernard Ribot
LibreOffice.org 3.5.0rc2 / Windows 7 SP1
LibreOffice.org 3.3.4 / Windows XP SP3
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-08 Par sujet Lucien RUBEMPRE

/Le 08/02/2012 19:28, Claude FRICARD a écrit :/
/Les tables t_communes et t_paysont-elles des clé primaires en 
autovaleur ?/

Oui, c'est le cas.
--

To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help


[fr-users] Re: [users-fr] [Base] anti-doublon incompréhensible

2012-02-08 Par sujet Claude FRICARD

  
  
Les tables t_communes et t_pays ont-elles
des clé primaires en autovaleur ?
Claude

Le 08/02/2012 18:40, Lucien RUBEMPRE a écrit :

  
  Bonjour,
  
  J'ai une table t_communes, associée à un formulaire F02_COMMUNES.
  Quand je tente de saisir une commune déjà présente, j'obtiens le
  message d'erreur suivant (ce qui est bien car ça m'évite de saisir
  un doublon).
  
  
  
  
  
  Par contre, j'ai aussi une table t_pays, associée à un formulaire
  F05_PAYS.
  Mais là, quand je saisis un pays déjà présent : pas de message
  d'erreur. Et je me retrouve avec un doublon.
  
  Après plusieurs mois, je n'arrive toujours pas à comprendre ce qui
  se passe.
  
  Quelqu'un aurait une idée ?