[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Problèmes Access des débutants - Problèmes Access des débutants


clos par 3Stone le 11/05/2015 : 18:05  Sujet n° 742  Numerisation champ dans formulaire

le 24/02/2015 : 11:05
par Midjo

Anonyme

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
Ecrire à Midjo  sujet clos  Haut

[]   

Réponse n° 1
--------
le 24/02/2015 : 14:54
par 3Stone

3Stone

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)
  clos par 3Stone le 11/05/2015 : 18:05  Haut
Réponse n° 2
--------
le 25/02/2015 : 17:14
par Midjo

Anonyme

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

  clos par 3Stone le 11/05/2015 : 18:05  Haut
Réponse n° 3
--------
le 27/02/2015 : 14:44
par 3Stone

3Stone

Administrateur

Bonjour,
 
Citation :

dans les propriétés du champ « N° auto »

 
Tu veux dire que tu utilise un champ qui est de type "NuméroAuto" ?

Si c'est le cas, tu ne peux évidement pas lui faire afficher autre chose, car le propre d'un champ numérique de type "NuméroAuto", c'est qui génère automatiquement le numéro suivant (et libre) lors de la création de l'enregistrement.

Où alors... ?

Cordialement,
Pierre (3Stone)
  clos par 3Stone le 11/05/2015 : 18:05  Haut
Réponse n° 4
--------
le 27/02/2015 : 17:24
par Midjo

Anonyme

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
  clos par 3Stone le 11/05/2015 : 18:05  Haut
Réponse n° 5
--------
le 01/03/2015 : 17:00
par 3Stone

3Stone

Administrateur

Bonjour,

Par acquit de conscience, j'ai testé ce que j'avais écrit et cela fonctionne parfaitement smile
 

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
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)

  clos par 3Stone le 11/05/2015 : 18:05  Haut
Réponse n° 6
--------
le 02/03/2015 : 23:06
par 3Stone

3Stone

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)
  clos par 3Stone le 11/05/2015 : 18:05  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut