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 13/04/2011, 17h38   #1
Membre à l'essai
 
Inscription : septembre 2006
Messages : 73
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 73
Points : 21
Points : 21
Par défaut "Naviguer" dans un sous formulaire

Bonjour
J'va essayer d'être clair...Un formulaire principal et un sous formulaire nommé ssfformGD

Je sélectionne dans le formulaire une référence dans une boite de dialogue qui me tri le sous formulaire.

Puis je me positionne dans le sous formulaire au premier enregistrement
je teste un des champs, s'il est nul je passe à l'enregistrement suivant, si non nul je lance une sub, puis je passe au suivant, jusqu'à avoir récupéré 5 valeurs maxi, ou lu tous les enregistrements.

j'ai le code suivant pour ma première boucle,( j'aurais au total 5 boucles identiques qui appelleront 5 sub différentes):
Code :
1
2
3
4
5
6
7
8
9
10
11
Dim stH2 As Double
stH2 = Nz(Form![ssformGD]![H2], 0)
 
Do Until stH2 > 0
    If Me.CurrentRecord < Me![ssformGD]![NbreEgt] Then
    Me.ssformGD.Form.Recordset.MoveNext
    Else
    Call Fin
    End If
Loop
Call Valeur1
après Call valeur 1, je lancerai une autre boucle qui appellera valeur2, jusqu'à 5
sauf si je n'ai pas 5 valeurs à copier

Avez vous une idée? mon code plante royalement

merci à vous
NbreEgt est le nombre d'enregistrements du sous formulaire
Dafbau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 09h39   #2
Membre éclairé
 
Homme Michel
Développeur informatique
Inscription : février 2008
Messages : 261
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : février 2008
Messages : 261
Points : 304
Points : 304
Par défaut A tout hasard

Un truc dans ce genre marcherait il ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 Dim stH2 As Double
 Dim Compteur as Integer
 Compteur=0
'Positionnement sur le premier enregistrement
 Me.ssformGD.Form.Recordset.MoveFirst
'Tant qu'on n'est pas sur le dernier enregistrement 
'ou que 5 valeurs n'ont pas été récupérées
 Do While not Me.ssformGD.Form.Recordset.EOF and Compteur < 6
   ' Récup de la valeur - renvoi de 0 si Null
    stH2 = Nz(Form![ssformGD]![H2], 0)
   'Test de la valeur récupérée
    If stH2 = 0 then 
       'Appel de la procédure si stH2 = 0
        Call Valeur1
       'Incrémenter le compteur
        Compteur=Compteur + 1
    End if
   'Enregistrement suivant à tester
    Me.ssformGD.Form.Recordset.MoveNext
 loop
Te garantis vraiment pas: pas de possiblitié pour moi de tester quoique ce soit dans l'instant... je code donc un peu au pif.
Michel
Orion34080 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 12h13   #3
Membre à l'essai
 
Inscription : septembre 2006
Messages : 73
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 73
Points : 21
Points : 21
merci de ta réponse rapide
je test, peut etre pas cet après midi et je te fais le retour
Dafbau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 09h31   #4
Membre à l'essai
 
Inscription : septembre 2006
Messages : 73
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 73
Points : 21
Points : 21
Bonjour
Je l'ai un peu adapté, et ca fonctionne super

merci à toi
Dafbau 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 02h35.


 
 
 
 
Partenaires

Hébergement Web