[Base] Masque de saisie

Bonjour,
Depuis quelques jours, je m'attaque à une DB faite avec Base. Or, je trouve étonnamment peu d'informations sur le sujet.
Je cherche à générer un masque de saisie "composite" pour une clé primaire. La clé doit se composer de 5 caractères, puis de 4 chiffres. Dans MSAccess, le masque de saisie serait "LLLLL0000", mais dans Base, je ne vois pas comment indiquer que je souhaite 5 caractères.

Pouvez-vous me dire si c'est réalisable, et si oui, comment ?

Je préfère éviter les macros, parce que là aussi, je ne trouve pas énormément d'informations...

Merci !

Bonjour Cédric,

Autrement que par macro, je ne pense pas que cela soit possible, du
moins pas au niveau de la création de la table et des définitions du champ.

Il te faut un champ VARCHAR(9) puisque tu en as 9 caractères. Après,
est-ce que dans les propriétés du contrôle lié à ce champ il n'y a pas
moyen de définir une sorte d'équation (PARTIE FIXE + PARTIE VARIABLE
INCREMENTEE), je ne sais pas, mais je ne le pense pas (en tout cas de ce
que j'ai pu voir pour l'instant). Je serai moi aussi intéressé si
quelqu'un a déjà trouvé une solution simple à ce problème.

Alex

Bonjour Cédric, bonjour Alex

La solution m'intéresserait aussi car je n'ai rien trouvé non plus. Il n'y a pas de masque de saisie prévu dans le contrôle zone de texte.

Peut-être utiliser une clé composée ?

Sinon ça pourrait peut-être faire l'objet d'une demande d'amélioration au niveau du contrôle zone de texte ?

Bernard

Ca serait même idéal d'avoir ce style de masque de saisie aussi bien sur les numériques que sur les champs de type texte. Ici j'ai effectivement contourné le problème en créant une clé multiple, mais ça fait du chipotage de concaténation sur les formulaires :slight_smile:

Bonjour

Une solution simple, mais pas sans inconvénient :

1. Au niveau de la table
- Champ VARCHAR(9) clé primaire

2. Dans le formulaire de saisie

Utiliser un contrôle "Champ masqué" avec :
- Masque de saisie : AAAAANNNN
- Vérification de format : Oui

C'est tout...

L'inconvénient est le rendu "mode refrappe" lors de la saisie... :slight_smile:

Codes disponibles : cf.
http://help.libreoffice.org/Common/General_10/fr#Masque_de_saisie

Ci-joint un exemple :
http://nabble.documentfoundation.org/file/n3168929/KeyControl.odb
KeyControl.odb

Cordialement
Pierre-Yves

Merci Pierre-Yves, c'est exactement ça. Je n'y avais pas pensé, pour moi, le
champ masqué était un champ invisible !
Mais si ce type de fonctionnement existe déjà, pourquoi n'est-il pas
applicable directement dans les tables ?

"Cédric V." wrote:

si ce type de fonctionnement existe déjà, pourquoi n'est-il pas applicable
directement dans les tables ?

Là tu me poses une colle :slight_smile:

Disons que pour l'instant ne sont gérés que les formats d'affichage ; rien
pour les masques au niveau des tables...

Sans doute plus un renoncement lié aux ressources disponibles qu'une volonté
délibérée... ?

Cordialement
Pierre-Yves

Bonjour

Une solution simple, mais pas sans inconvénient :

1. Au niveau de la table
- Champ VARCHAR(9) clé primaire

2. Dans le formulaire de saisie

Utiliser un contrôle "Champ masqué" avec :
- Masque de saisie : AAAAANNNN
- Vérification de format : Oui

C'est tout...

L'inconvénient est le rendu "mode refrappe" lors de la saisie... :slight_smile:

Codes disponibles : cf.
http://help.libreoffice.org/Common/General_10/fr#Masque_de_saisie

Ci-joint un exemple :
http://nabble.documentfoundation.org/file/n3168929/KeyControl.odb
KeyControl.odb

Cordialement
Pierre-Yves

--
View this message in context: http://nabble.documentfoundation.org/Base-Masque-de-saisie-tp3165441p3168929.html
Sent from the Users mailing list archive at Nabble.com.

Merci Pierre-Yves pour cette solution.

Je suis comme Cédric j'avais toujours pensé que "champ masqué" voulait dire "champ invisible". On devrait regarder la doc quelquefois :frowning:

Disons que pour l'instant ne sont gérés que les formats d'affichage ; rien
pour les masques au niveau des tables...
   

