|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Futur Membre du Club
![]() Inscription : avril 2009 Messages : 81 ![]() |
Bonsoir,
J'utilise une base de donnée Access pour gérer un stock. J'ai un tableau de grilles de crible et un tableau de d'intervention appeler "tbMouvementGrille" avec un numéro de grille, une date de début et une date de fin (je lui affecte par défaut 31/12/9999 comme valeur pour un état en cour) comme champs. J'ai un formulaire qui me permet d'enregistrer les interventions sur mes grilles. Pour ce faire, j'ai un premier formulaire dans lequel j'ai une liste de toutes mes grilles en service et un deuxième formulaire qui s'affiche une fois la grille sélectionnée pour créer un nouvelle état (en service, stock, HS, etc.). Lorsque je choisi une grille, je souhaite affecter une nouvelle date de fin à l'enregistrement précédent de la grille, c'est à dire passer de 31/12/9999 à la date de l'intervention et créer un nouvel enregistrement. J'ai le code suivant sur mon premier formulaire : Code :
Code :
avec le débogage qui me surligne la ligne suivante dans le code du deuxième formulaire mais j'arrive pas trop à comprendre pourquoi. Auriez-vous une idée d'ou pourrai venir le problème ? Merci d'avance Sébastien |
||||
|
|
00
|
|
|
#2 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 462 ![]() |
Essaye de déplacer ton code dans l'événement Au Chargement (On load).
Le ne sert :a rien car si tu es déjà là c'est que Me.OpenArgs est différent de "GotoNew" sinon tu n'y serais pas. Un dernier point, les Nulls sont un peu pénibles. Une comparaison entre un null et n'importe quoi donne Null et il n'est pas touours évident de savoir ce que le code va faire avec cela. Si tu t'attends a avoir un Null il est plus prudent de traiter le null séparément. Par exemple : Code :
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 |
|
Futur Membre du Club
![]() Inscription : avril 2009 Messages : 81 ![]() |
Merci marot_r pour ta réponse,
j'ai essayé ta proposition mais j'ai toujours le même problème qui s'affiche. J'ai toujours le même message d'erreur avec le débogage sur la même ligne. Je ne comprends vraiment pas d'ou peut venir le problème. |
|
|
00
|
|
|
#4 | ||
|
Futur Membre du Club
![]() Inscription : avril 2009 Messages : 81 ![]() |
Bonjour,
J'ai repris une ancienne version de ma base de donnée qui fonctionnait et j'ai copié le formulaire qui me posait problème et je n'ai plus le message qui apparaît mais j'ai toujours un problème au niveau de la modification de mes enregistrements. Au lieu de modifier la date de fin comme le programme devrait le faire, la date de fin reste inchangée (31/12/9999), j'ai donc deux ou plusieurs enregistrements de la même grille avec comme date de fin 31/12/9999. Voilà le code du deuxième formulaire qui fonctionne maintenant (c'est le même à priori, je pense que le problème devait venir d'un mauvais format de cellule ...) : Code :
|
||
|
|
00
|
|
|
#5 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 462 ![]() |
Quel code utilises-tu pour la mise à jour ?
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 | ||
|
Futur Membre du Club
![]() Inscription : avril 2009 Messages : 81 ![]() |
Salut,
j'utilise le code suivant pour mettre à jour ma base de donnée "tbintervention" Code :
|
||
|
|
00
|
|
|
#7 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 462 ![]() |
As-tu vérifié que les données n'étaient pas mise à jour ?
Il se peut que l'affichage ne change pas mais que tes données soient bien modifiées. 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
|
|
|
#8 |
|
Futur Membre du Club
![]() Inscription : avril 2009 Messages : 81 ![]() |
Bonjour marot_r,
je viens de faire l'essai et le mise à jour ne se fait pas comme elle devrait se faire, voici un exemple des enregistrements que je viens d'essayer : idMouvement//Grille// MarquageGrille// TypeEtat// DateDebutEtat// DateFinEtat// Personnel// Affectation// Commentaire// idPrecedenteInterv 30// C035M13N-1// Montée// 08/02/2011// 31/12/9999// EMPLOYE1// C111// // 4. 32// C035M13N-1// HS// 09/02/2011// 31/12/9999// EMPLOYE1// HS// 30. La date soulignée aurai du être remplacée par 09/02/2011. Y a vraiment un truc qui m'échappe là. A+ Seb |
|
|
00
|
|
|
#9 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 462 ![]() |
Mets un point d'arret sur le Private Sub MAJ_MouvementPrecedent (Tu cliques dans la marge à gauche de l'instruction et cela va mettre un gros point marron.)
L'éxécution va s'arréter là et passer en mode débug, et tu vas pouvoir voir le code s'exécuter en appuyant sur la touche [F8]. Probalement que numMouvementPrecedent est null mais je ne vois pas pourquoi. 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 |
|
Futur Membre du Club
![]() Inscription : avril 2009 Messages : 81 ![]() |
Bonsoir marot_r,
je viens d'effectuer ta méthode d'exécution du programme pas à pas et je ne vois pas ce qui cloche. numMouvementPrecedent prend bien la bonne valeur par contre y'a un truc qui me turlupine. Il me semble qu'on n'emploi pas le numMouvementPrecedent dans le Sub MAJ_MouvementPrecedent. On affecte juste sa valeur mais après je ne vois pas ou on lui dit "va chercher l'enregistrement du numéro numMouvementPrecedent pour changer la valeur du champs [DateFinEtat]". J'ai été aidé pour cette partie du code car je ne maîtrise pas du tout la partie dao. Aurai-je oublié quelque chose ? Seb |
|
|
00
|
|
|
#11 | ||
|
Futur Membre du Club
![]() Inscription : avril 2009 Messages : 81 ![]() |
Bonjour,
J'ai essayé de modifier mon code avec une autre approche : Code :
Lorsque je passe la souris sur cette ligne en mode debug, il me met le message suivant : r![DateFinEtat] = < Élément non trouvé dans cette collection.> Je vois pas d'où ça pourrait venir. Je vais me pencher dessus. A+ Seb |
||
|
|
00
|
|
|
#12 | |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 462 ![]() |
Citation:
Code :
r.findfirst("[NomTonChampNumero]=" & numMouvementPrecedent) 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
|
|
|
#13 |
|
Futur Membre du Club
![]() Inscription : avril 2009 Messages : 81 ![]() |
Merci marot_r
j'ai essayé plusieurs solutions mais j'avais pas mis la bonne syntaxe. En tout cas, maintenant ça marche nickel. Heureusement que tu traînais dans le coin Merci Seb |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com