1 seul type dans un # d'inventaire (case à cocher)

Le
Macgiver
Bonjour, j'ai un sous-formulaire qui me donne comme info un # de sac ainsi
que la sorte d'épice de ce sac, dans mon formulaire parent, j'ai un #
d'inventaire qui est donnée par l'usager et qui ne se répète jamais, dans
lequel je peux donc cocher les sacs pour ce # d'inventaire.On comprend ici
que le lien entre les 2 formulaires est le # d'inventaire. Ce que je veux
faire c'est que si l'usager, par innatention, coche des sacs qui n'ont pas
la même épices, un message s'affiche pour l'avertir que c'est impossible de
mélanger des sac d'épice différents dans un même # d'inventaire.

Voici mon formulaire:

#inventaire
105

sacs epices case à cocher
1 thym x
2 thym x
3 canelle
4 poivre
5 canelle

pouvez-vous me donner un coup de main sur ce problème?

merci beaucoup
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #21023061
Salut,

Macgiver wrote:
Bonjour, j'ai un sous-formulaire qui me donne comme info un # de sac
ainsi que la sorte d'épice de ce sac, dans mon formulaire parent,
j'ai un # d'inventaire qui est donnée par l'usager et qui ne se
répète jamais, dans lequel je peux donc cocher les sacs pour ce #
d'inventaire.On comprend ici que le lien entre les 2 formulaires est
le # d'inventaire. Ce que je veux faire c'est que si l'usager, par
innatention, coche des sacs qui n'ont pas la même épices, un message
s'affiche pour l'avertir que c'est impossible de mélanger des sac
d'épice différents dans un même # d'inventaire.

Voici mon formulaire:

#inventaire
105

sacs epices case à cocher
1 thym x
2 thym x
3 canelle
4 poivre
5 canelle

pouvez-vous me donner un coup de main sur ce problème?




Si le champ de la case à cocher se nomme "CaC" et le
champ épices se nomme "Epices" :

Tu places sur "Avant mise à jour" le code suivant en adaptant
les noms là ou j'ai placé un "(<= adapter)"


Private Sub CaC_BeforeUpdate(Cancel As Integer)
Dim iRecord As Integer
Dim iLoop As Integer

Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone

If rs.RecordCount > 0 Then
iRecord = rs.RecordCount
rs.MoveFirst
For iLoop = 1 To iRecord
If rs!CaC = True Then '(<= adapter)
If Me!Epices <> rs!Epices Then '(<= adapter)
MsgBox "Pas d'épices différentes!"
Cancel = True
Me.Undo
Exit For
End If
End If
rs.MoveNext
Next
End If
End Sub


On peut faire plus court, mais moins lisible ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Publicité
Poster une réponse
Anonyme