Vous voulez dire Cédric et toi que ce genre de formatage (masque) devrait être géré comme format interne par un SGBD ? Si c'est ça, je répondrais qu'il n'est pas souhaitable de mélanger les formats de stockage des données et les formats d'affichage (chacun doit être géré par une "couche" différente). D'ailleurs je ne sais pas s'il existe un SGBD faisant cela (à moins d'un SGBD qui ne se conformerait pas à la norme ANSI SQL des types de données).

Mais peut-être n'ai-je pas bien compris la question ? :slight_smile:

Bonne soirée,
Bernard

/Le 14/07/2011 14:07, pierre-yves samyn a écrit :confused:

/
Codes disponibles : cf.
http://help.libreoffice.org/Common/General_10/fr#Masque_de_saisie
/

Merci Pierre-Yves pour l'info, mais pourquoi on ne parvient pas à celle-ci en tapant, simplement, "masque saisie" dans le champ Recherche de la page en ligne LibreOffice Help ?

Bonjour Bernard

Bernard Ribot wrote:

Je suis comme Cédric j'avais toujours pensé que "champ masqué" voulait
dire "champ invisible"...

<BLAGUE ON>
Pourtant le choix de ce mot me paraît adéquat : Zorro masqué veut bien dire
qu'il porte un masque, pas que c'est l'homme invisible :slight_smile:
<BLAGUE OFF>

Bernard Ribot wrote:

Vous voulez dire Cédric et toi que ce genre de formatage (masque) devrait
être géré comme format interne par un SGBD ?

Non, rien à voir avec le format de stockage des données.

Actuellement il est possible de définir un format d'affichage en même temps
que la structure (même si je le déconseille).

D'où la question, pourquoi pas aussi un masque de saisie qui s'appliquerait
lors de la saisie "directe" dans la table et qui serait "hérité" dans les
formulaires dans lesquels il ne serait plus nécessaire de le définir (sauf
surcharge toujours possible bien entendu). La "saisie directe" dans la
table n'est évidemment pas... une saisie directe (physique) dans la table,
mais passe par une grille de saisie.

Bonne soirée à toi aussi (bon we peut-être même...)
Pierre-Yves

On obtient la réponse mais elle est dans la rubrique "Général" de la liste des résultats. Pas évident.

Bernard

Argument imparable

C'est tout à fait exact. Par contre, étant formateur d'ACCESS, je recommande justement de placer les masques de saisie dans la table. Comme ça lors de la génération des formulaires, il ne faut plus songer à les refaire. Par contre, "j’interdis" d'encoder directement les données dans les tables.

Hélas, Base est encore un peu faiblard vis-a-vis d'ACCESS. mais la donne pourrait changer si on avait au moins la possibilité de faire des champs calculé et des requêtes paramétrées. Impossible pour l'instant de sélectionner dans un formulaire une données pour l'envoyer via requête au report.

-- Bonne journée, Cédric.

Bon, présenté comme ça, ça me rassure. :slight_smile:

Bernard

Et aussi des requêtes INSERT, UPDATE ou DELETE (il faut passer par des macros, Pierre-Yves en sait quelque chose :-)). Si je voulais pousser plus loin je dirais qu'il manque aussi les procédures stockées et les triggers, entre autres. C'est pour ça que j'utilise surtout MySQL; Base me servant pour faire des formulaires.

Bernard

Bonjour Lucien

Lucien RUBEMPRE wrote:

pourquoi on ne parvient pas à celle-ci en tapant, simplement, "masque
saisie" dans le champ Recherche
de la page en ligne LibreOffice Help ?

L'expression recherchée est en fait "masque de saisie".

1. Si tu recherches sur "masque saisie" (avec les guillemets) cette
expression exacte ne peut être trouvée.
2. Si tu ne mets pas les guillemets tu retournes évidemment beaucoup de
"bruit".
3. Si tu recherches "masque de saisie" (l'expression exacte avec les
guillemets donc) tu as comme premier résultat: Basic/General/fr qui pointe
sur http://help.libreoffice.org/Basic/General/fr
4. Si tu appuies sur F1 lorsque le curseur est positionné en édition de
formulaire sur la propriété, la page d'aide s'ouvre directement (idem
lorsque le HelpPack-fr est installé).
5. Il est exact que l'outil de recherche du HelpPack-fr est plus performant
qui retourne moins de bruit (une dizaine de réponses) avec une recherche sur
masque saisie (sans les guillemets).

6. Euh... tout ceci n'est qu'une liste de cas de figure je ne suis pas
l'auteur de ces moteurs de recherche :slight_smile:

Cordialement
Pierre-Yves

En tous cas merci pour cette réponse claire et précise (comme je les aime) : ça ne peut qu'aider ceux qui tâtonnent encore un peu à mieux utiliser l'aide.

/Le 14/07/2011 19:30, pierre-yves samyn a écrit :
/

Bonjour,

