Formulaire et liste déroulante

caliroussel Messages postés 3 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 8 novembre 2007 - 7 nov. 2007 à 10:59
caliroussel Messages postés 3 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 8 novembre 2007 - 8 nov. 2007 à 08:57
Bonjour à tous,

Je suis une débutante sur Access, mais je fais déjà pas mal de VBA sur Excel.
Mon problème est la création d'une zone de liste déroulante dans un formulaire sur un champ (qui est ma clé primaire) me permettant d'accéder à un enregistrement basé sur la valeur sélectionnée dans la liste déroulante.
C'est la 3° possibilité que me propose l'assistant, formulé ainsi "rechercher un enregistrement dans mon formulaire basé sur la valeur que j'ai sélectionnée dans la liste déroulante" (les 2 autres étant "je veux que la liste déroulante recherche les valeurs dans une table ou une requête" et "je taperai les valeurs souhaitées").
Grâce à l'assistant, je parviens à créer cette liste déroulante. Mais au moment de sélectionner une valeur dans la liste déroulante, un message d'erreur apparaît et en applicant le débogage, je me trouve devant le code suivant (le nom de mon champ est "Numéro projet") :

Private Sub Numéro_projet_AfterUpdate()
    ' Rechercher l'enregistrement correspondant au contrôle.
    Dim rs As Object


    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Numéro projet] = '" & Me![Numéro projet] & "'"
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub

Le débogage se bloque sur "Me.Bookmark = rs.Bookmark".
Que signifie cette erreur ? Pouvez-vous m'aider ?
Merci d'avance pour votre aide.

Cali

5 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
7 nov. 2007 à 11:46
Salut,

C'est quoi la définition de l'erreur ?
Que représente sur ton formulaire : Me.Bookmark ?
Que représente dans ta base : rs.Bookmark?

Essaye cela défois que :

Private Sub Numéro_projet_AfterUpdate()
    ' Rechercher l'enregistrement correspondant au contrôle.
    Dim rs As Object
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Numéro projet] = '" & Me![Numéro projet] & "'"
    If Not rs.Fields("[Numéro projet]") Then Me.Bookmark = rs.Bookmark
End Sub

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
caliroussel Messages postés 3 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 8 novembre 2007
7 nov. 2007 à 18:14
Bonjour Exploreur,

Merci pour ton aide.
La réponse à tes questions est : je n'en sais rien !!! Je ne sais pas ce qu'est Me.Bookmark ni rs.Bookmark !!! Je n'ai pas rédigé ce code, il s'est généré automatiquement au moment de la création de la zone de liste modifiable. C'est au moment de choisir une valeur dans la zone de liste qu'est apparu le message d'erreur pour le débogage !!

Cali
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
7 nov. 2007 à 20:19
Ah...Bon...Je suis autant mal "barré" que toi !!

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
7 nov. 2007 à 20:21
Ceci-dit, si ce que j'ai dit(et je pense que OUI), ne répond pas à ton problème ne valide par ma réponse...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
caliroussel Messages postés 3 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 8 novembre 2007
8 nov. 2007 à 08:57
Effectivement, j'ai accepté trop vite, ta réponse ne marche pas !!
C'est pas grave, je me débrouillerai autrement.
Merci quand même d'avoir répondu aussi vite !!

A+

Cali
0
Rejoignez-nous