OVH Cloud OVH Cloud

atteindre un enregistrement

4 réponses
Avatar
didier
Bonjour

J'ai un formulaire et sur le double clic d'un controle je=20
viens ouvrir un autre formulaire continu et je voudrait=20
que mon curseur se place sur l'enregistrement contenant=20
la valeur de mon controle. Par contre je veut garder dans=20
ce formulmaire tous les enregistrements. Je veut pas=20
ouvrir mon form avec une condition where
Je veut simplement aller me positionner dans le tableau=20
sur l'enregistrement et le controle correspondant =E0 la=20
valeur de mon 1er formulaire

ai-je =E9t=E9 clair?=20

4 réponses

Avatar
Patrick Fredin
Bonjour,

Dans le 1er formulaire, tu ouvres le second avec un argument (OpenArg). Dans
l'événement d'ouverture du 2e, tu utilises cet argument de la façon suivante
(tu l'adapteras à ta situation).

Dim daoRS As DAO.Recordset

Set daoRS = Me.RecordsetClone
daoRS.FindFirst "[aCode] = " & Me.OpenArgs
If Not daoRS.EOF Then Me.Bookmark = daoRS.Bookmark


--
Patrick

"didier" wrote in message
news:2a0801c4bddd$325a3050$
Bonjour

J'ai un formulaire et sur le double clic d'un controle je
viens ouvrir un autre formulaire continu et je voudrait
que mon curseur se place sur l'enregistrement contenant
la valeur de mon controle. Par contre je veut garder dans
ce formulmaire tous les enregistrements. Je veut pas
ouvrir mon form avec une condition where
Je veut simplement aller me positionner dans le tableau
sur l'enregistrement et le controle correspondant à la
valeur de mon 1er formulaire

ai-je été clair?
Avatar
didier
Bonjour
Alors voilà ce que j'ai fait
1 formulaire
DoCmd.OpenForm "Form2", , , , acFormReadOnly, , " &
Me.monctrl & "
sur ouverture de mon 2eme formulaire

Private Sub Form_Open(Cancel As Integer)
Dim daoRS As DAO.Recordset
Set daoRS = Me.RecordsetClone
daoRS.FindFirst "[ctrl2] = '" & Me.OpenArgs & "'"
If Not daoRS.EOF Then
Me.Bookmark = daoRS.Bookmark
End If
End Sub
Mais il plante access quand je veut compiler, j'ai du
faire une erreur quelque part


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

Dans le 1er formulaire, tu ouvres le second avec un
argument (OpenArg). Dans

l'événement d'ouverture du 2e, tu utilises cet argument
de la façon suivante

(tu l'adapteras à ta situation).

Dim daoRS As DAO.Recordset

Set daoRS = Me.RecordsetClone
daoRS.FindFirst "[aCode] = " & Me.OpenArgs
If Not daoRS.EOF Then Me.Bookmark = daoRS.Bookmark


--
Patrick

"didier" wrote in
message

news:2a0801c4bddd$325a3050$
Bonjour

J'ai un formulaire et sur le double clic d'un controle je
viens ouvrir un autre formulaire continu et je voudrait
que mon curseur se place sur l'enregistrement contenant
la valeur de mon controle. Par contre je veut garder dans
ce formulmaire tous les enregistrements. Je veut pas
ouvrir mon form avec une condition where
Je veut simplement aller me positionner dans le tableau
sur l'enregistrement et le controle correspondant à la
valeur de mon 1er formulaire

ai-je été clair?



.



Avatar
Raymond [mvp]
Bonsoir.

essaie avec ceci, ça devrait aller.
Sur le Form1:
DoCmd.OpenForm "Form2", , , , acFormReadOnly, , Me.monctrl

Sur le Form2:
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[ctrl2] = '" & Nz(Me.OpenArgs, "") & "'"
If Not Rs.EOF Then Me.Bookmark = Rs.Bookmark

si tu es en access97, il faut mettre Me.RecordsetClone au lieu de
Me.Recordset.Clone
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"didier" a écrit dans le message de
news: 059301c4bdf3$56251570$
Bonjour
Alors voilà ce que j'ai fait
1 formulaire
DoCmd.OpenForm "Form2", , , , acFormReadOnly, , " &
Me.monctrl & "
sur ouverture de mon 2eme formulaire

Private Sub Form_Open(Cancel As Integer)
Dim daoRS As DAO.Recordset
Set daoRS = Me.RecordsetClone
daoRS.FindFirst "[ctrl2] = '" & Me.OpenArgs & "'"
If Not daoRS.EOF Then
Me.Bookmark = daoRS.Bookmark
End If
End Sub
Mais il plante access quand je veut compiler, j'ai du
faire une erreur quelque part
Avatar
didier
Bonjour

Encore un coup de maitre!!
ça marcher
Merci

-----Message d'origine-----
Bonsoir.

essaie avec ceci, ça devrait aller.
Sur le Form1:
DoCmd.OpenForm "Form2", , , , acFormReadOnly, ,
Me.monctrl


Sur le Form2:
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[ctrl2] = '" & Nz(Me.OpenArgs, "")
& "'"

If Not Rs.EOF Then Me.Bookmark = Rs.Bookmark

si tu es en access97, il faut mettre Me.RecordsetClone
au lieu de

Me.Recordset.Clone
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"didier" a écrit
dans le message de

news: 059301c4bdf3$56251570$
Bonjour
Alors voilà ce que j'ai fait
1 formulaire
DoCmd.OpenForm "Form2", , , , acFormReadOnly, , " &
Me.monctrl & "
sur ouverture de mon 2eme formulaire

Private Sub Form_Open(Cancel As Integer)
Dim daoRS As DAO.Recordset
Set daoRS = Me.RecordsetClone
daoRS.FindFirst "[ctrl2] = '" & Me.OpenArgs & "'"
If Not daoRS.EOF Then
Me.Bookmark = daoRS.Bookmark
End If
End Sub
Mais il plante access quand je veut compiler, j'ai du
faire une erreur quelque part



.