Code Postal avec Paradox 9

·    Fichier des codes postaux (40200 enregistrements) ;
·    recherche incrémentale (code postal & nom de ville), par fiche autonome, facilement utilisable ;
·    exemple d'appel d'une fiche par une autre, avec retour de valeur, facilement copiable ;
·    exemple animé de saisie.

 

Présentation

Point fort : la recherche se fait aussi bien par le code que par le nom de la localité !

Les codes postaux sont ici simplifiés : pas de cedex, ni de compléments. Cela a 3 avantages : le fichier est plus propre (moins de gestion d'exceptions), cela évite un grossissement inconsidéré du fichier et enfin d'éventuelles statistiques seront plus justes.

Les arrondissements sont restés

Il y a qq cas particuliers non résolus (ex. 98700) ou qui dépassent ma compréhension (ex. 97430, 98715 ou 98718)

Les séparateurs utilisés sont :    [Espace]  '  ,   -  (  )

Tous les noms de localités sont en majuscules

J'ai essayé d'éliminer certaines abréviations :

ST ==> SAINT
STE ==> SAINTE
CX ==> CROIX
etc.

Mais il en reste qq-unes...

Certains noms me font rêver : regardez à partir du 98600...

 

Fiche TEST.fsl :

C'est un exemple de saisie, avec recherche incrémentale, et mise à jour de champs. Elle est basée sur la table TEST.db.

Le champ "Bof" ne sert que de point de départ.

Le champ invariant est un champ "interne". C'est lui qui fait la jointure avec la table CPVILLES.

Le champ code postal est modifiable, sans contrôle. En effet le code postal peut différer du code référencé (par exemple pour prendre en compte un Cedex ou un code spécial).

Le champ "Localité" est en lecture seule.

Le champ qui suit la localité est le complément ("CEDEX", "TRI", etc.)

 

La Recherche

Elle est déclenchée :

   - lorsque l'on arrive sur le champ invariant vide ;
   - lorsque l'on appuie sur <Ctrl Espace> dans le champ "Code Postal" ;
   - lorsque l'on clique sur le bouton "Forcer la Recherche".

 

La fiche de Recherche

C'est la fiche "CPVILLE2.fsl". Pour la recherche incrémentale, je n'ai pas forcé : j'ai simplement utilisé un timer (je sais : il y a mieux, mais je suis pressé, car je pars en vacances demain).

La recherche s'effectue en saisissant, dans le champ en haut à gauche, le début du critère de recherche (vous pouvez, par exemple, taper "077" comme "ANDEOL"). Il est possible d'effacer (par <Backspace>).

A chaque caractère tapé, modifié ou supprimé, le cadre en dessous est mis à jour. Tous les enregistrements correspondants sont en jaune. Les autres sont en blanc.

Le cadre de droite contient les localités qui correspondent à l'enregistrement actif (par défaut le premier jaune).

Vous pouvez changer de cadre avec la touche <F4>. Il est alors possible d'utiliser les flèches pour se déplacer. L'affichage est systématiquement mis à jour.

Pour valider, pour pouvez :
·    appuyer sur <Entrée> ;
·    double-cliquer sur le Code-postal ou sur la Localité ;
·    cliquer sur le bouton "Valider".

Pour abandonner, vous pouvez :
·    appuyer sur <Echap> ;
·    cliquer sur le bouton "Annuler".

Le résultat est renvoyé par un FormReturn( ). La chaîne retournée contient l'invariant (5 car), le code postal (5 car), le nom de la localité (la suite).

Validation et Annulation ferment la fiche.

 


Cliquer ici pour télécharger le fichier (cpostal.zip : 1,1 Mo)