OVH Cloud OVH Cloud

Evénements sur formulaire

13 réponses
Avatar
cyberjc
Bonjour,

A l'ouverture d'un formulaire, je teste si il y a des enregistrements dans
ma requête source, si c'est le cas je mets le focus sur le selecteur de la 1
ère ligne (RunCommand acCmdSelectRecord) je sais que ça marche mais sur
"Load" de mon form, visiblement c'est trop tôt. Je ne sais pas sur quel
événement associer cette commande (ou après quel test) Merci

10 réponses

1 2
Avatar
didier
Bonjour

Essais peut-être sur activé puisque c'est le dernier
évenement avant activation
-----Message d'origine-----
Bonjour,

A l'ouverture d'un formulaire, je teste si il y a des
enregistrements dans

ma requête source, si c'est le cas je mets le focus sur
le selecteur de la 1

ère ligne (RunCommand acCmdSelectRecord) je sais que
ça marche mais sur

"Load" de mon form, visiblement c'est trop tôt. Je ne
sais pas sur quel

événement associer cette commande (ou après quel
test) Merci

.



Avatar
Guile
SAlut,
J utilise ce code a l ouverture de mon formulaire:

Dim Rs As DAO.Recordset
Set Rs = Me.Recordset
If Rs.BOF Then Exit Sub
Rs.MoveFirst


-----Message d'origine-----
Bonjour,

A l'ouverture d'un formulaire, je teste si il y a des
enregistrements dans

ma requête source, si c'est le cas je mets le focus sur
le selecteur de la 1

ère ligne (RunCommand acCmdSelectRecord) je sais que
ça marche mais sur

"Load" de mon form, visiblement c'est trop tôt. Je ne
sais pas sur quel

événement associer cette commande (ou après quel
test) Merci

.



Avatar
Raymond [mvp]
Bonjour.

fais ceci:
Private Sub Form_Load()
on error resume next
DoCmd.GoToRecord , , acLast
DoCmd.GoToRecord , , acFirst
MsgBox Me.RecordsetClone.RecordCount
End Sub

si ton RecordsetClone.RecordCount = 0 tu seras positionné sur un nouvel
enregistrement.
ensuite supprime le msgbox

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
Bonjour,

A l'ouverture d'un formulaire, je teste si il y a des enregistrements dans
ma requête source, si c'est le cas je mets le focus sur le selecteur de la
1
ère ligne (RunCommand acCmdSelectRecord) je sais que ça marche mais sur
"Load" de mon form, visiblement c'est trop tôt. Je ne sais pas sur quel
événement associer cette commande (ou après quel test) Merci


Avatar
cyberjc
Apparement aucune solution ne fonctionne car le formulaire est en cours de
"maximisation" (indépendament de la valeur du recordset)


Bonjour.

fais ceci:
Private Sub Form_Load()
on error resume next
DoCmd.GoToRecord , , acLast
DoCmd.GoToRecord , , acFirst
MsgBox Me.RecordsetClone.RecordCount
End Sub

si ton RecordsetClone.RecordCount = 0 tu seras positionné sur un nouvel
enregistrement.
ensuite supprime le msgbox

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
Bonjour,

A l'ouverture d'un formulaire, je teste si il y a des enregistrements dans
ma requête source, si c'est le cas je mets le focus sur le selecteur de la
1
ère ligne (RunCommand acCmdSelectRecord) je sais que ça marche mais sur
"Load" de mon form, visiblement c'est trop tôt. Je ne sais pas sur quel
événement associer cette commande (ou après quel test) Merci







Avatar
Raymond [mvp]
Tu m'étonnes, ces fonctions sont indépendantes de la maximisation du
formulaire.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
Apparement aucune solution ne fonctionne car le formulaire est en cours de
"maximisation" (indépendament de la valeur du recordset)


Bonjour.

fais ceci:
Private Sub Form_Load()
on error resume next
DoCmd.GoToRecord , , acLast
DoCmd.GoToRecord , , acFirst
MsgBox Me.RecordsetClone.RecordCount
End Sub

si ton RecordsetClone.RecordCount = 0 tu seras positionné sur un nouvel
enregistrement.
ensuite supprime le msgbox

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
Bonjour,

A l'ouverture d'un formulaire, je teste si il y a des enregistrements
dans
ma requête source, si c'est le cas je mets le focus sur le selecteur de
la
1
ère ligne (RunCommand acCmdSelectRecord) je sais que ça marche mais sur
"Load" de mon form, visiblement c'est trop tôt. Je ne sais pas sur quel
événement associer cette commande (ou après quel test) Merci









