Creation d etat sur access 2010

Résolu/Fermé
mayar5 Messages postés 12 Date d'inscription samedi 30 mars 2013 Statut Membre Dernière intervention 25 mai 2013 - Modifié par mayar5 le 30/03/2013 à 16:35
mayar5 Messages postés 12 Date d'inscription samedi 30 mars 2013 Statut Membre Dernière intervention 25 mai 2013 - 8 avril 2013 à 18:59
bonjour,
je suis debutante avec access et vba et j ai besoin de vos aides
j ai une table students (qui est une liste d'élèves avec leurs coordonnees) et j ai une deuxieme table exam(contient tout ce qui concerne un examen avec les numeros des salle d examen)et une troisieme table exam room cantenant le numero de la salle d'examen avec la capacite de la salle.

j'aimerai creer un etat dans lequel pour un niveau d etude donnee j affiche le numero de salle d examen avec une liste d etudiant selon la capacite de la salle cad si jai une salle x avec capacite 20 eleves et une salle y avec capacite 30 je dois afficher dans un tableau
deux colonnes num-salle et id etudient dans une premiere ligne je trouve x et les 20 premier etudiants et une 2eme ligne y et les 30 eleves qui suit les 20 premier.
comment peut on faire ? des idees?
merci
A voir également:

3 réponses

castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
30 mars 2013 à 20:49
Bonjour
As tu faite les relations entre les Tables?
Ton futur etat dependra des ces relations.
0
mayar5 Messages postés 12 Date d'inscription samedi 30 mars 2013 Statut Membre Dernière intervention 25 mai 2013
30 mars 2013 à 22:35
en faite le but c'est de distribuer les etudiants sur les salles d examen selon les capacites des salles pour la salle x de capacite 20 j affiche les 20 premiers noms d etudiant de la table students. est ce que j ai besoin des relations dans ce cas?
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
Modifié par castours le 31/03/2013 à 12:06
Bonjour
Oui une relation 1 a plusieurs entre la table salle et etudients.
Ce qui veut dire on choisit une salle pour y mettre plusieurs etudiants.
Aprespar la suite tu pourras sur un etat imprimer la liste des etudiants par salle
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
Modifié par castours le 31/03/2013 à 17:35
Bonjour
Un n exemple que j'ai fait cet apre midi dans ce lien
https://www.cjoint.com/c/CCFrGVUJEWP
0
mayar5 Messages postés 12 Date d'inscription samedi 30 mars 2013 Statut Membre Dernière intervention 25 mai 2013
31 mars 2013 à 20:18
ok deja mes tables sont reliees mais comment faire pour avoir le resultat que je veux ?
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
31 mars 2013 à 23:57
L'exemple que je t'ai fait parvenir te convient il?
0
mayar5 Messages postés 12 Date d'inscription samedi 30 mars 2013 Statut Membre Dernière intervention 25 mai 2013
Modifié par mayar5 le 1/04/2013 à 10:41
merci pour votre aide mais dans mon exemple j ai un champs supplémentaire capacite-sallle dans la table salle je veux dans la forme F_salle que tu m as envoye lorsque je choisis le nom de la salle m affiche un nombre d etudiant egale a la capacite de cette salle. ainsi dans l etat le meme design qui vous m avez envoye mais selon les capacite des salles
salle A --------- 20 premier etudiants
salle B_____ les 20 qui suit (je commence l affichage a partir de 20eme etudiant)
salle C_____ les 30 qui sui(je commence l affichage a partir de 50eme etudiant)

est ce que vous pouvez m"aider ? MERCI
0
mayar5 Messages postés 12 Date d'inscription samedi 30 mars 2013 Statut Membre Dernière intervention 25 mai 2013
8 avril 2013 à 18:59
voici le code correspendant
Sub Studentlist()
Dim db As Database
Dim rsRoom As Recordset
Dim rsStudent As Recordset
Dim rsList As Recordset

Dim lngNumRoom As String
Dim lngCapacity As Long
Dim lngIndice As Long

Set db = CurrentDb
Set rsRoom = db.OpenRecordset("Room", dbOpenDynaset)
Set rsStudent = db.OpenRecordset("Students", dbOpenDynaset)
With rsRoom
rsRoom.MoveFirst
Do Until rsRoom.EOF
lngCapacity = rsRoom![Capacity]
lngNumRoom = rsRoom![NumRoom]

Debug.Print lngNumRoom, lngCapacity
Do Until lngCapacity = 0 Or rsStudent.EOF
Debug.Print , , rsStudent!StudentID
DoCmd.RunSQL "INSERT INTO StudentsList (NumRoom,StudentID)" _
& " VALUES (" & lngNumRoom & "," & rsStudent!StudentID & ")"
lngCapacity = lngCapacity - 1
rsStudent.MoveNext
Loop
rsRoom.MoveNext
Loop
End With
End Sub
0