1 membre
Connectés : ( personne )
- La Charte du Forum - Forum
- Problèmes Access des débutants
Sujet n° 742 |
Numerisation champ dans formulaire |
le 24/02/2015 : 11:05 par Midjo
![Anonyme Anonyme](inc/img/avatars/unknow.gif)
visiteur |
Bonjour, Dans une basse de donnée access 2000, j’ai une table « compta dépenses recettes » qui possède un champ « N° ordre » que je voudrais voir s’agrémenter d’une valeur de 1 (+1) à chaque ouverture du formulaire de saisie « compta modif dépenses ». Je pense que réaliser mon projet dans le formulaire de saisie « compta modif dépenses » je dois me positionner sur le champ « N° ordre » puis ouvrir le menu Propriétés et dans Evénement sur chargement déclarer Procédure événementielle (c’est je pense ce qu’il faut réaliser) mais je ne sais pas comment procéder, que faut il ecrire comme procédure ? Je suis à l’écoute de toutes les solutions, merci pour votre aide.CordialementMidjo |
|
|
Réponse n° 1 -------- le 24/02/2015 : 14:54 par 3Stone
![3Stone 3Stone](inc/img/avatars/ava_1/snoopy.gif)
Administrateur
|
Bonjour,
A l'ouverture du formulaire est une mauvaise idée, mais tu peux indiquer cela dans la "valeur par défaut" de cette zone de texte.
Pour cela, tu mets via les propriétés, onglet "Données" à la ligne "Valeur par défaut" : Code := DMax("[Nom du champ]" ; "[Nom de la table]") + 1
ou "Nom du champ est... le nom du champ dans la table et "Nom de la table" est bien sûr le nom de la table source.
De cette manière, lorsque tu crées un nouvel enregistrement la dernière valeur sera automatiquement incrémentée.
Cordialement, Pierre (3Stone) |
|
![Haut Haut](inc/img/general/haut.gif) |
Réponse n° 2 -------- le 25/02/2015 : 17:14 par Midjo
![Anonyme Anonyme](inc/img/avatars/unknow.gif)
visiteur |
Bonsoir Pierre,
Merci pour ta réponse mais je n’ai pas réussi à la faire fonctionner dans mon application.
Dans mon formulaire de saisie « compta modif dépenses » dans les propriétés du champ « N° auto » à la ligne Valeur par défaut j’ai utilisé la fonction MaxDom (Dmax indisponible).
=MaxDom(‘’[N° auto]’’ ;’’[Compta modif dépenses]’’+1
Le N° auto est le Nom du champ numérique que je retrouve dans le formulaire et la table Compta modif dépenses.
Après avoir sauvegardé le formulaire complété de la fonction ci-dessus, j’ouvre le formulaire de saisie Compta modif dépenses qui fait appel à une requête simple « Tri dépenses pour formulaire » qui me permet d’afficher dans ce formulaire des informations sans les avoir dans la table « Compta modif dépenses ».
A l’ouverture du formulaire de saisie, je constate que dans le champ « N° auto » il est indiqué #Nom ? et si je clic sur le bouton spécifique pour ajouter un enregistrement le message suivant apparaît « Impossible d’atteindre l’enregistrement spécifié »
J’ai sûrement loupé quelque chose, peut tu encore me venir en aide.
Cordialement
Midjo
|
|
![Haut Haut](inc/img/general/haut.gif) |
Réponse n° 4 -------- le 27/02/2015 : 17:24 par Midjo
![Anonyme Anonyme](inc/img/avatars/unknow.gif)
visiteur |
Bonsoir Pierre,
Non je n’utilise pas un champ "NuméroAuto", c’est le Nom du champ qui s’appel « N° auto » il est déclaré en en type de données numérique.
Alors ?
Cordialement
Midjo |
|
![Haut Haut](inc/img/general/haut.gif) |
Réponse n° 5 -------- le 01/03/2015 : 17:00 par 3Stone
![3Stone 3Stone](inc/img/avatars/ava_1/snoopy.gif)
Administrateur
|
Bonjour,
Par acquit de conscience, j'ai testé ce que j'avais écrit et cela fonctionne parfaitement ![smile smile](inc/img/smileys/smile.gif)
Citation :
j’ouvre le formulaire de saisie Compta modif dépenses qui fait appel à une requête simple « Tri dépenses pour formulaire » qui me permet d’afficher dans ce formulaire des informations sans les avoir dans la table « Compta modif dépenses ».
Alors, c'est opaque !
Faire une requête, c'est faisable; mais ne pas les avoir dans la table ![d d](img/smileys/confused.gif)
Es-tu certain que ce formulaire accepte la création et mise à jour d'un enregistrement ?
Citation :
je constate que dans le champ « N° auto » il est indiqué #Nom ?
Comment ??
Le fait de mettre quelque chose comme valeur par défaut ne peut produire cela !
Es-tu certain de ne pas avoir placé cela dans la source au lieu de la valeur par défaut ?
Cordialement,
Pierre (3Stone)
|
|
![Haut Haut](inc/img/general/haut.gif) |
Réponse n° 6 -------- le 02/03/2015 : 23:06 par 3Stone
![3Stone 3Stone](inc/img/avatars/ava_1/snoopy.gif)
Administrateur
|
Bonsoir,
En complément, pour éviter une erreur lorsque la table est vide, il faut traiter le "Null" renvoyé par DMax.
Cela donne alors : Code := Nz(DMax("[Nom du champ]" ; "[Nom de la table]");0) + 1
Cordialement, Pierre (3Stone) |
|
![Haut Haut](inc/img/general/haut.gif) |
![actif](inc/img/general/msg_a.gif) sujet actif
![clos](inc/img/general/msg_c.gif) sujet clos
![Important!](inc/img/general/msg_t.gif) Important!
![Nouveau](inc/img/general/msg_n.gif) Nouveau message -
![Rectifier](inc/img/general/edit.gif) Rectifier message
![Clôturer](inc/img/general/lock.gif) Clôturer sujet
![Remonter](inc/img/general/lockup.gif) Remonter
|