OVH Cloud OVH Cloud

recherche d'enregistrement entre 2 formulaires

1 réponse
Avatar
c15
Bonjour à tous et toutes,

J'ai un F adhérents dans lequel j'ai
1 une liste déroulante pour rechercher un adhérent par son nom (par
sélection ou saisie semie-automatique)

***
Private Sub QuelAdherent_Change()
Dim rs As Object
Me.FilterOn = False
Set rs = Me.Recordset.Clone
rs.FindFirst "[N°Adherent] = " & Str(Me![QuelAdherent]) & ""
Me.Bookmark = rs.Bookmark

DoCmd.GoToControl "QuelAdherent"
Forms![F Adhérents]!QuelAdherent = ""
***
cela marche impeccable.

2 un bouton qui me permet d'ouvrir un F Cotisations sur l'enregistrement
sélectionné par ma liste déroulante de mon F Adhérents.
cela marche impeccable.

Dans ce formulaire F Cotisations (filtré), j'ai là aussi une liste
déroulante pour faire une recherche.
Grâce à une contributrice du groupe (Merci Mrs P...) j'ai pu mettre en place
la procédure suivante :

***
Private Sub QuelAdherent_Change()

Dim stDocName As String
Dim stLinkCriteria As String

Me.FilterOn = False
stDocName = "F Adhérents"
stLinkCriteria = "[N°Adherent]=" & Str(Me![QuelAdherent])
DoCmd.OpenForm stDocName, , , stLinkCriteria

Forms![F Cotisations]!QuelAdherent = ""

End Sub
***

Cela me permet de faire une recherche dans ma liste déroulante de F
Cotisations pour réouvrir le F Adhérents sur l'enregistrement sélectionné
dans cette liste déroulante.

Cela marche bien si je sélectionne un nom dans cette liste du F Cotisations.

La saisie semie-automatique fonctionne mal :
avec *** stLinkCriteria = "[N°Adherent]=" & Str(Me![QuelAdherent]) ***
je réouvre le F adhérents sur le 1er enregistrement commençant par la lettre
saisie dans la liste

avec *** stLinkCriteria = "[N°Adherent]=" & Str(Me![QuelAdherent]) &""
***
il y a plantage.

Comment corriger cela pour que donc dans ma liste déroulante de mon F
cotisations je puisse réouvrir mon F adhérents soit par sélection dans cette
liste soit par saisie semi-automatique ?

1 réponse

Avatar
c15
Bonjour à tous et toutes,

J'ai trouvé la solution :

***
Private Sub QuelAdherent_AfterUpdate()
Dim stDocName As String
Dim stLinkCriteria As String

Me.FilterOn = False
stDocName = "F Adhérents"
stLinkCriteria = "[N°Adherent]=" & Str(Me![QuelAdherent])
DoCmd.OpenForm stDocName, , , stLinkCriteria

Forms![F Cotisations]!QuelAdherent = ""
End Sub
***

En fait cette procédure, je l'applique à AfterUpdate() et non Change() et
alors ma sélection marche autant par sélection d'un nom dans la liste que
par saisie semi-automatique (sous réserve dans ce cas de faire "Entrée")

A+

c15



"c15" a écrit dans le message de news:
3f150670$0$9625$
Bonjour à tous et toutes,

J'ai un F adhérents dans lequel j'ai
1 une liste déroulante pour rechercher un adhérent par son nom (par
sélection ou saisie semie-automatique)

***
Private Sub QuelAdherent_Change()
Dim rs As Object
Me.FilterOn = False
Set rs = Me.Recordset.Clone
rs.FindFirst "[N°Adherent] = " & Str(Me![QuelAdherent]) & ""
Me.Bookmark = rs.Bookmark

DoCmd.GoToControl "QuelAdherent"
Forms![F Adhérents]!QuelAdherent = ""
***
cela marche impeccable.

2 un bouton qui me permet d'ouvrir un F Cotisations sur
l'enregistrement

sélectionné par ma liste déroulante de mon F Adhérents.
cela marche impeccable.

Dans ce formulaire F Cotisations (filtré), j'ai là aussi une liste
déroulante pour faire une recherche.
Grâce à une contributrice du groupe (Merci Mrs P...) j'ai pu mettre en
place

la procédure suivante :

***
Private Sub QuelAdherent_Change()

Dim stDocName As String
Dim stLinkCriteria As String

Me.FilterOn = False
stDocName = "F Adhérents"
stLinkCriteria = "[N°Adherent]=" & Str(Me![QuelAdherent])
DoCmd.OpenForm stDocName, , , stLinkCriteria

Forms![F Cotisations]!QuelAdherent = ""

End Sub
***

Cela me permet de faire une recherche dans ma liste déroulante de F
Cotisations pour réouvrir le F Adhérents sur l'enregistrement sélectionné
dans cette liste déroulante.

Cela marche bien si je sélectionne un nom dans cette liste du F
Cotisations.


La saisie semie-automatique fonctionne mal :
avec *** stLinkCriteria = "[N°Adherent]=" & Str(Me![QuelAdherent]) ***
je réouvre le F adhérents sur le 1er enregistrement commençant par la
lettre

saisie dans la liste

avec *** stLinkCriteria = "[N°Adherent]=" & Str(Me![QuelAdherent]) &""
***
il y a plantage.

Comment corriger cela pour que donc dans ma liste déroulante de mon F
cotisations je puisse réouvrir mon F adhérents soit par sélection dans
cette

liste soit par saisie semi-automatique ?