Page 1 sur 1

[Résolu] Champ téléphone avec zéro au départ

MessagePublié: 20 Sep 2010 16:06
par guinness28
Bonjour,

Dans ma base, j'ai une table où je stocke les coordonnées des élèves.
Je constate que tous les téléphones ont eu leur zéro de début supprimé.

J'ai loupé un truc ?

Merci

Re: Champs téléphone

MessagePublié: 20 Sep 2010 16:11
par tintin
Bonjour,

Une recherche te mène ici : viewtopic.php?f=9&t=19838&p=108089&hilit=numéros+téléphone#p108089

Cela correspond-il à ta demande ?

Re: Champs téléphone

MessagePublié: 20 Sep 2010 16:26
par guinness28
pas trop non.
je rentre 0601020304 et il me ressort 6 01 02 03 04 avec mon format utilisateur, mais il enlève le 0 du début.

Re: Champs téléphone

MessagePublié: 20 Sep 2010 16:41
par jeanmimi
Bonjour,
Apparemment, un léger problème dans le format NUMERIC des numéros.

Re: Champs téléphone

MessagePublié: 22 Sep 2010 07:49
par guinness28
Rien ne change chez moi je n'ai toujours pas le zéro en début de numéro de téléphone dans la table élèves.
En revanche, je les ai bien dans le formulaire.

Re: Champs téléphone

MessagePublié: 22 Sep 2010 08:04
par Dude
guinness28 a écrit:Rien ne change chez moi je n'ai toujours pas le zéro en début de numéro de téléphone dans la table élèves.

Un format numérique n'enregistre pas les zéros non significatifs. Quel en serait l'intérêt ?

guinness28 a écrit:En revanche, je les ai bien dans le formulaire.

N'est ce pas là l'essentiel ?

Si tu veux vraiment avoir un numéro de téléphone complet, tu utilises un champ texte.

Merci d'ajouter [Résolu] au début du titre de ton 1er message et de cocher la case de l'icône de sujet (le V vert).

Re: Champs téléphone

MessagePublié: 22 Sep 2010 08:31
par guinness28
Bonjour,

Ok je mettrai résolu lorsque le sujet sera résolu, ce qui n'est pas encore le cas.

En fait, dans la table le zéro ne s'affiche pas, mais seulement dans le formulaire.
Donc, si j'effectue une requête puis établi un rapport pour donner des listes d'élèves à mes profs, ces derniers n'auront pas de zéro, c'est ce qui me gêne.

Si vous voyez une solution ...
En revanche, la première manipulation consistant à permettre la saisie "au kilomètre" et transformer en la forme ## ## ## ## ## est excellente.

Re: Champs téléphone

MessagePublié: 22 Sep 2010 08:34
par Dude
guinness28 a écrit:Si vous voyez une solution ...

Est-ce que tu lis les réponses que l'on te donne ?

Dude a écrit:Si tu veux vraiment avoir un numéro de téléphone complet, tu utilises un champ texte.


:?

Re: Champs téléphone

MessagePublié: 22 Sep 2010 09:54
par guinness28
Oui, je lis ce que l'on m'indique, je suis moi même membre très actif d'un forum lié à mon milieu professionnel où j'aide ceux qui sont en difficulté, je connais le fonctionnement des forums.

J'ai bien essayé de mettre le tout en texte, mais le résultat est assez désolant, je ne suis pas arrivé à imposer un format utilisateur du type 00 00 00 00 00, du coup, tous mes chiffres étaient collés !

Re: Champs téléphone

MessagePublié: 22 Sep 2010 10:36
par Dude
guinness28 a écrit:J'ai bien essayé de mettre le tout en texte, mais le résultat est assez désolant, je ne suis pas arrivé à imposer un format utilisateur du type 00 00 00 00 00, du coup, tous mes chiffres étaient collés !

Oui parce que tu confonds formatage et donnée brute réelle.

Comme il n'y a pas d'intérêt à stocker les zéros non significatif de nombre, il n'y en pas plus à intégrer les espaces dans un numéro de téléphone. D'ailleurs, le séparateur en France est un point.

Le fait d'avoir un formatage permet d'adapter ensuite à la visualisation.
Exemple : je stocke 125589.25 et j'affiche pour un français 125.589,25 et 125,589.25 pour un anglais.

Re: Champs téléphone

MessagePublié: 23 Sep 2010 07:45
par Pierre-Yves Samyn
Bonjour

Je ne suis pas d'accord avec les réponses précédentes : un format Texte pourrait être utile pour des saisies particulières (cf. n° étrangers comme dans le fil cité) mais pour les numéros "nationaux" le format numérique est plus approprié car plus souple pour l'utilisateur qui peut saisir 0123456789 et obtenir 01 23 45 67 89

