Ajout de caractères dans champs table ACCESS

Fermé
Frédéric - 28 mai 2004 à 17:53
blux Messages postés 26613 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 21 janvier 2025 - 2 juin 2004 à 11:35
Bonjour le forum,

Je voudrais ajouter les enregistrements du champ "Matricule" d'une table ACCESS autant de "0" nécessaire pour que la longueur du champ qui est initialement à 5 soit à 8 caractères.
Par la suite je voudrais vérifier la présence chaque enregistrement du champ cette table dans une autre table de la base qui possède aussi le champ matricule.

Merci pour votre aide

Frédéric
A voir également:

5 réponses

kubito Messages postés 315 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 12 avril 2013 12
28 mai 2004 à 20:06
slt,

je pense que tu peux faire un masque de saisie dans les propriétes de ton champs. Jette un coup d'oeil egalement au format de ton champ.
Bon courage

bye

_______________________________
SCV ready to go sir
0
Bonjour Kubito,

Merci pour ta réponse mais quand est -il pour la recherche des enregistrements dans une deuxième table ?
0
kubito Messages postés 315 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 12 avril 2013 12
29 mai 2004 à 17:33
fred,

pourrais repeter cette histoire de matrcule ; je ne comprends pas tres bien ta question. Merci

bye

_______________________________
SCV ready to go sir
0
Frédéric > kubito Messages postés 315 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 12 avril 2013
29 mai 2004 à 17:51
Re-bonjour Kubito,

J'ai une base de données ACCESS qui contient deux tables.
Dans la première table, il y a trois champs :
- code Matricule (longueur : 5; Numérique)
- nom (longueur : 20 ; Texte)
- prenom (longueur : 20 ; Texte)

dans la deuxième table, j'ai la même structure avec comme différence la longueur du premier champ qui est 8 caractères

Je souhaite faire deux choses:

1-/ Après avoir modifier (numérique ==> Texte) le type du champ code Matricule de la 1ère table, ajouter autant de "0" à chaque enregistrement pour atteindre une longueur de 8 caractères.

2-/ Créer un 4ème champs dans la première table intitulé "Recherche" et ayant les valeurs soit "VRAI" si le matricule de l'enregistrement existe dans la deuxième table, soit "FAUX" s'il n'y est pas.

Merci

Frédéric
0
kubito Messages postés 315 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 12 avril 2013 12
29 mai 2004 à 17:57
OK.

Dans la 2ème table, le champs matricume est numerique de taille 8. OK ? Au fait pourkoi la taille passe de 5 à 8 ?
Secundo, as tu des notions de programmation VB car apparemment, on va en avoir besoin.

_______________________________
SCV ready to go sir
0
Kubito,

On passe de 5 à 8 caractères parce que tout simplement la code matricule a été modifié pour permettre avoir plus d'enregistrement dans la table.

Je me disais que la programmation en VBA serait certainement nécessaire. J'ai quelques notions de VB sous EXCEL mais je suis une bille sous VBA / ACCESS.

Fred
0
Bonjour,

Je n'ai toujours pas eu de solution à mon problème. Si d'aventure quelqun a une idée de solution, je suis preneur.

Merci

Fred
0
Salut,
jettes un oeil sur la fonction convert
'si elle existe sous Access)

et fais un truc du style

insert into table2
select convert('char' , convert('int', champs5), 8)

<<pas sûr que ça marche ...>>
0
Bonjour Marvinrouge,

Merci pour ton idée, mais désolé, cela ne résout pas mon problème qui est en fait pour chaque enregistrement du champ "MATRICULE" de rajouter autant de "0 (zéro)" pour atteindre une longueur de 8 caractères.

Merci quand même

Fred
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kubito Messages postés 315 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 12 avril 2013 12
1 juin 2004 à 19:20
slt,

dis moi, tes matrivules de base ont tous le meme nombre de chiffre ?

_______________________________
SCV ready to go sir
0
Salut,

Le format initial du champ matricule étant "numérique", les données de ce champ n'ont pas tous la même longueur par contre la longueur du champ étant 5, il n'y a pas de valeur >= à 100000.

Merci

Fred
0
blux Messages postés 26613 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 21 janvier 2025 3 326
2 juin 2004 à 11:35
Salut,

dans ACCESS, les données sont stockées sous leur forme normale, il n'est pas possible de définir un champ numérique de 5 car, seul l'affichage qu'on peut en faire dans un formulaire peut limiter le nombre visible.

Je te conseillerais de passer ton champ en "texte".

Mais si tu ne veux pas, il te faudra passer par des requêtes intermédiaires : multiplication par 100000000, puis découpage du champ par la fonction left pour ne prendre que les n premiers...

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0