IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Comment contenir les étiquettes et leurs zones de textes sur l'Etat Temporaire ? [AC-2013]


Sujet :

IHM

  1. #21
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 801
    Points : 14 869
    Points
    14 869
    Par défaut
    Citation Envoyé par morobaboumar Voir le message
    Voici comment ai je fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Report_Open(Cancel As Integer)
    majLesCtrl
    End Sub
    Je ne sais plus que faire.
    Donnez moi la solution.
    Cordialement.
    pourtant, dans l'autre discussion (ici) à part votre problème de format, vous semblez avoir trouvé la solution à votre problème, non ?

  2. #22
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 129
    Points : 495
    Points
    495
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    À part votre problème de format, vous semblez avoir trouvé la solution à votre problème, non ?
    Oui c'est au niveau du format qui permet d'afficher les notes des matières au format 00,00.

  3. #23
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 129
    Points : 495
    Points
    495
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    À part votre problème de format, vous semblez avoir trouvé la solution à votre problème, non ?
    Effectivement mon problème est résolu sauf le formatage des notes comme ceci 00,00.
    Cordialement.

  4. #24
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 801
    Points : 14 869
    Points
    14 869
    Par défaut
    je donne une solution dans votre autre discussion

  5. #25
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 129
    Points : 495
    Points
    495
    Par défaut
    Salut membre du forum,
    Je reviens avec la partie des compositions des classes de l'arabe.
    Voici l'ensemble des codes de l'état "LISTE_DES_COMPOSANTS_NOTES_EVALUATIONS_AR"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    Option Compare Database
    Option Explicit
     
    Dim RstMatiere As Recordset  'Stocke le curseur
    Dim NbM As Integer
    Dim boolEstVide As Boolean
     
    Private Sub RaffraichirMatieres()
    On Error Resume Next
    Dim db As Database
    Dim strSql As String
    Set db = CurrentDb
    strSql = "select * from MATIERE_CLASSE_AR_Req where annee_scol = '" & Me.AnneeScolAR & "' and classe_arabe = '" & Me.NiveauCompositionARABE & "' and NumCompoMCAr = " & Me.TxtComposition & "and Identif_Etablis = " & Me.IdEcoleAR & "  order by CategorieMatiere asc;"
     
    Set RstMatiere = db.OpenRecordset(strSql)
     
    If RstMatiere.EOF Then
        boolEstVide = True
    Else
        boolEstVide = False
        NbMat = RstMatiere.RecordCount
    End If
    End Sub
     
    Public Sub majLesCtrl()
    On Error Resume Next
    RaffraichirMatieres
    RemplirMatiere RstMatiere.GetRows(Me.NbMat)
    End Sub
     
    Sub RemplirMatiere(Tableau_Ar As Variant)
    On Error Resume Next
    Dim i As Integer
    Dim j As Integer
    'Récupère le nombre d'enregistrements Lus
    NbM = UBound(Tableau_Ar, 2) + 1
     
    'affecte les valeurs aux zones de texte et labels
    For i = 0 To NbM - 1
        Controls("m" & i + 1).Visible = True
        Controls("n" & i + 1).Visible = True
        Controls("m" & i + 1) = LibMatiereAr(CLng(Tableau_Ar(2, i)))
        '__________________________________________________
        Controls("n" & i + 1) = LibNotesAr(Me.IdEcoleAR, _
        Me.idCompoA, _
        Me.COMPOSITION_AR, Me.AnneeScolAR, _
        Me.MleEleveAR, CLng(Tableau_Ar(2, i)))
       '___________________________________________________
    Next i
     
    'Masque les autres zones de textes et labels
        'NbM = NbM + 1
    For j = NbM + 1 To 17
        Controls("m" & j).Visible = False
        Controls("n" & j).Visible = False
        '***Controls("idM" & j).Visible = False
        Controls("m" & j) = ""
    Next j
    End Sub
     
     
    Function LibMatiereAr(idM As Integer) As String
    Dim db As Database
    Dim rst As Recordset
    Dim sql As String
    Set db = CurrentDb
    sql = "select * from Tbl_MatiereArabe where NumMatiere = " & idM & " order by CategorieMatiere asc;"
    Set rst = db.OpenRecordset(sql)
        If Not rst.EOF Then
            LibMatiereAr = UCase(rst.Fields("Matiere"))
            'LibMatiereFr = UCase((Left(Trim(rst.Fields("Matiere")), 4)))
        Else
            LibMatiereAr = ""
        End If
    End Function
     
    Private Sub EntêteGroupe0_Format(Cancel As Integer, FormatCount As Integer)
    majLesCtrl
    End Sub
     
    Private Sub EntêteGroupe0_Print(Cancel As Integer, PrintCount As Integer)
    majLesCtrl
    End Sub
     
    Private Sub EntêteGroupe0_Retreat()
    majLesCtrl
    End Sub
     
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    majLesCtrl
    End Sub
     
    Private Sub Report_Activate()
    majLesCtrl
    End Sub
     
    Private Sub Report_Open(Cancel As Integer)
    majLesCtrl
    End Sub
     
    Private Sub Report_Page()
    majLesCtrl
    End Sub
     
    Private Sub ZoneEntêtePage_Format(Cancel As Integer, FormatCount As Integer)
    majLesCtrl
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    'Ramener les notes de compositions françaises           '
    Public Function LibNotesAr(idecol As Long, idCompoAX As Long, CompoAra As Long, anscolN As String, mlelev As Long, idMatier As Long) As Double
    On Error GoTo OUMAR
    If IsNull(idecol) Then Exit Function
    If IsNull(idCompoAX) Then Exit Function
    If IsNull(CompoAra) Then Exit Function
    If IsNull(anscolN) Then Exit Function
    If IsNull(mlelev) Then Exit Function
    If IsNull(idMatier) Then Exit Function
     
    Dim bd As Database
    Dim R As Recordset
    Dim sql As String
     
    Set bd = CurrentDb
    sql = "select * from Req_INFOS_COMPOSITION_ARABE_NOTES_CLASSES_ARABE where ID_Etab = " & idecol & _
    " and idCA = " & idCompoAX & _
    " and CompoArabe = " & CompoAra & _
    " and anscol ='" & anscolN & " 'and mle_Eleve = " & mlelev & " and matiereAr = " & idMatier & ";"
    'Le code suivant permet de lever une erreur
    'qu'on peut ensuite traiter pour savoir ce qui a posé problème
    CurrentDb.Execute sql, dbFailOnError
     
    Set R = bd.OpenRecordset(sql)
    With R
        If Not .EOF Then
        LibNotesAr = .Fields("Note")
        Else
        LibNotesAr = 0
        End If
    End With
    Exit Function
    OUMAR:
        MsgBox "Erreur n° " & err.Number & vbCrLf & err.Description, vbCritical + vbOKOnly, "Une erreur est survenue"
     
    End Function
    Mais les notes ne sont pas affichées. Ni message d'erreur. Pourtant c'est le même procédé que celui des compositions françaises.
    Que dois je faire pour découvrir ce qui fait défaut ?

    Nom : EtatTemporaire_21.PNG
