[execice pas facil du tout (pour moi)]

etudiante2007 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
 irem32 -
Bounjour,

Je suis une étudiante et j'ai un devoir qui me pose des problèmes, en fait je ne comprends pas tres bien le VBA et j'ai cet exercice qui me bloque depuis quelques heures:

Voici la fonction qui est sensée de me servir d'exemple:
retouner la taille moyenne des hommes adultes;

Private Function getTailleMoyHomAdulte() As Double
Dim rs-atient As DAO.Recordset
Dim requete As String
Dim nbPatient As Integer
Dim totTaille As Integer
'--- récupère dans un curseur tous les patients hommes adultes
requete = "select patient.numPatient, patient.taille from patient where patient.sexe = ‘H’ and patient.type = 1"
Set rsPatient = CurrentDb.OpenRecordset(requete)
nbPatient = 0
totTaille = 0
'--- parcourt du curseur pour traiter chaque patient et faire le cumul des tailles et compter le nombre de patient ---
While Not rsPatient.EOF
nbPatient = nbPatient + 1
totTaille = totTaille + rsPatient(“taille”)
rsVisite.MoveNext
Wend
rsVisite.Close
moyTaille = totTaille / nbPatient
getTailleMoyHomAdulte = moyTaille
End Function

Moi je dois trouver la taille de l'enfant le plus petit et le plus grand.
Merci pour vos réponses
a +
Barbara
Configuration: Windows XP
Internet Explorer 7.0

1 réponse

  1. irem32
     
    Private Function getTailleMaxEnfant() As Double
    Dim rs-atient As DAO.Recordset
    Dim requete As String
    Dim totTaille As Integer
    Dim maxTaille As Integer 'oubien...
    Dim minTaille As Integer
    '--- récupère dans un curseur tous les patients hommes adultes
    requete = "select patient.numPatient, patient.taille from patient where patient.sexe = ‘H’ and patient.type = 1"
    'modifier le patient.type pour avoir les enfants----------------
    Set rsPatient = CurrentDb.OpenRecordset(requete)
    maxTaille = 0
    '--- parcourt du curseur pour traiter chaque patient et faire le cumul des tailles et compter le nombre de patient ---
    While Not rsPatient.EOF
    if maxTaille< rsPatient(“taille”) then
    maxTaille=rsPatient(“taille”)
    end if
    rsVisite.MoveNext
    Wend
    rsVisite.Close
    getTailleMaxEnfant= maxTaille
    End Function

    et pour le min, c'est la meme chose sauf l'initialisation
    minTaille=200 (deux metres) et la comparaison

    if minTaille> rsPatient(“taille”) then
    minTaille=rsPatient(“taille”)
    end if

    Irem
    0