Peut-on programmer un état ?

Le
ProgrammationDonnacona
Dans un état access, peut-on le programmer avec VBA. Si oui où puis-je
trouver des références ?
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
Tisane
Le #6300951
Bonjour à toi aussi "ProgrammationDonnacona" !!!!!

Dans un état access, peut-on le programmer avec VBA. Si oui où puis-je
trouver des références ?


La réponse ne peut-être que "oui", mais il faudrait que tu précises ce que
tu entends par "programmer un état Access"...
Relis-toi, je ne te trouve pas limpide ;-)

Et si tu dois revenir sur ce forum, je te recommande la lecture suivante...
http://fr.wikipedia.org/wiki/Politesse
--
Tisane

ProgrammationDonnacona
Le #6300941
Je m'excuse si j'ai été offensant. C'est la première fois que je vais sur un
forum de discussion et je ne connais pas la façon de faire. Bonjour à toi.
Voici mon problème, j'ai onze champs à inscrire dans l'état, mais je voudrais
que ce ne soient les champs ayant des données qui apparaissent ex: si les
champs 1, 2, 3, 4, ne contiennent pas de données alors le champ 5 devient le
premier.

Merci à l'avance, et je m'excuse encore une fois.

Bonjour à toi aussi "ProgrammationDonnacona" !!!!!

Dans un état access, peut-on le programmer avec VBA. Si oui où puis-je
trouver des références ?


La réponse ne peut-être que "oui", mais il faudrait que tu précises ce que
tu entends par "programmer un état Access"...
Relis-toi, je ne te trouve pas limpide ;-)

Et si tu dois revenir sur ce forum, je te recommande la lecture suivante...
http://fr.wikipedia.org/wiki/Politesse
--
Tisane





Tisane
Le #6300921
"ProgrammationDonnacona"
Je m'excuse si j'ai été offensant. C'est la première fois que je vais sur
un
forum de discussion et je ne connais pas la façon de faire. Bonjour à toi.


Tu es tout pardonné et bienvenu sur le forum. Il y a un début à tout, mais
ce petit rappel est autant pour toi que pour les lecteurs qui seront un jour
eux aussi "demandeurs".

Voici mon problème, j'ai onze champs à inscrire dans l'état, mais je
voudrais
que ce ne soient les champs ayant des données qui apparaissent ex: si les
champs 1, 2, 3, 4, ne contiennent pas de données alors le champ 5 devient
le
premier.


Je ne suis pas spécialiste VBA, mais je sais que c'est possible et sans
doute pas si compliqué que cela.
Le but de mon intervention était de clarifier la question afin que les
contributeurs programmeurs du forum puissent te répondre facilement.
Je fais appel à eux, mais c'est l'heure de l'apéro ou de la "soupe" ;-)

--
Tisane


Bonjour à toi aussi "ProgrammationDonnacona" !!!!!

Dans un état access, peut-on le programmer avec VBA. Si oui où puis-je
trouver des références ?


La réponse ne peut-être que "oui", mais il faudrait que tu précises ce
que
tu entends par "programmer un état Access"...
Relis-toi, je ne te trouve pas limpide ;-)
--
Tisane





Gilbert
Le #6300821
Bonjour,

Voici ce que j'utilises dans un état où c'est l'utilisateur qui sélectionne
les contrôles à afficher.
Dans l'état tous les contrôles sont positionné à Top=0 et Left=0
J'utilise les variables suivantes
Const Pos0_H = 0
Const Pos0_V = 50
Const Ecart_H = 200
Const Ecart_V = 255
Const Ecart_Etiq = 0
Dim Der_Pos_H As Integer
Dim Der_Pos_V As Integer
Dim Max_Largeur As Integer

et la procédure suivante que j'appelle (depuis la procédure Report_Open)
pour chaque contrôle

Private Sub Positionner(Nom_Controle As String)
Dim strNom As String
strNom = "Imp_Rec_" & Nom_Controle
'Lecture de la table Paramètres pour vérifier s'il faut afficher le contrôle
ou pas
If DLookup("[Imp_Rec_" & Nom_Controle & "]", "Paramètres") = True Then
Me(Nom_Controle).Visible = True
Me(Nom_Controle & "_Etiquette").Visible = True
If (Der_Pos_H + Me(Nom_Controle & "_Etiquette").Width + Ecart_Etiq +
Me(Nom_Controle).Width) > Max_Largeur Then
Der_Pos_H = Pos0_H
Der_Pos_V = Der_Pos_V + Ecart_V
Me.Détail.Height = Me.Détail.Height + Ecart_V
End If
Me(Nom_Controle).Top = Der_Pos_V
Me(Nom_Controle & "_Etiquette").Top = Der_Pos_V
Me(Nom_Controle & "_Etiquette").Left = Der_Pos_H
Me(Nom_Controle).Left = Me(Nom_Controle & "_Etiquette").Left +
Me(Nom_Controle & "_Etiquette").Width + Ecart_Etiq
Me(Nom_Controle).Top = Der_Pos_V
Der_Pos_H = Me(Nom_Controle).Left + Ecart_Etiq + Me(Nom_Controle).Width
+ Ecart_H
End If
End Sub

