Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
J'ai un champs de type varchar dans une datawindow, et j'aimerais que l'utilisateur ne puisse y saisir q'un décimal, je ne sais pas trop comment faire...
vous pouvez m'éclairer svp ?
Merci d'avance
Hors ligne
Tu as toujours la possibilité de passer ta colonne au type EditMask avec un masque de saisie de type numérique genre # ###.00 pour obliger la saisie d'un décimal. Mais comme la colonne est varchar les # seront remplacés par des blancs si l'utilisateur ne saisie pas de chiffre à leur emplacement...
Hors ligne
merci pour ta réponse,
j'ai déja éssayé de faire ca, le problème c'est qu'il me met un "." par défaut dans le champs alors même qu'il n'y a rien de saisi
Hors ligne
bombseb a écrit:
merci pour ta réponse,
j'ai déja éssayé de faire ca, le problème c'est qu'il me met un "." par défaut dans le champs alors même qu'il n'y a rien de saisi
Oui c'est normal puisque le champ n'est pas un numérique mais une chaine de caractère donc la position décimal est stockée dans la valeur essayes peut-être de cocher Empty String is Null pour voir... Mais sans conviction... Argl, il n'y en a pas avec EditMask !!! Au temps pour moi. Du coup tu vas devoir agir par programme pour mettre la valeur à vide si elle est à "." (avant la sauvegarde définitive en base)
Hors ligne
non, c'est pareil
c'est pas grave je vais tester la valeur à l'enregistrement et afficher un message d'erreur si il y a autre chose qu'un decimal
Merci quand même
Hors ligne
sinon tu peux aussi créer un champ numérique virtuel (en ajoutant par exemple ,0 AS COLONNE_NUM dans ta clause SELECT)
et copier ensuite cette valeur dans le champ texte (caché pour l'utilisateur)
Hors ligne
oui j'y avais pensé mais ca m'oblige à modifier ma procédure stockée
Hors ligne
Pourquoi stocker un decimal dans un varchar ?
Hors ligne