Affichages : 193
Taille : 30,8 Ko

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Tbl_EVALUATION_NIVEAU_SCOLAIRE_ARABE.IdEcoleAR, INFOS_COMPOSITION_ARABE.idCompoA, Tbl_EVALUATION_NIVEAU_SCOLAIRE_ARABE.AnneeScolAR, Tbl_EVALUATION_NIVEAU_SCOLAIRE_ARABE.NumInsCreleveAR, Tbl_EVALUATION_NIVEAU_SCOLAIRE_ARABE.MleEleveAR, Tbl_EVALUATION_NIVEAU_SCOLAIRE_ARABE.Nom_Prenoms_EleveComposantAR, Tbl_EVALUATION_NIVEAU_SCOLAIRE_ARABE.COMPOSITION_AR, Tbl_EVALUATION_NIVEAU_SCOLAIRE_ARABE.NiveauCompositionARABE, INFOS_COMPOSITION_ARABE.Total_Notes, INFOS_COMPOSITION_ARABE.MoyenneCompo, INFOS_COMPOSITION_ARABE.Classement, INFOS_COMPOSITION_ARABE.Appreciation
    FROM INFOS_COMPOSITION_ARABE INNER JOIN Tbl_EVALUATION_NIVEAU_SCOLAIRE_ARABE ON (INFOS_COMPOSITION_ARABE.ID_Etab = Tbl_EVALUATION_NIVEAU_SCOLAIRE_ARABE.IdEcoleAR) AND (INFOS_COMPOSITION_ARABE.anscol = Tbl_EVALUATION_NIVEAU_SCOLAIRE_ARABE.AnneeScolAR) AND (INFOS_COMPOSITION_ARABE.mle_Eleve = Tbl_EVALUATION_NIVEAU_SCOLAIRE_ARABE.MleEleveAR)
    ORDER BY INFOS_COMPOSITION_ARABE.Total_Notes DESC;
    Cordialement.

  6. #26
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 129
    Points : 495
    Points
    495
    Par défaut
    Salut membres du forum !
    Espérant trouver une suite favorable à la dernière requête du post#25, je ferme la discussion.
    A la prochaine discussion.
    Cordialement.

  7. #27
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 129
    Points : 495
    Points
    495
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    la requête est correcte, sauf que le champ matière ne peut pas exister puisque la requête la transforme en colonnes (le libellé de chaque matière devient un nom de colonne) et le champ NoteFr non plus n'existe plus puisque qu'elle devient la valeur de la colonne de chaque matière.
    Bonsoir tee_grandbois,
    observant vos explications, l'idée m'est venue de vous poser la question de savoir comment peut on écrire cela
    avec du code ?
    sauf que le champ matière ne peut pas exister puisque la requête la transforme en colonnes (le libellé de chaque matière devient un nom de colonne) et le champ NoteFr non plus n'existe plus puisque qu'elle devient la valeur de la colonne de chaque matière.
    Cordialement.

  8. #28
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 801
    Points : 14 869
    Points
    14 869
    Par défaut
    bonsoir,
    cela ne s'écrit pas, cela s'obtient car la requête transforme certaines données de la requête en colonnes.
    Un peu de lecture à propos du fonctionnement des analyses croisées et l'instruction Transform

  9. #29
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 129
    Points : 495
    Points
    495
    Par défaut
    Citation Envoyé par morobaboumar Voir le message
    Salut membre du forum,
    Je reviens avec la partie des compositions des classes de l'arabe.
    Voici l'ensemble des codes de l'état "LISTE_DES_COMPOSANTS_NOTES_EVALUATIONS_AR"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    Option Compare Database
    Option Explicit
     
    Dim RstMatiere As Recordset  'Stocke le curseur
    Dim NbM As Integer
    Dim boolEstVide As Boolean
     
    Private Sub RaffraichirMatieres()
    On Error Resume Next
    Dim db As Database
    Dim strSql As String
    Set db = CurrentDb
    strSql = "select * from MATIERE_CLASSE_AR_Req where annee_scol = '" & Me.AnneeScolAR & "' and classe_arabe = '" & Me.NiveauCompositionARABE & "' and NumCompoMCAr = " & Me.TxtComposition & "and Identif_Etablis = " & Me.IdEcoleAR & "  order by CategorieMatiere asc;"
     
    Set RstMatiere = db.OpenRecordset(strSql)
     
    If RstMatiere.EOF Then
        boolEstVide = True
    Else
        boolEstVide = False
        NbMat = RstMatiere.RecordCount
    End If
    End Sub
     
    Public Sub majLesCtrl()
    On Error Resume Next
    RaffraichirMatieres
    RemplirMatiere RstMatiere.GetRows(Me.NbMat)
    End Sub
     
    Sub RemplirMatiere(Tableau_Ar As Variant)
    On Error Resume Next
    Dim i As Integer
    Dim j As Integer
    'Récupère le nombre d'enregistrements Lus
    NbM = UBound(Tableau_Ar, 2) + 1
     
    'affecte les valeurs aux zones de texte et labels
    For i = 0 To NbM - 1
        Controls("m" & i + 1).Visible = True
        Controls("n" & i + 1).Visible = True
        Controls("m" & i + 1) = LibMatiereAr(CLng(Tableau_Ar(2, i)))
        '__________________________________________________
        Controls("n" & i + 1) = LibNotesAr(Me.IdEcoleAR, _
        Me.idCompoA, _
        Me.COMPOSITION_AR, Me.AnneeScolAR, _
        Me.MleEleveAR, CLng(Tableau_Ar(2, i)))
       '___________________________________________________
    Next i
     
    'Masque les autres zones de textes et labels
        'NbM = NbM + 1
    For j = NbM + 1 To 17
        Controls("m" & j).Visible = False
        Controls("n" & j).Visible = False
        '***Controls("idM" & j).Visible = False
        Controls("m" & j) = ""
    Next j
    End Sub
     
     
    Function LibMatiereAr(idM As Integer) As String
    Dim db As Database
    Dim rst As Recordset
    Dim sql As String
    Set db = CurrentDb
    sql = "select * from Tbl_MatiereArabe where NumMatiere = " & idM & " order by CategorieMatiere asc;"
    Set rst = db.OpenRecordset(sql)
        If Not rst.EOF Then
            LibMatiereAr = UCase(rst.Fields("Matiere"))
            'LibMatiereFr = UCase((Left(Trim(rst.Fields("Matiere")), 4)))
        Else
            LibMatiereAr = ""
        End If
    End Function
     
    Private Sub EntêteGroupe0_Format(Cancel As Integer, FormatCount As Integer)
    majLesCtrl
    End Sub
     
    Private Sub EntêteGroupe0_Print(Cancel As Integer, PrintCount As Integer)
    majLesCtrl
    End Sub
     
    Private Sub EntêteGroupe0_Retreat()
    majLesCtrl
    End Sub
     
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    majLesCtrl
    End Sub
     
    Private Sub Report_Activate()
    majLesCtrl
    End Sub
     
    Private Sub Report_Open(Cancel As Integer)
    majLesCtrl
    End Sub
     
    Private Sub Report_Page()
    majLesCtrl
    End Sub
     
    Private Sub ZoneEntêtePage_Format(Cancel As Integer, FormatCount As Integer)
    majLesCtrl
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    'Ramener les notes de compositions françaises           '
    Public Function LibNotesAr(idecol As Long, idCompoAX As Long, CompoAra As Long, anscolN As String, mlelev As Long, idMatier As Long) As Double
    On Error GoTo OUMAR
    If IsNull(idecol) Then Exit Function
    If IsNull(idCompoAX) Then Exit Function
    If IsNull(CompoAra) Then Exit Function
    If IsNull(anscolN) Then Exit Function
    If IsNull(mlelev) Then Exit Function
    If IsNull(idMatier) Then Exit Function
     
    Dim bd As Database
    Dim R As Recordset
    Dim sql As String
     
    Set bd = CurrentDb
    sql = "select * from Req_INFOS_COMPOSITION_ARABE_NOTES_CLASSES_ARABE where ID_Etab = " & idecol & _
    " and idCA = " & idCompoAX & _
    " and CompoArabe = " & CompoAra & _
    " and anscol ='" & anscolN & " 'and mle_Eleve = " & mlelev & " and matiereAr = " & idMatier & ";"
    'Le code suivant permet de lever une erreur
    'qu'on peut ensuite traiter pour savoir ce qui a posé problème
    CurrentDb.Execute sql, dbFailOnError
     
    Set R = bd.OpenRecordset(sql)
    With R
        If Not .EOF Then
        LibNotesAr = .Fields("Note")
        Else
        LibNotesAr = 0
        End If
    End With
    Exit Function
    OUMAR:
        MsgBox "Erreur n° " & err.Number & vbCrLf & err.Description, vbCritical + vbOKOnly, "Une erreur est survenue"
     
    End Function
    Mais les notes ne sont pas affichées. Ni message d'erreur. Pourtant c'est le même procédé que celui des compositions françaises.
    Que dois je faire pour découvrir ce qui fait défaut ?

    Nom : EtatTemporaire_21.PNG
