Bon Ok
Donc il va falloir avoir recours au SQL :
- pour récupérer le nom des candidats
- Pour récupérer les notes de chaque candidats
L'entrée des données dans ton MSFlexGrid devra donc se faire à la main en lisant les résultats et en les insérant dans le Grid.
Je ne vais pas te donner de code (parce que c'est carrément un projet), il existe beaucoup de sources qui parlent de DB sur le site, mais voici les orientations :
-1- Connexion à ta DB :
Ca je pense que tu a déjà fait. Supposons qu'elle s'appelle gCN.
-2- Pour interroger la DB :
Créer un RecordSet :
Dim rs As New ADODB.RecordSet rs.CursorLocation = adUseClient |
Un RecordSet est une sorte de tableau de données rempli par les requètes SQL.
-3- Composer la requète SQL :
Le SQL est un langage particulier qui permet d'interroger les tables :
Dim SQL As String SQL = "Select Nom From TableCandidats" rs.Open SQL, gCN, adOpenStatic, adLockReadOnly |
-4- Dépouillement des résultats :
Pour lire chaque ligne du RecordSet (composée des champs que tu as demandé) :
rs.MoveFirst Do While Not rs.EOF Debug.Print rs!Nom rs.MoveNext Loop |
Bien sûr, à la place du Debug.Print, tu mets le code qui écrira dans la grille, comme :
| Grid.TextMatrix(x, y) = rs!Nom |
où x et y représentent les lignes et colonnes de l'endroit où tu veux écrire
-5- Une fois que tu as les noms et qu'ils sont dans la grille, il va falloir interroger la DB pour récupérer les notes.
Donc, pour chaque nom récupéré dans la première partie, il va falloir faire une boucle et questionner la DB :
Dim SQL As String SQL = "Select NoteMath, NoteFrancais From TableNotes " & _ " Where Nom = '" & LeNom & "'" rs.Open SQL, gCN, adOpenStatic, adLockReadOnly |
et refaire un dépouillement des résultats pour les ranger dans le Grid comme en -4-
Bien sûr, LeNom sera la variable dans laquelle tu auras rangé le nom du candidat.
Je m'arrête là, mais tu as du boulot !
Vala
Jack
NB : Je ne répondrais pas aux messages privés