ACCESS Reprendre le numéro auto en cours dans un autre formulaire - VB/VBA/VBS - Programmation
Marsh Posté le 12-06-2007 à 17:20:30
Je n'ai pas de souvenir précis à ce sujet mais je dirais que la valeur affichée est encore inaccessible tant que l'enregistrement n'est pas validé.
Marsh Posté le 13-06-2007 à 07:30:44
Bonjour,
tu l'as mise à quel niveau ta commande?
J'ai testé vite fait, le N° auto est affichable (par msgbox ) après son apparition, il devrait donc suffir de placer ta commande à un endroit où elle n'est pas exécutée trop tôt.
Cordialement
Marsh Posté le 13-06-2007 à 07:53:59
seniorpapou a écrit : Bonjour, |
Je l'ai mis dans l'évènement "Sur ouverture" du formulaire qui est ouvert en cliquant sur le bouton se trouvant sur le formulaire source...
Dans ton test, est-ce que tu essaies sur le même formulaire ou sur un formulaire différent ?
Marsh Posté le 13-06-2007 à 07:59:02
les deux, j'ai fait msgbox sur clic dans des zones de texte
mais mon sous-formulaire est intégré
je testerai ta méthode tout à l'heure
Marsh Posté le 13-06-2007 à 08:03:20
C'est sympa, mes deux formulaires sont bien distinct. J'essaie juste de reprendre la données se trouvant sur l'autre formulaire. Merci
Marsh Posté le 13-06-2007 à 08:04:13
Je pense que Tegu n'a pas tout tort mais sûrement qu'il est possible de reprendre cette valeur autrement
Marsh Posté le 13-06-2007 à 08:41:54
Re,
j'ai testé de la manière suivante:
1er formulaire (d) avec des champs d'une table et N° (automatique)
nouveau record puis écriture dans un champ, donc apparition du n° non null, clic sur bouton de commande qui charge un nouveau formulaire.
Msgbox de forms!d!N° dans ce nouveau formulaire au niveau du open
le numéro affiché est bien le nouveau et n'est pas null.
Il faut chercher autre part
@+
Par contre ce n'est pas prudent d'utiliser un N° dans un autre formulaire alors qu'un Esc peut le supprimer en revenant dans le formulaire précédent.
Marsh Posté le 13-06-2007 à 09:15:31
Cela ne fonctionne pas chez moi, j'ai essayé avec une msgbox sur le 2ème formulaire et toujours le même message.
Le numéro automatique que tu utilises est bien définit dans une table et l'enregistrement n'est pas inséré dans la table lors du test? Merci encore
Marsh Posté le 13-06-2007 à 09:29:50
vite fait un mdb:
http://cjoint.com/?gnjDrqJVPo
pour voir si on parle de la même chose
Marsh Posté le 13-06-2007 à 11:33:23
Oui, on parle exactement de la même chose. Et chez toi cela fonctionne. Mon formulaire est beaucoup plus complexe avec beaucoup de données. Je vais voir en testant petit à petit quand est-ce que cela ne fonctionne plus. Merci beaucoup.
Image du prob. La base est trop grosse pour que je l'envoie :
http://cjoint.com/?gnlF3UKPlN
Marsh Posté le 12-06-2007 à 16:57:32
Bonjour,
J'ai un problème sous MS ACCESS,
j'ai un formulaire que je suis en train de remplir et celui-ci possède un champs ou j'affiche le numéro automatique venant de ma table.
Dès que je rentre une données dans mon formulaire, celui-ci prend une valeur. Il passe de (NuméroAuto) à 1 par exemple.
Depuis ce formulaire et sans passer à l'enregistrement suivant, j'ouvre un deuxième formulaire qui devrait m'afficher aussi le numréro automatique qui vient d'être incrémenter dans mon formulaire source.
J'ai donc créé un champs et en VBA, la commande MONCHAMPS.Value = Forms![ANCIENFORMULAIRE]![CHAMPSDUNUMEROAUTO]
Malheureusement, cela ne fonctionne pas, ACCESS met le message d'erreur suivant : Erreur d'execution 94 Utilisation incorrecte de Null.
Comme si mon champs était vide...
Quelqu'un a une idée ?
Merci d'avance