Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 02/12/2010, 14h44   #1
Membre du Club
 
Homme Pierre SERANT
Consultant ERP
Inscription : février 2009
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Pierre SERANT
Localisation : Belgique

Informations professionnelles :
Activité : Consultant ERP
Secteur : Industrie

Informations forums :
Inscription : février 2009
Messages : 40
Points : 44
Points : 44
Par défaut Ecart de fonctionnement en mode Débug et mode normal

Bonjour,

Je ne sais par quel bout prendre se problème.
J'ai un code tout simple :
Code :
1
2
3
4
5
 
    If Me.ForS_Nomenclatures.Form.Recordset.RecordCount > 0 Then
        Me.ForS_Nomenclatures.Form.Recalc
        Me.Niveau = 1 + Form_ForS_Nomenclatures.NivMaxi 'mise à jours du niveau de nomenclature
    End If
Il recalcule un sous-formulaire pour être sûr que le contrôle soit à jour. (source de NivMaxi =Max([NiveauCompo]).
Puis utilise cette valeur pour l'affecter au contrôle Niveau (source [Niveau]) du formulaire principal +1.

Ce code ne fonctionne pas lorsque je l'exécute en mode normal la valeur de niveau passe toujours à 1 (si je mets + 10 la valeur passe alors toujours à 10). Si j'exécute ce même code avec un point d'arrêt juste avant l'affectation de du calcul, plus de problème j'ai toujours la bonne valeur.

Ma question est donc que faut-il ajouter entre c'est deux lignes pour être certain que la valeur du control NivMax du sous-formulaire, soit disponible en lecture.
pierre.serant est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 17h13   #2
Membre du Club
 
Homme Pierre SERANT
Consultant ERP
Inscription : février 2009
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Pierre SERANT
Localisation : Belgique

Informations professionnelles :
Activité : Consultant ERP
Secteur : Industrie

Informations forums :
Inscription : février 2009
Messages : 40
Points : 44
Points : 44
Youpi

Pour ceux qui se serait intétessé à mon problème, j'ai trouvé une solution en remplacant le recalcul du sous-formulaire par un requery du controle du sous formulaire.
Code :
1
2
3
4
5
 
    If Me.ForS_Nomenclatures.Form.Recordset.RecordCount > 0 Then
        Me.ForS_Nomenclatures.Form.NivMaxi.Requery
        Me.Niveau = 1 + Form_ForS_Nomenclatures.NivMaxi 'mise à jours du niveau de nomenclature
    End If
Mais si vous avez un code qui permet de vérifier qu'une commande est bien achevé avant d'en executer une autre je suis preneur...
pierre.serant est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 17h17   #3
Membre du Club
 
Homme Pierre SERANT
Consultant ERP
Inscription : février 2009
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Pierre SERANT
Localisation : Belgique

Informations professionnelles :
Activité : Consultant ERP
Secteur : Industrie

Informations forums :
Inscription : février 2009
Messages : 40
Points : 44
Points : 44
Merci ClaudeLELOUP
j'avais testé le DoEvents mais sans résultat...
pierre.serant est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 17h28   #4
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Merci pour l'info.
__________________
Amoureuse/amoureux de la langue française ? Vous pouvez nous aider à corriger nos ressources !
ClaudeLELOUP 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 12h04.


 
 
 
 
Partenaires

Hébergement Web