Affichages : 193
Taille : 30,8 Ko

    Concernant cette partie, comment place t on ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.Execute ..., dbFailOnError
    afin de déceler les erreurs se trouvant dans les codes et ?
    Cordialement.

  10. #30
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 129
    Points : 495
    Points
    495
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    bonsoir,
    cela ne s'écrit pas, cela s'obtient car la requête transforme certaines données de la requête en colonnes.
    Un peu de lecture à propos du fonctionnement des analyses croisées et l'instruction Transform
    Merci tee_grandbois !

  11. #31
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 129
    Points : 495
    Points
    495
    Par défaut
    Salut membres du forum,
    salut tee_grandbois,
    finalement, j'ai obtenu la solution au problème posé dans mon post#29.

    Nom : EtatTemporaire_27_ErreurCorrigee.PNG
Affichages : 109
Taille : 40,1 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Option Compare Database
    Option Explicit
     
    'Ramener les notes de compositions Arabes           '
    Public Function LibNotesAr(idecol As Long, idCompoAX As Long, CompoAra As Long, anscolN As String, mlelev As Long, idMatier As Integer) As Double
    On Error GoTo OUMAR
    If IsNull(idecol) Then Exit Function
    If IsNull(idCompoAX) Then Exit Function
    If IsNull(CompoAra) Then Exit Function
    If IsNull(anscolN) Then Exit Function
    If IsNull(mlelev) Then Exit Function
    If IsNull(idMatier) Then Exit Function
     
    Dim bd As Database
    Dim R As Recordset
    Dim sql As String
     
    Set bd = CurrentDb
    sql = "select * from Req_INFOS_COMPOSITION_ARABE_NOTES_CLASSES_ARABE where ID_Etab = " & idecol & _
    " and idCA = " & idCompoAX & _
    " and CompoArabe = " & CompoAra & _
    " and anscol ='" & anscolN & " 'and mle_Eleve = " & mlelev & " and matiereAr= " & idMatier & ";"
    Set R = bd.OpenRecordset(sql)
    With R
        If Not .EOF Then
        LibNotesAr = .Fields("Note")
        Else
        LibNotesAr = 0
        End If
    End With
    Exit Function
    OUMAR:
        MsgBox "Erreur n° " & err.Number & vbCrLf & err.Description, vbCritical + vbOKOnly, "Une erreur est survenue"
     
    End Function
     
    'Ramener l'identifiant de la composition françaises des élèvrs          '
    Public Function identifiantCompoAr(idecol As Long, CompoAra As Long, anscolN As String, mlelev As Long) As Long
    Dim db As Database
    Dim rst As Recordset
    Dim sql As String
    Set db = CurrentDb
    sql = "select * from Req_INFOS_COMPOSITION_ARABE_NOTES_CLASSES_ARABE where ID_Etab = " & idecol & " and CompoArabe = " & CompoAra & " and anscol ='" & anscolN & " 'and mle_Eleve = " & mlelev & ""
    Set rst = db.OpenRecordset(sql)
        If Not rst.EOF Then
            identifiantCompoAr = UCase(rst.Fields("idCA"))
            'identifiantCompoAr = UCase((Left(Trim(rst.Fields("Matiere")), 4)))
        'Else
           ' identifiantCompoAr = ""
        End If
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    Option Compare Database
    Option Explicit
    Dim RstMatiere As Recordset  'Stocke le curseur
    Dim NbM As Integer
    Dim boolEstVide As Boolean
     
    Private Sub RaffraichirMatieres()
    On Error Resume Next
    Dim db As Database
    Dim strSql As String
    Set db = CurrentDb
     
    strSql = "select * from MATIERE_CLASSE_AR_Req where annee_scol = '" & Me.ANNEE_SCOL & "' and classe_arabe = '" & Me.ClasseArabe & "' and NumCompoMCAr = " & Me.TxtComposition & " and Identif_Etablis = " & Me.ID_ETABL_FREQ & " order by CategorieMatiere asc;"
     
    Set RstMatiere = db.OpenRecordset(strSql)
     
    If RstMatiere.EOF Then
        boolEstVide = True
    Else
        boolEstVide = False
        NbMat = RstMatiere.RecordCount
    End If
    End Sub
     
    Public Sub majLesCtrl()
    On Error Resume Next
    RaffraichirMatieres
    RemplirMatiere RstMatiere.GetRows(Me.NbMat)
    End Sub
     
    Sub RemplirMatiere(Tableau As Variant)
    On Error Resume Next
    Dim i As Integer
    Dim j As Integer
    'Récupère le nombre d'enregistrements Lus
    NbM = UBound(Tableau, 2) + 1
     
     
     
    'affecte les valeurs aux zones de texte et labels
    For i = 0 To NbM - 1
        Controls("m" & i + 1).Visible = True
        Controls("n" & i + 1).Visible = True
        Controls("m" & i + 1) = LibMatiereAr(CLng(Tableau(2, i)))
     
        '___________________________________________________
        Controls("n" & i + 1) = LibNotesAr(Me.IdEcoleAR, Me.Txt_IdCompoA, Me.TxtComposition, Me.ANNEE_SCOL, Me.MleEleveAR, CLng(Tableau(2, i)))
        '___________________________________________________
    Next i
     
    'Masque les autres zones de textes et labels
        'NbM = NbM + 1
    For j = NbM + 1 To 22
        Controls("m" & j).Visible = False
        Controls("n" & j).Visible = False
        '***Controls("idM" & j).Visible = False
        Controls("m" & j) = ""
    Next j
    End Sub
     
    Function LibMatiereAr(idM As Integer) As String
    Dim db As Database
    Dim rst As Recordset
    Dim sql As String
    Set db = CurrentDb
    sql = "select * from Tbl_MatiereArabe where NumMatiere = " & idM & " order by CategorieMatiere asc;"
    Set rst = db.OpenRecordset(sql)
        If Not rst.EOF Then
            LibMatiereAr = UCase(rst.Fields("Matiere"))
        Else
            LibMatiereAr = ""
        End If
    End Function
     
    Private Sub EntêteGroupe0_Format(Cancel As Integer, FormatCount As Integer)
    majLesCtrl
    End Sub
     
    Private Sub EntêteGroupe0_Print(Cancel As Integer, PrintCount As Integer)
    majLesCtrl
    End Sub
     
    Private Sub EntêteGroupe0_Retreat()
    majLesCtrl
    End Sub
     
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    majLesCtrl
    End Sub
     
    Private Sub Report_Activate()
    majLesCtrl
    End Sub
     
    Private Sub Report_Open(Cancel As Integer)
    majLesCtrl
    End Sub
     
    Private Sub Report_Page()
    majLesCtrl
    End Sub
     
    Private Sub ZoneEntêtePage_Format(Cancel As Integer, FormatCount As Integer)
    majLesCtrl
    End Sub
    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/03/2017, 10h23
  2. [AC-2010] Comment placer l'étiquette dans la zone de texte ?
    Par Sefrou dans le forum IHM
    Réponses: 3
    Dernier message: 09/05/2011, 15h41
  3. Réponses: 3
    Dernier message: 22/03/2006, 09h47
  4. Comment afficher les toolTipText dans une zone de statut ?
    Par nicok01 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 28/01/2005, 13h32
  5. Réponses: 4
    Dernier message: 13/12/2004, 20h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo