Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

recherche d'un record dans une liste

2 réponses
Avatar
fth
Bonjour,

Vous trouverez ci-dessous le bout de code qui me permet de passer d'une Form
( en mode Fiche) à l'autre ( en mode datasheet) et en pointant sur un record
défini.

J'ai déjà utilisé cette methode et le champ de référence était un nombre.
Dans le cas présent, le champ de référence est le numéro de série de la
machine donc avec lettre et chiffre.

Le document en cours lors du double click se ferme bien, la nouvelle Form
s'ouvre bien puis ça calle tout le temps dans la partie .FindFirst... et le
message d'erreur signale que la procédure ne trouve pas de champ ou de
données correspondant...


ça m'agace, mais ça m'agace !!!

Ou me plantes-je?

D'avance merci

Frédéric
Private Function FromFichToListCtrt()

Dim rst As DAO.Recordset
Dim MySrvSerial As Variant


' recup de l'enregistrement en cours
MySrvSerial = Me.SrvSerial

' Fermeture du formulaire en cours
DoCmd.Close

' ouverture du formulaire mode liste
DoCmd.OpenForm "ListCtrt", acFormDS
DoCmd.ShowAllRecords

With Forms!ListCtrt.RecordsetClone
.FindFirst "[SrvSerial]=" & MySrvSerial
If .NoMatch = False Then Forms!ListCtrt.Bookmark =
.Bookmark
DoCmd.RunCommand acCmdSelectRecord
.Close
End With

Set rst = Nothing

'DoCmd.Echo = True

End Function

2 réponses

Avatar
Eric
Bonjour,

J'ai survolé côté lecture.
Si SrvSerial est de type Text, il est préférable de déclarer MySrvSerial
as String.
Je mettrai :
.FindFirst "[SrvSerial]='" & MySrvSerial & "'"


Bonjour,

Vous trouverez ci-dessous le bout de code qui me permet de passer d'une Form
( en mode Fiche) à l'autre ( en mode datasheet) et en pointant sur un record
défini.

J'ai déjà utilisé cette methode et le champ de référence était un nombre.
Dans le cas présent, le champ de référence est le numéro de série de la
machine donc avec lettre et chiffre.

Le document en cours lors du double click se ferme bien, la nouvelle Form
s'ouvre bien puis ça calle tout le temps dans la partie .FindFirst... et le
message d'erreur signale que la procédure ne trouve pas de champ ou de
données correspondant...


ça m'agace, mais ça m'agace !!!

Ou me plantes-je?

D'avance merci

Frédéric
Private Function FromFichToListCtrt()

Dim rst As DAO.Recordset
Dim MySrvSerial As Variant


' recup de l'enregistrement en cours
MySrvSerial = Me.SrvSerial

' Fermeture du formulaire en cours
DoCmd.Close

' ouverture du formulaire mode liste
DoCmd.OpenForm "ListCtrt", acFormDS
DoCmd.ShowAllRecords

With Forms!ListCtrt.RecordsetClone
.FindFirst "[SrvSerial]=" & MySrvSerial
If .NoMatch = False Then Forms!ListCtrt.Bookmark =
.Bookmark
DoCmd.RunCommand acCmdSelectRecord
.Close
End With

Set rst = Nothing

'DoCmd.Echo = True

End Function


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
fth
Merci
ça marche au poil ;-)
Frédéric

"Eric" wrote in message
news:%
Bonjour,

J'ai survolé côté lecture.
Si SrvSerial est de type Text, il est préférable de déclarer MySrvSerial
as String.
Je mettrai :
.FindFirst "[SrvSerial]='" & MySrvSerial & "'"


Bonjour,

Vous trouverez ci-dessous le bout de code qui me permet de passer d'une
Form ( en mode Fiche) à l'autre ( en mode datasheet) et en pointant sur
un record défini.

J'ai déjà utilisé cette methode et le champ de référence était un nombre.
Dans le cas présent, le champ de référence est le numéro de série de la
machine donc avec lettre et chiffre.

Le document en cours lors du double click se ferme bien, la nouvelle Form
s'ouvre bien puis ça calle tout le temps dans la partie .FindFirst... et
le message d'erreur signale que la procédure ne trouve pas de champ ou de
données correspondant...


ça m'agace, mais ça m'agace !!!

Ou me plantes-je?

D'avance merci

Frédéric
Private Function FromFichToListCtrt()

Dim rst As DAO.Recordset
Dim MySrvSerial As Variant

' recup de l'enregistrement en cours
MySrvSerial = Me.SrvSerial
' Fermeture du formulaire en cours
DoCmd.Close
' ouverture du formulaire mode liste
DoCmd.OpenForm "ListCtrt", acFormDS
DoCmd.ShowAllRecords
With Forms!ListCtrt.RecordsetClone
.FindFirst "[SrvSerial]=" & MySrvSerial
If .NoMatch = False Then Forms!ListCtrt.Bookmark =
.Bookmark
DoCmd.RunCommand acCmdSelectRecord
.Close
End With
Set rst = Nothing
'DoCmd.Echo = True

End Function


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr