OVH Cloud OVH Cloud

Formulaire continu mise en forme d'un seul enregistrement

4 réponses
Avatar
julien
Bonjour,

Après plusieurs recherches, je n'ai toujours pas trouvé de solution à mon
pbm.
Description :

Je voudrais dans un formulaire continu que le champ Boite23 passe visible
quand le champ N°_Etat a une valeur egale à 4,5 et 6 sinon il doit passer
invisible.
Voici ce que j'ai mis dans le Form_Current.

Code:
Form_Current()

Select Case Me.N°_Etat
Case 4, 5, 6
Me.DateLimite.Enabled = True
Me.Boîte23.BackColor = 10

Case Else
Me.DateLimite.Enabled = False
Me.Boîte23.BackColor = 255
End Select

end sub


Le pbm c'est que le lorsque je selectionne l'enregistrement 1 de mon
formulaire Toutes les "Boite23" changent d'état en même temps en fonction de
la valeur de N°_Etat de l'enregistrement 1. Même chose si je selectionne
l'enregistrement 2 ...

Comment faire donc pour que les modif ne soient appliquées qu'a un seul
enregistrement du formulaire ?
Petite précision : je suis sous Access 97

Merci,
Julien

4 réponses

Avatar
Daniel Carollo
Bonjour Julien!

Il n'est pas possible de faire un formattage de chaque enregistrement
independamment dans une formulaire en mode continu avec Access 97.

Ceci dit, il y a quelques combines que nous sommes plusieurs a avoir
utilisees a l'epoque pour pallier a cette carence. Il s'agit de creer un
champ supplementaire dans la requete sous-jascente au formulaire en
question. Ce champ est reduit a une expression binaire (Oui/Non), dans votre
cas, une fonction pourrait facilement faire l'evaluation qui correspond aux
valeurs dans No_Etat.
Un champ de texte est ajoute avec un fond transparent, la couleur de devant
voulue (rouge par exemple). Ce champ contient une suite de characteres qui
remplit bien le champ en entier, il faut choisir la police de caracteres
"qui va bien", et le caractere au dessus de 128.
La source de donnees du champ de texte est une fonction basee sur le champ
supplementaire: =IIF(ChampSupp, "", "UUUUU") ce qui a l'ecrant donne
l'impression d'avoir un rectangle rouge ou non, suivant la valeur du champ
de depart. Il suffit d'utiliser ce champ a l'arriere d'un controle de texte
avec un fond tranparent pour obtenir un effet de changement d'aspect pour
chaque enregistrement.

Des descriptions plus detaillees sont disponibles un peu partout sur le
ouaibe, Google devrait vous permettre de les retrouver.

Bonne continuation.

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"julien" wrote in message
news:40228baf$0$282$
Bonjour,

Après plusieurs recherches, je n'ai toujours pas trouvé de solution à mon
pbm.
Description :

Je voudrais dans un formulaire continu que le champ Boite23 passe visible
quand le champ N°_Etat a une valeur egale à 4,5 et 6 sinon il doit passer
invisible.
Voici ce que j'ai mis dans le Form_Current.

Code:
Form_Current()

Select Case Me.N°_Etat
Case 4, 5, 6
Me.DateLimite.Enabled = True
Me.Boîte23.BackColor = 10

Case Else
Me.DateLimite.Enabled = False
Me.Boîte23.BackColor = 255
End Select

end sub


Le pbm c'est que le lorsque je selectionne l'enregistrement 1 de mon
formulaire Toutes les "Boite23" changent d'état en même temps en fonction
de

la valeur de N°_Etat de l'enregistrement 1. Même chose si je selectionne
l'enregistrement 2 ...

Comment faire donc pour que les modif ne soient appliquées qu'a un seul
enregistrement du formulaire ?
Petite précision : je suis sous Access 97

Merci,
Julien




Avatar
Jean-claude
If.(me.champ=4.6) or (me.champ=6) then
Me.boite23.visibleúlse
else
Me.boite23.visible=true
end if
ou le contraire

"julien" a écrit dans le message de news:
40228baf$0$282$
Bonjour,

Après plusieurs recherches, je n'ai toujours pas trouvé de solution à mon
pbm.
Description :

Je voudrais dans un formulaire continu que le champ Boite23 passe visible
quand le champ N°_Etat a une valeur egale à 4,5 et 6 sinon il doit passer
invisible.
Voici ce que j'ai mis dans le Form_Current.

Code:
Form_Current()

Select Case Me.N°_Etat
Case 4, 5, 6
Me.DateLimite.Enabled = True
Me.Boîte23.BackColor = 10

Case Else
Me.DateLimite.Enabled = False
Me.Boîte23.BackColor = 255
End Select

end sub


Le pbm c'est que le lorsque je selectionne l'enregistrement 1 de mon
formulaire Toutes les "Boite23" changent d'état en même temps en fonction
de

la valeur de N°_Etat de l'enregistrement 1. Même chose si je selectionne
l'enregistrement 2 ...