Il suffit pour cela d'utiliser le format :

Code : Tout sélectionner   AgrandirRéduire
00" "00" "00" "00" "00


Nota : cliquer sur le bouton Aide quand le curseur est dans la zone "Description de format" permet d'accéder... à l'aide sur cette fonction. Concernant les formats numériques personnalisés on trouve :

# : N'affiche aucun zéro supplémentaire.
0 (zéro) : Affiche les zéros supplémentaires si un nombre possède moins de chiffres que de zéros définis dans le format.

Re: Champs téléphone

MessagePublié: 23 Sep 2010 08:45
par Dude
Pierre-Yves Samyn a écrit:Je ne suis pas d'accord avec les réponses précédentes : un format Texte pourrait être utile pour des saisies particulières (cf. n° étrangers comme dans le fil cité) mais pour les numéros "nationaux" le format numérique est plus approprié car plus souple pour l'utilisateur qui peut saisir 0123456789 et obtenir 01 23 45 67 89
Oui mais a priori, guinness28 voudrait saisir 123456789 et qu'apparaisse dans le champ du formulaire mais aussi dans la table le nombre formaté.
guinness28 a écrit:En fait, dans la table le zéro ne s'affiche pas, mais seulement dans le formulaire.


Moi, je préfère le champ texte parce qu'un numéro de téléphone ne fait pas l'objet de calcul et qu'il sera ensuite possible d'appliquer une clause LIKE pour faire des recherches partielles.

Re: Champs téléphone

MessagePublié: 23 Sep 2010 09:06
par Pierre-Yves Samyn
Dude a écrit:Oui mais a priori, guinness28 voudrait saisir 123456789 et qu'apparaisse dans le champ du formulaire mais aussi dans la table le nombre formaté.


En effet... et cela fonctionne comme cela avec le format numérique que je propose... dans la table.

Dude a écrit:Moi, je préfère le champ texte parce qu'un numéro de téléphone ne fait pas l'objet de calcul et qu'il sera ensuite possible d'appliquer une clause LIKE pour faire des recherches partielles.


Si on a besoin d'une requête partielle il suffit de convertir le champ en texte par une syntaxe du type CAST ( "pys" AS "VARCHAR" ). On n'aura pas le zéro de tête mais comme on sait qu'il n'est pas là rechercher LIKE '2*' donnera tous les numéros en 02

Par ailleurs la conversion ne serait nécessaire que pour une requête partielle. La recherche permet quant à elle tout à fait de trouver en tenant compte du format :

Capture-2.png
Capture-2.png (8.07 Kio) Consulté 5737 fois


Ces possibilités, ajoutées au confort de saisie apporté, me semblent en faveur du format numérique...

Re: Champs téléphone

MessagePublié: 23 Sep 2010 09:17
par Dude
Pierre-Yves Samyn a écrit:En effet... et cela fonctionne comme cela avec le format numérique que je propose... dans la table.

Euh avec un format numérique, tu n'auras pas le formatage 00 00 00 00 00 dans la table
guinness28 a écrit:Rien ne change chez moi je n'ai toujours pas le zéro en début de numéro de téléphone dans la table élèves.


Pierre-Yves Samyn a écrit:Ces possibilités, ajoutées au confort de saisie apporté, me semblent en faveur du format numérique...

Attendons le retour de l'auteur sur ce point.

Re: Champs téléphone

MessagePublié: 23 Sep 2010 09:35
par Pierre-Yves Samyn
Dude a écrit:Euh avec un format numérique, tu n'auras pas le formatage 00 00 00 00 00 dans la table


Chez moi cela fonctionne :

Capture-1.png
Capture-1.png (5.91 Kio) Consulté 5733 fois

Re: Champs téléphone

MessagePublié: 23 Sep 2010 09:57
par Dude
Oui mais c'est un formatage disponible dans l'éditeur de table. Ta donnée reste un numérique et donc sans zéro non significatif et sans espace.

Re: Champs téléphone

MessagePublié: 23 Sep 2010 10:07
par Pierre-Yves Samyn
Dude a écrit:Oui mais c'est un formatage disponible dans l'éditeur de table. Ta donnée reste un numérique et donc sans zéro non significatif et sans espace.


Je n'ai jamais prétendu le contraire...

Qu'est-ce qui me fait penser que tu ergotes en voulant à tout prix avoir raison :roll: :?: :lol:

 Ajout : 
Dude a écrit:Attendons le retour de l'auteur sur ce point.