Actuellement il est possible de définir un format d'affichage en même temps que la structure (même si je le déconseille). D'où la question, pourquoi pas aussi un masque de saisie qui s'appliquerait lors de la saisie "directe" dans la table et qui serait "hérité" dans les formulaires dans lesquels il ne serait plus nécessaire de le définir (sauf surcharge toujours possible bien entendu).

C'est tout à fait exact. Par contre, étant formateur d'ACCESS, je recommande justement de placer les masques de saisie dans la table. Comme ça lors de la génération des formulaires, il ne faut plus songer à les refaire. Par contre, "j’interdis" d'encoder directement les données dans les tables.

Comme Bernard, il me semble une hérésie de placer des formatages au niveau des tables. D'ailleurs, ni Access, ni Base de doit être utilisé comme stockage des données.
Uniquement le frontal côté client.

Hélas, Base est encore un peu faiblard vis-a-vis d'ACCESS. mais la donne pourrait changer si on avait au moins la possibilité de faire des champs calculé et des requêtes paramétrées.

Champs calculés, c'est clair que c'est cruellement un vide. Mais les requêtes paramétrées semblent fonctionner. Je me suis battue il y a quelque temps et j'avais eu des retours qui
marchaient. Je dois me remettre justement dedans ces jours ci, promis, je fais une doc avec des exemples, si j'y arrive :wink:
On pourrait ajouter, la fonction liste.column(x) tellement pratique, et surtout un assistant qui permette de créer un bouton qui ferme le formulaire ou en ouvre
un autre... sans avoir besoin d'être développeur java :wink:
Mais restons positifs, les améliorations au niveau formulaires ont été nombreuses. Donc, le reste arrivera bientôt.

Marie jo

Bonjour Marie-Jo

Marie jo Ooo wrote:

Comme Bernard, il me semble une hérésie de placer des formatages au niveau
des tables.

Et comme je l'ai déjà répondu à Bernard cela n'a jamais été évoqué :slight_smile:

Marie jo Ooo wrote:

D'ailleurs, ni Access, ni Base de doit être utilisé comme stockage des
données. Uniquement le frontal côté client.

Ce n'est pas le lieu ici d'entamer un débat autour d'Access mais je peux
t'assurer que cette assertion n'est pas justifiée.

Concernant Base, disons que je ne recommanderais qu'une utilisation
"bureautique" (type fichier d'adresses), notamment compte tenu du chargement
en mémoire de l'intégralité des données

Marie jo Ooo wrote:

Champs calculés, c'est clair que c'est cruellement un vide. Mais les
requêtes paramétrées semblent fonctionner. Je me suis battue il y a
quelque temps et j'avais eu des retours qui marchaient. Je dois me
remettre justement dedans ces jours ci, promis, je fais une doc avec des
exemples, si j'y arrive :wink:

Les requêtes paramétrées fonctionnent et il y a de la documentation :
http://wiki.documentfoundation.org/FR/FAQ/Base/115

Les calculs sont également documentés (une demi-douzaine d'entrées dans la
FAQ) :
http://wiki.documentfoundation.org/FR/FAQ/Base#Requ.C3.AAtes

Cordialement
Pierre-Yves

Bonjour,

  D'ailleurs, ni Access, ni Base de doit être utilisé comme stockage des
données. Uniquement le frontal côté client.

Ce n'est pas le lieu ici d'entamer un débat autour d'Access mais je peux
t'assurer que cette assertion n'est pas justifiée.

Ce n'est pas l'idée. De nombreuses personnes utilisent access pour des choses simples qu'il est tout à fait
possible de réaliser dans base. Il manque juste une ou 2 petites améliorations pour que l'outil soit attrayant.

Concernant Base, disons que je ne recommanderais qu'une utilisation
"bureautique" (type fichier d'adresses), notamment compte tenu du chargement
en mémoire de l'intégralité des données

Pour un fichier type adresses, Calc est très bien :wink: Je pense que Base est un excellent outils de requêtage de données,
d'interrogation de bases distantes, de saisie ou consultation de données dans les formulaires.
  Mais en effet, avec des données stockées sur un vrai serveur sbbd type postgress ou mysql.
Bref, qui mérite d'être connu et utilisé :slight_smile:

Marie jo Ooo wrote:

Champs calculés, c'est clair que c'est cruellement un vide. Mais les
requêtes paramétrées semblent fonctionner. Je me suis battue il y a
quelque temps et j'avais eu des retours qui marchaient. Je dois me
remettre justement dedans ces jours ci, promis, je fais une doc avec des
exemples, si j'y arrive :wink:

Les requêtes paramétrées fonctionnent et il y a de la documentation :
http://wiki.documentfoundation.org/FR/FAQ/Base/115

Les calculs sont également documentés (une demi-douzaine d'entrées dans la
FAQ) :
http://wiki.documentfoundation.org/FR/FAQ/Base#Requ.C3.AAtes

Merci !!

Marie jo