Afficher automatiquement un libellé

Signaler
-
Messages postés
4525
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
-
Je me permets de m'adresser à vous pour le problème suivant ; si quelqu'un avait le temps de jeter un petit coup d'oeil sur ce problème, ce serait vraiment sympa !!!

Ma feuille GestElev est composée de cinq TextBox (Numero, Nom, Prenom, Classe, LibelleClasse) et de 8 boutons (Effacer, Ajouter, Modifier, Supprimer, Liste, Suivant, Precedent, Quitter)

Problème :
Afficher automatiquement le libellé de la classe chaque fois que le numéro de la classe est modifié. Ma modification se limite à afficher le libellé de la classe qui correspond au numéro de classe ou un message lorsque ce numéro de classe n'est pas présent dans la table 'classe'.

Je rappelle le schéma relationnel de la base de données :
Eleve (Numéro, Nom, Prenom, #Classe)
Classe (Classe, LibelleClasse)

J'ai recopié le code que j'ai déjà tapé pour gérer les boutons de ma feuille GestElev :

Au niveau de la feuille GestElev :

Private Sub BT_Liste_Click()
ClefRelative = 0
If EleveCherche(ClefRelative, 1) Then
Call AfficheChamps
BT_Liste.Enabled = False
BT_Suivant.Enabled = True
BT_Precedent.Enabled = True
Else
MsgBox ("Aucun élève dans le fichier")
End If
End Sub

Private Sub BT_Ajouter_Click()
Call ValidationTransaction ("Ajouter")
En Sub

Private Sub BT_Effacer_Click()
Call EffaceChamps
Call AccesChamps (False)
End Sub

Private Sub BT_Modifier_Click()
Call ValidationTransaction ("Modifier")
End Sub

Private Sub BT_Quitter_Click()
End
End Sub

Private Sub BT_Supprimer_Click()
Call ValidationTransaction ("Supprimer")
End Sub

Private Sub Form_Load()
Set DB = OpenDatabase("c:\baseelev.mdb")
Set Tb = Db.Openrecordset("eleves", dbOpenSynaset)
Call AccesChamps (False)
Call InitialisePointeurSurBoutons
Call AfficheBoutons(False, BoutonEffacer, BoutonAjouter, BoutonModifier, BoutonSupprimer, BoutonSuivant, BoutonPrecedent)
End Sub

Private Sub Form_Unload(Cancel As Integer)
Tb.Close
Db.Close
End Sub

Private Sub TB_Numero_LostFocus()
If TB_Numero <> "" ThenCritereRecherche "Numero" & "'" &T B_Numero & "'"
Tb.FindFirst CritereRecherche
If Tb.NoMatch Then
Call AjoutEleve
Else
Call AfficheChamps
End If
End If
End Sub

Au niveau du module :

Déclarations

Public Db As Database, Tb As Recordset

Sub AccesChamps(Autorise As Boolean)
GestElev!TB_Nom.Enabled = Autorise
GestElev!TB_Prenom.Enabled = Autorise
GestElevTB_Classe.Enabled = Autorise
End Sub

Sub EffaceChamps()
GestElev!TB_Numero = ""
GestElev!TB_Nom = ""
GestElev!TB_Prenom = ""
Gestelev!TB_Classe = ""
Call AfficheBoutons(False, BoutonEffacer, BoutonAjouter, BoutonModifier, BoutonSupprimer)
GestElev!TB_Numero.SetFocus
End Sub

Sub AfficheChamps()
GestElev!TB_Numero = Tb.[Numero]
GestElev!TB_Nom = Tb.[Nom]
GestElev!TB_Prenom = Tb.[Prenom]
GestElev!TB_Classe = Tb.[Classe]
AccesChamps (True)
Call AfficheBoutons(True, BoutonEffacer, BoutonModifier, BoutonSupprimer)
End Sub

Sub AjoutEleve()
Reponse = MsgBox("Aucun élève ne correspond à ce numéro, voulez-vous le créer ?", 4)
If Reponse = vbYes Then
AccesChamps (True)
GestElev!TB_Nom.SetFocus
Call AfficheBoutons(True, BoutonEfface, BoutonAjouter)
Else
EffaceChamps
End If
End Sub

Sub AjoutArticle()
Tb.AddNew
EcritArticle
End Sub

Sub EcritArticle()
Tb.[Numero] = GestElev!TB_Numero
Tb.[Nom] = GestElev!TB_Nom
Tb.[Prenom] = GestElev!TB_Prenom
Tb.[Classe] = GestElev!TB_Classe
Tb.Update
End Sub

Sub ModificationArticle()
Tb.Edit
EcritArticle
End sub

Sub ValidationTransaction(TypeTransaction As String)
Reponse = MsgBox("Validez-vous la saisie ?", 4)
If Reponse = vbYes Then
Select Case TypeTransaction
Case "Ajouter"
Call AjoutArticle
Case "Modifier"
Call ModificationArticle
Case "Supprimer"
Call SupprimeArticle
End Select
End If
Call EffaceChamps
Call AccesChamps (False)
End Sub

Sub SupprimeArticle()
Tb.Delete
End Sub

Pourriez-vous m'aider à écrire le code permettant d'afficher automatiquement le libellé de la classe chaque fois que le numéro de la classe est modifié ?

Merci d'avance !

Cordialement,

Guillaume %-6

1 réponse

Messages postés
4525
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
9
Cette discussion a été cloturée. Veuillez lancer une nouvelle discussion si votre question est toujours d'actualite.

Merci