|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() |
Bonjour
j'explique mon problème : j'ai supprimé toutes les champs de mes tables et j'ai compacté ma base de donnée. après, j'ai lancé mon projet et je voulais ajouter un client. bon j'ai remplis les champs du Formulaire et quand j'ai basculé vers le sous formulaire pour remplir la commande de client,j'ai eu un message d'erreur : "Un index ou une clé principale ne peut pas contenir une valeur Null" PS : j'ai un champ (Numfacture) sur ce formulaire au format numérique de style (20110001) qui remet a zero chaque debut d'anné, je pense que le problème est la!!! |
|
|
00
|
|
|
#2 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 462 ![]() |
Je ne pense pas que le compactage soit le coupable, plutôt le vidage de table.
Regarde la source de données de ton formulaire et vérifie que tu entres bien des données dans le ou les champs qui composent ta ou tes clefs primaires et tes indexs uniques. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#3 |
![]() ![]() |
Bonjour
Regardes également dans ton code s'il n'y a pas incrémentation d'un champ (de type numéro de facture) qui soit programmé par VBA. En effet, lorsque tu veux faire l'incrément et que la table est vide il arrive que l'on ait ce genre d'erreurs, car on veut prendre pour référence un enregistrement qui n'existe pas. Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() |
Oui j'ai une incrémentation de (numéro de facture), c'est ici l'erreur, parce que j'ai remplis le champ NumFacture manuellement dans ma table et j'ai plus l'erreur.
Mais, ce n'est pas une solution, parce que j'ai juste essayé de remplir ce champ pour savoir s'il provoque l'erreur ou pas. Alors dois-je faire quoi? est ce qu'il faut changer le type de ce champ? |
|
|
00
|
|
|
#5 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 462 ![]() |
Peux-tu poster le code qui fait l'incrémentation ?
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#6 | ||
|
Nouveau Membre du Club
![]() |
Voila le code :
Code :
Et je fait appel à cette fonction dans la propriété "valeur par défaut" de mon champ (NumFacture). Donc si je vide mes tables, le champ (NumFacture)n'incrémente pas? |
||
|
|
00
|
|
|
#7 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 462 ![]() |
Code :
Et si tu as plusieurs utilisateurs qui peuvent générer des factures en même temps alors ton code risque de retourner deux fois le même numéro de facture. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||
|
|
10
|
|
|
#8 | |
![]() ![]() |
Re
Citation:
La fonction NZ que t'indique marot_r est une bonne réponse à ce genre de problème.Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
|
|
|
00
|
|
|
#9 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 462 ![]() |
Salut à toi Philippe :-).
Un point avec NZ() ne pas l'utiliser avec un nombre décimal car parfois elle tronque les décimales !!! Par exemple : 10.5 devient 10 ... pas cool. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#10 | |
|
Nouveau Membre du Club
![]() |
Je viens d'essayé ce que t'as proposé et ça marche bien
Citation:
|
|
|
|
00
|
|
|
#11 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 462 ![]() |
Je parlais de DLast() vs DMax(), j'avais utilisé DLast() au lieu de DMax() et cela m'a pris du temps avant de découvrir mon erreur. Avec DMax() ça marche tout le temps, avec DLast() ça marche si tu as de la chance.
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#12 |
|
Nouveau Membre du Club
![]() |
Ah d'accord,
Désolé marot_r j'ai pas vu ta réponse Merci |
|
|
00
|
|
|
#13 |
|
Nouveau Membre du Club
![]() |
Merci a toi aussi Philippe
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com