Avatar
cyberjc
Merci Raymond mais peut-être que je me suis mal exprimé, ces fonctions
fonctionnent correctement (et par exemple la msgbox affiche bien le nb total
d'enregistrements) mais à ce moment là, si dans mon code j'ai (comme je
voudrai) "RunCommand acCmdSelectRecord" j'ai la réponse que cette commande
n'est pas disponible pour le moment ?? Voilà, d'ou mon pb


Tu m'étonnes, ces fonctions sont indépendantes de la maximisation du
formulaire.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
Apparement aucune solution ne fonctionne car le formulaire est en cours de
"maximisation" (indépendament de la valeur du recordset)


Bonjour.

fais ceci:
Private Sub Form_Load()
on error resume next
DoCmd.GoToRecord , , acLast
DoCmd.GoToRecord , , acFirst
MsgBox Me.RecordsetClone.RecordCount
End Sub

si ton RecordsetClone.RecordCount = 0 tu seras positionné sur un nouvel
enregistrement.
ensuite supprime le msgbox

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
Bonjour,

A l'ouverture d'un formulaire, je teste si il y a des enregistrements
dans
ma requête source, si c'est le cas je mets le focus sur le selecteur de
la
1
ère ligne (RunCommand acCmdSelectRecord) je sais que ça marche mais sur
"Load" de mon form, visiblement c'est trop tôt. Je ne sais pas sur quel
événement associer cette commande (ou après quel test) Merci














Avatar
Raymond [mvp]
tu n'as pas besoin du selectrecord pour te positionner sur le premier
enregistrement car le first le fait avant.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
Merci Raymond mais peut-être que je me suis mal exprimé, ces fonctions
fonctionnent correctement (et par exemple la msgbox affiche bien le nb
total
d'enregistrements) mais à ce moment là, si dans mon code j'ai (comme je
voudrai) "RunCommand acCmdSelectRecord" j'ai la réponse que cette commande
n'est pas disponible pour le moment ?? Voilà, d'ou mon pb



Avatar
cyberjc
C'est que cette commande me sert à mettre le focus sur le selector (ce dont
j'ai besoin) alors que de me positionner sur le premier enregistrement ne me
donne pas ça ;-)

Pendant que je te tiens, je viens d'aller voir :

http://officesystem.access.free.fr/souris.htm

et je ne comprends pas ce que je dois faire de :

"Private WithEvents clsMouseWheel As RS_MouseWheel.CMouseWheel"

??


tu n'as pas besoin du selectrecord pour te positionner sur le premier
enregistrement car le first le fait avant.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
Merci Raymond mais peut-être que je me suis mal exprimé, ces fonctions
fonctionnent correctement (et par exemple la msgbox affiche bien le nb
total
d'enregistrements) mais à ce moment là, si dans mon code j'ai (comme je
voudrai) "RunCommand acCmdSelectRecord" j'ai la réponse que cette commande
n'est pas disponible pour le moment ?? Voilà, d'ou mon pb









Avatar
Raymond [mvp]
"Private WithEvents clsMouseWheel As RS_MouseWheel.CMouseWheel"


tu le places dans les déclaratives en haut :
Option Compare Database
Option Explicit
Private WithEvents clsMouseWheel As RS_MouseWheel.CMouseWheel

je regarde pour ton focus.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
C'est que cette commande me sert à mettre le focus sur le selector (ce
dont
j'ai besoin) alors que de me positionner sur le premier enregistrement ne
me
donne pas ça ;-)

Pendant que je te tiens, je viens d'aller voir :

http://officesystem.access.free.fr/souris.htm

et je ne comprends pas ce que je dois faire de :

"Private WithEvents clsMouseWheel As RS_MouseWheel.CMouseWheel"


Avatar
cyberjc
Merci Raymond, j'avais juste oublié de cocher la bonne référence !!


"Private WithEvents clsMouseWheel As RS_MouseWheel.CMouseWheel"


tu le places dans les déclaratives en haut :
Option Compare Database
Option Explicit
Private WithEvents clsMouseWheel As RS_MouseWheel.CMouseWheel

je regarde pour ton focus.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
C'est que cette commande me sert à mettre le focus sur le selector (ce
dont
j'ai besoin) alors que de me positionner sur le premier enregistrement ne
me
donne pas ça ;-)

Pendant que je te tiens, je viens d'aller voir :

http://officesystem.access.free.fr/souris.htm

et je ne comprends pas ce que je dois faire de :

"Private WithEvents clsMouseWheel As RS_MouseWheel.CMouseWheel"







1 2