Comment faire donc pour que les modif ne soient appliquées qu'a un seul
enregistrement du formulaire ?
Petite précision : je suis sous Access 97

Merci,
Julien




Avatar
julien
Bonjour,

Merci de la réponse mais je ne voit pas la différence avec ce que j'ai fait.
Pouvez-vous réxpliquer ?

Merci
"Jean-claude" a écrit dans le message de
news:40235f78$0$28114$
If.(me.champ=4.6) or (me.champ=6) then
Me.boite23.visibleúlse
else
Me.boite23.visible=true
end if
ou le contraire

"julien" a écrit dans le message de news:
40228baf$0$282$
Bonjour,

Après plusieurs recherches, je n'ai toujours pas trouvé de solution à
mon


pbm.
Description :

Je voudrais dans un formulaire continu que le champ Boite23 passe
visible


quand le champ N°_Etat a une valeur egale à 4,5 et 6 sinon il doit
passer


invisible.
Voici ce que j'ai mis dans le Form_Current.

Code:
Form_Current()

Select Case Me.N°_Etat
Case 4, 5, 6
Me.DateLimite.Enabled = True
Me.Boîte23.BackColor = 10

Case Else
Me.DateLimite.Enabled = False
Me.Boîte23.BackColor = 255
End Select

end sub


Le pbm c'est que le lorsque je selectionne l'enregistrement 1 de mon
formulaire Toutes les "Boite23" changent d'état en même temps en
fonction


de
la valeur de N°_Etat de l'enregistrement 1. Même chose si je selectionne
l'enregistrement 2 ...

Comment faire donc pour que les modif ne soient appliquées qu'a un seul
enregistrement du formulaire ?
Petite précision : je suis sous Access 97

Merci,
Julien








Avatar
julien
Merci pour cette réponse.

Je suis arrivé à m'en sortir en fait je ne suis pas arrivé à faire :
La source de donnees du champ de texte est une fonction basee sur le champ
supplementaire: =IIF(ChampSupp, "", "UUUUU")
mais je m'en suis sorti en faisant

Function MAJ(a As Integer) As String
If a = 1 Then
MAJ = "UN"
Else
MAJ = ""

End If
End Function

dans un module VB puis en mettant dans ma requête : Expr2: MAJ([N°_etat])
Merci de m'avoir enlevé cette épine du pied !

Par contre je n'ai pas trouvé le moyen de passer un autre champ en visible true ou false.
Mais bon je vais me débrouiller comme cela.

Cordialement,
Julien


"Daniel Carollo" a écrit dans le
message de news:%
Bonjour Julien!

Il n'est pas possible de faire un formattage de chaque enregistrement
independamment dans une formulaire en mode continu avec Access 97.

Ceci dit, il y a quelques combines que nous sommes plusieurs a avoir
utilisees a l'epoque pour pallier a cette carence. Il s'agit de creer un
champ supplementaire dans la requete sous-jascente au formulaire en
question. Ce champ est reduit a une expression binaire (Oui/Non), dans
votre

cas, une fonction pourrait facilement faire l'evaluation qui correspond
aux

valeurs dans No_Etat.
Un champ de texte est ajoute avec un fond transparent, la couleur de
devant

voulue (rouge par exemple). Ce champ contient une suite de characteres qui
remplit bien le champ en entier, il faut choisir la police de caracteres
"qui va bien", et le caractere au dessus de 128.
La source de donnees du champ de texte est une fonction basee sur le champ
supplementaire: =IIF(ChampSupp, "", "UUUUU") ce qui a l'ecrant donne
l'impression d'avoir un rectangle rouge ou non, suivant la valeur du champ
de depart. Il suffit d'utiliser ce champ a l'arriere d'un controle de
texte

avec un fond tranparent pour obtenir un effet de changement d'aspect pour
chaque enregistrement.

Des descriptions plus detaillees sont disponibles un peu partout sur le
ouaibe, Google devrait vous permettre de les retrouver.

Bonne continuation.

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"julien" wrote in message
news:40228baf$0$282$
Bonjour,

Après plusieurs recherches, je n'ai toujours pas trouvé de solution à
mon


pbm.
Description :

Je voudrais dans un formulaire continu que le champ Boite23 passe
visible


quand le champ N°_Etat a une valeur egale à 4,5 et 6 sinon il doit
passer


invisible.
Voici ce que j'ai mis dans le Form_Current.

Code:
Form_Current()

Select Case Me.N°_Etat
Case 4, 5, 6
Me.DateLimite.Enabled = True
Me.Boîte23.BackColor = 10

Case Else
Me.DateLimite.Enabled = False
Me.Boîte23.BackColor = 255
End Select

end sub


Le pbm c'est que le lorsque je selectionne l'enregistrement 1 de mon
formulaire Toutes les "Boite23" changent d'état en même temps en
fonction


de
la valeur de N°_Etat de l'enregistrement 1. Même chose si je selectionne
l'enregistrement 2 ...

Comment faire donc pour que les modif ne soient appliquées qu'a un seul
enregistrement du formulaire ?
Petite précision : je suis sous Access 97

Merci,
Julien