Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/11/2011, 13h32   #1
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
Par défaut clé primaire et numéro auto

Bonjour à tous,
Voila j'ai une petite question à propos d'un champs numauto.
Donc j'ai un formulaire avec des champs "nom, prenom...ect" et je ne souahite pas l'enregistrer. Dans befor update, je fais un test pour vérifier si le champs "nom" de mon formulaire est vide si il est vide j'ai fais "me.undo" pour ne pas enregistrer voir le code ci dessous. Dans ma table je n'ai pas de nouvel enregistrement, cela fonctionne.

Le pb c'est que ma clé primaire qui est en numauto s'incrémente. Est-ce qu'il y a un moyen pour ne pas avoir cet incrément?

Code :
1
2
3
4
5
6
7
8
'test pour valider l'enregistrement
Dim ValchpNom As String
ValchpNom = Nz(Me.Nom)
 
If ValchpNom = ""  Then
'ne pas enregsitrer
Me.Undo
End If
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 13h37   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 090
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 090
Points : 11 622
Points : 11 622
Bonjour,

C'est le fonctionnement normal. Le N° auto ne doit pas être utilisé comme une donnée utilisateur donc cela ne doit pas poser de problème.

Lorsque la base est compactée le N° est remis au dernier.

Exemple le dernier visible est le 100, tu as annulé 1 enregistrement il commencera à 102 au prochain ajout, après compactage il commencera à 101.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 14h53   #3
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
merci loufab pour ta réponse,

Comment je dois utiiser le numauto? en fait c'est ma clé primaire et cela me sert de numéro client c'est quoi la bonne pratique?
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 17h36   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 090
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 090
Points : 11 622
Points : 11 622
Le NuméroAuto est un numero unique qui ne doit jamais stoker de données utilisateur. C'est un simple ID que le développeur utilise pour retrouver un enregistrement.

Pour un N° client (411...) utilise un champ numérique Long ou un champ Texte.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 22h03   #5
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
ok je vais créer mon Idutilisateur indépendant, mais comment je fais pour que le numauto de la clé primaire ne s'incrémente pas pour rien?
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 09h25   #6
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 090
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 090
Points : 11 622
Points : 11 622
Bonjour,

C'est le comportement normal du NumeroAuto. Pour ne pas avoir ce comportement il ne faut pas utiliser ce type de champ ou bien monter une usine à gaz avec table temporaire ou encore utiliser ceci :
http://arkham46.developpez.com/artic...s/msdatashape/

Cependant je ne vois pas ce qui te gène ?

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 12h41   #7
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
merci loufab,
en fait ce qui me gene c'est que le numauto s'incremente alors que je n'ai fait aucune action(enfin dans mon analyse, et c'est là que je ne comprend pas).
En réalité je pensais que le numauto s'incrémentait au moment de l'enregistrement. Or dans mon cas j'annule avec "undo" l'enregistrement et l'incrementation se fait qd même. je comprends que c'est le fonctionnement normal, mais je n'ai pas compris pourquoi cela se passe a ce moment là.
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 15h41   #8
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 090
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 090
Points : 11 622
Points : 11 622
Lorsque tu commences la saisie d'un enregistrement le numero est attribué. Même avec un undo le n° est déjà consommé.

Il n'y a rien à comprendre juste à savoir que ça fonctionne comme cela.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 09h12   #9
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
ok la c'est clair!
et est-ce qu'il y a une limitation, un risque de dépacement?
dans tous les cas c'est résolu.
merci loufab
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 09h21   #10
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 090
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 090
Points : 11 622
Points : 11 622
Bonjour,

Oui NuméroAuto est limité au type Long soit plus de 2 milliards.

cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h59.


 
 
 
 
Partenaires

Hébergement Web