OVH Cloud OVH Cloud

pb deroulement ss-formulaire

5 réponses
Avatar
LR
Bonjour,
Dans un formulaire, j'ai un sous formulaire en mode feuille de données qui
affiche un champ 'nom de communes' et un champ 'selection' qui est une case
associée à chaque nom, que l'on peut cocher (pour sélectionner ou non la
commune).
Il y a bcp de noms, donc le sous formulaire s'affiche en fait comme une zone
de liste, avec un ascenseur vertical. Mon pb est qu'a chaque fois que je
coche une commune, le sous formulaire se remet automatiquement sur le 1er
enregistrement;
Je voudrais qu'il reste à l'endroit où j'ai coché pour éviter d'y revenir
avec l'ascenseur.

Qqun a la solution?
--
merci!

5 réponses

Avatar
J-Pierre
Bonjour,

Est-ce que la case à cocher est un champ de ta table ?
Est-ce que tu fais un requery du sous formulaire après chaque mise à jour ?

J-Pierre

"LR" a écrit dans le message de news:
Bonjour,
Dans un formulaire, j'ai un sous formulaire en mode feuille de données qui
affiche un champ 'nom de communes' et un champ 'selection' qui est une case
associée à chaque nom, que l'on peut cocher (pour sélectionner ou non la
commune).
Il y a bcp de noms, donc le sous formulaire s'affiche en fait comme une zone
de liste, avec un ascenseur vertical. Mon pb est qu'a chaque fois que je
coche une commune, le sous formulaire se remet automatiquement sur le 1er
enregistrement;
Je voudrais qu'il reste à l'endroit où j'ai coché pour éviter d'y revenir
avec l'ascenseur.

Qqun a la solution?
--
merci!


Avatar
LR
Oui la case est un champ de la table (type oui/non).
POur le requery, je pense pas (j'apprends le code un peu sur le tas..), si
c'est pour l'actualisation du ssformulaire, il y a un Me.Refresh, je sais pas
si c'est pareil.

--
merci!



Bonjour,

Est-ce que la case à cocher est un champ de ta table ?
Est-ce que tu fais un requery du sous formulaire après chaque mise à jour ?


Avatar
J-Pierre
Non, ce n'est pas pareil, requery va rechercher les données dans les tables, refresh rafraîchit juste le formulaire (tu sélectionnes
le mot dans ton code VBA puis F1 pour l'aide en ligne) mais ça vient sans doute de là.

Pourquoi utiliser refresh ? Si c'est vraiment nécessaire, il faut sauver le bookmark puis le remettre, je ne me souviens pas du code
exact, si nécessaire, on trouvera, ça a été publié de nombreuses fois.

JP

"LR" a écrit dans le message de news:
Oui la case est un champ de la table (type oui/non).
POur le requery, je pense pas (j'apprends le code un peu sur le tas..), si
c'est pour l'actualisation du ssformulaire, il y a un Me.Refresh, je sais pas
si c'est pareil.

--
merci!



Bonjour,

Est-ce que la case à cocher est un champ de ta table ?
Est-ce que tu fais un requery du sous formulaire après chaque mise à jour ?





Avatar
LR
En fait refresh est utilisé sur le formulaire principal, et aussi dans le
ssformulaire lors de la coche(apres MAJ), car ca permet d'afficher par
ailleurs un récapitulatif de la sélection.
Donc si j'ai bien compris, le code à ajouter serait simplement
Monssformulaire.Requery
mais sur quelle commande?

en tout cas merci, le débutant que je suis progresse...




Non, ce n'est pas pareil, requery va rechercher les données dans les tables, refresh rafraîchit juste le formulaire (tu sélectionnes
le mot dans ton code VBA puis F1 pour l'aide en ligne) mais ça vient sans doute de là.

Pourquoi utiliser refresh ? Si c'est vraiment nécessaire, il faut sauver le bookmark puis le remettre, je ne me souviens pas du code
exact, si nécessaire, on trouvera, ça a été publié de nombreuses fois.

JP

"LR" a écrit dans le message de news:
Oui la case est un champ de la table (type oui/non).
POur le requery, je pense pas (j'apprends le code un peu sur le tas..), si
c'est pour l'actualisation du ssformulaire, il y a un Me.Refresh, je sais pas
si c'est pareil.

--
merci!



Bonjour,

Est-ce que la case à cocher est un champ de ta table ?
Est-ce que tu fais un requery du sous formulaire après chaque mise à jour ?










Avatar
J-Pierre
Bonjour,

Non, Requery est comparable à Refresh, va voir l'aide en ligne.... (tu sélectionnes le mot dans ton code VBA puis F1)

Avant d'exécuter ton refresh, tu dois sauver ton bookmark et le restaurer après pour te repositionner sur la ligne. Je ne suis pas
absolument certain pour le code, si ça ne marche pas, tu reviens râler.

Dim rst As DAO.Recordset
Set rst = Me.RecordsetClone
rst.bookmark = Me.bookmark
...
Me.Refresh
......
Me.bookmark = rst.bookmark
Set rst = Nothing

Depuis ton formulaire principal, il faudra référencer le sous-formulaire
Me.MonSousForm.BookMark

J-Pierre

"LR" a écrit dans le message de news:
En fait refresh est utilisé sur le formulaire principal, et aussi dans le
ssformulaire lors de la coche(apres MAJ), car ca permet d'afficher par
ailleurs un récapitulatif de la sélection.
Donc si j'ai bien compris, le code à ajouter serait simplement
Monssformulaire.Requery
mais sur quelle commande?

en tout cas merci, le débutant que je suis progresse...




Non, ce n'est pas pareil, requery va rechercher les données dans les tables, refresh rafraîchit juste le formulaire (tu
sélectionnes
le mot dans ton code VBA puis F1 pour l'aide en ligne) mais ça vient sans doute de là.

Pourquoi utiliser refresh ? Si c'est vraiment nécessaire, il faut sauver le bookmark puis le remettre, je ne me souviens pas du
code
exact, si nécessaire, on trouvera, ça a été publié de nombreuses fois.

JP

"LR" a écrit dans le message de news:
Oui la case est un champ de la table (type oui/non).
POur le requery, je pense pas (j'apprends le code un peu sur le tas..), si
c'est pour l'actualisation du ssformulaire, il y a un Me.Refresh, je sais pas
si c'est pareil.

--
merci!



Bonjour,

Est-ce que la case à cocher est un champ de ta table ?
Est-ce que tu fais un requery du sous formulaire après chaque mise à jour ?