Cordialement

Gilbert



"ProgrammationDonnacona" a écrit dans le message de
news:
Je m'excuse si j'ai été offensant. C'est la première fois que je vais sur
un

forum de discussion et je ne connais pas la façon de faire. Bonjour à toi.
Voici mon problème, j'ai onze champs à inscrire dans l'état, mais je
voudrais

que ce ne soient les champs ayant des données qui apparaissent ex: si les
champs 1, 2, 3, 4, ne contiennent pas de données alors le champ 5 devient
le

premier.

Merci à l'avance, et je m'excuse encore une fois.

Bonjour à toi aussi "ProgrammationDonnacona" !!!!!

Dans un état access, peut-on le programmer avec VBA. Si oui où puis-je
trouver des références ?


La réponse ne peut-être que "oui", mais il faudrait que tu précises ce
que


tu entends par "programmer un état Access"...
Relis-toi, je ne te trouve pas limpide ;-)

Et si tu dois revenir sur ce forum, je te recommande la lecture
suivante...


http://fr.wikipedia.org/wiki/Politesse
--
Tisane







Gloops
Le #6300711
ProgrammationDonnacona a écrit, le 27/07/2007 20:34 :
Je m'excuse si j'ai été offensant. C'est la première foi s que je vais sur un
forum de discussion et je ne connais pas la façon de faire. Bonjou r à toi.
Voici mon problème, j'ai onze champs à inscrire dans l'é tat, mais je voudrais
que ce ne soient les champs ayant des données qui apparaissent ex: si les
champs 1, 2, 3, 4, ne contiennent pas de données alors le champ 5 devient le
premier.


Salut,

Si j'étais sûr de comprendre la question, il se peut que je pou rrais
proposer une réponse plus simple (il m'arrive pourtant de faire plus
compliqué que les autres ;) )

La programmation VB n'est pas forcément nécessaire dans ce cas, dans les
propriétés du contrôle on trouve de quoi le faire disparaà ®tre (de
l'affichage) si il ne contient rien. Voir auto-réduction, notamment.
Bien entendu, si plusieurs contrôles se trouvent côte-à-cà ´te, ils
doivent tous "s'auto-réduire" pour laisser la place au suivant.

A supposer que j'aie bien compris, et que je me sois bien fait
comprendre ...

Tisane
Le #6300641
Bonjour "Gloops",

Voici mon problème, j'ai onze champs à inscrire dans l'état, mais je
voudrais que ce ne soient les champs ayant des données qui apparaissent
ex: si les champs 1, 2, 3, 4, ne contiennent pas de données alors le
champ 5 devient le premier.



[...]
La programmation VB n'est pas forcément nécessaire dans ce cas, dans les
propriétés du contrôle on trouve de quoi le faire disparaître (de
l'affichage) si il ne contient rien. Voir auto-réduction, notamment. Bien
entendu, si plusieurs contrôles se trouvent côte-à-côte, ils doivent tous
"s'auto-réduire" pour laisser la place au suivant.
A supposer que j'aie bien compris, et que je me sois bien fait comprendre
...


Je crains bien que cela ne résolve pas le problème de notre demandeur, sauf
si ses champs sont disposés uniquement les uns sous les autres, ce qui
serait assez surprenant.
Si tu lis bien son message ci-dessus, il veut que les contrôles renseignés
se mettent à la place de ceux qui ne le sont pas (champ 5 devient le 1er).
Les propriétés Autoréductible et Autoextensible ne fonctionnent qu'à la
verticale (et pas "côte à côte" justement) : un contrôle peut "remonter" si
celui qui est au-dessus est réduit au minimum, mais pas aller à gauche par
exemple.
A mon avis, il va falloir en passer par la réponse de Gilbert, à adapter
sans doute ;-)

--
Tisane


Gloops
Le #6312231
Tisane a écrit, le 29/07/2007 17:24 :
Je crains bien que cela ne résolve pas le problème de notre d emandeur,
sauf si ses champs sont disposés uniquement les uns sous les autre s, ce
qui serait assez surprenant.


Effectivement, il faut moduler.

Si les contrôles 1, 2, 3 et 4 sont vides, alors ils peuvent êtr e côte à
côte, et le 5 placé en-dessous apparaîtra à la place du 1.
En revanche, si dans l'enregistrement suivant le contrôle 3 n'est pa s
vide, alors on aura des blancs à la place des 1, 2 et 4.

On peut détailler un peu plus le cas du sous-formulaire, pour des
étiquettes par exemple, puisque ça s'imprime aussi côte à   côte, mais
j'ai l'impression que ce n'est pas vraiment la question.

C'est vrai que les autoréductibles et autoextensibles supposent une
configuration assez homogène des données qui doivent apparaî tre côte à
côte, notamment quant au nombre de lignes.

A présent, si il faut en faire plus, j'imagine que le demandeur a de
quoi se rendre compte des informations qui peuvent manquer pour un coup
de main.

Publicité
Poster une réponse
Anonyme